OpenAI
此頁面由機器翻譯。查看原文英文文章

OpenAI 雙向 TLS Beta 計劃

更新日期:4 days ago

OpenAI Mutual TLS 允許機構為其 OpenAI API 流量設定額外一層安全保障。設定完成後,API 請求應傳送至 https://mtls.api.openai.com(EU 資料駐留客戶則使用 https://mtls-eu.api.openai.com),且只有在提供正確 API 金鑰和用戶端憑證時,流量才會被接受。mTLS 不適用於 https://platform.openai.com 儀表板。此功能目前處於 beta 階段。

如何設定 mTLS 整合?

在設定導覽列上,你會看到「相互 TLS」分頁。

Mutual TLS settings page prompting the user to upload a client certificate to enable mTLS

上載憑證

Upload a certificate dialog for mutual TLS with name field and PEM certificate text area

啟用憑證

上載憑證後,下一步是啟用你的憑證。憑證一經為某個專案啟用,所有傳送至該專案的 API 請求亦會開始要求相應的用戶端憑證。如果某個專案已啟用多張憑證,你可以傳入任何相應的用戶端憑證。如果憑證已為機構啟用,它將套用至所有 API 請求,並由所有專案「繼承」。

Image

CA 憑證要求

你可以上載任何符合以下要求的 PEM 格式 X.509 CA 憑證:

  1. 直接簽署你打算使用的用戶端憑證,或作為你用戶端所提交有效憑證鏈的信任錨點。

  2. 具備 Certificate AuthoritySubject Key IdentifierAuthority Key Identifier(KeyIdentifier 格式)擴充功能

  3. 具備 Key Usage:「Certificate Sign, CRL Sign」權限

  4. 不會在 1 日內到期

  5. 憑證總大小必須小於 16kb。

用戶端憑證要求

如果你的組織已啟用憑證鏈支援,你的用戶端可以提交葉用戶端憑證,以及用於建立至有效已上載憑證之有效鏈所需的中繼憑證。否則,用戶端憑證必須由你預先上載的憑證直接簽署。除此之外,你的用戶端憑證必須符合以下要求:

  1. 具備 Subject Key IdentifierAuthority Key Identifier 擴充功能(KeyIdentifier 格式)

  2. 具備 Key Usage:「Digital Signature, Key Encipherment」權限

  3. 具備 Extended Key Usage:「TLS Web Client Authentication」權限

  4. 具備 Subject Alternate Name 擴充功能

API mTLS 的憑證鏈支援

憑證鏈支援允許你的用戶端提交葉用戶端憑證,以及用於建立至有效已上載憑證之有效鏈所需的中繼憑證。

只要作為信任錨點的有效已上載憑證仍然有效,你便可輪換中繼憑證,而無需上載每個新的中繼憑證。

憑證鏈支援目前可按申請提供。請聯絡你的客戶總監,或提交支援工單以申請存取權。

你的用戶端必須提交所有必需的中繼憑證。OpenAI 不會透過 AIA 擷取缺失的中繼憑證。CRL 及 OCSP 檢查仍不受支援。

常見問題

我可以透過 API 設定 mTLS 嗎?

可以——你可以在 https://platform.openai.com/docs/api-reference/ 查看 API 參考以了解更多資訊。

哪些端點支援 mTLS?

在此 beta 期間,mTLS 正式支援以下端點:

  • /v1/chat/completions (with all supported extensions e.g. image, audio, streaming, etc.)

  • /v1/completions

  • /v1/embeddings

  • /v1/audio/transcriptions

  • /v1/audio/speech

  • /v1/files

  • /v1/batches

  • /v1/responses

  • /v1/images

  • /v1/moderations

  • /v1/realtime (via server-side web sockets)

  • /v1/fine_tuning

  • /v1/tunnels

如何在請求中傳送用戶端憑證?

如使用 cURL 請求,你可以使用 --cert 及 --key 選項(請參閱此處的 man page)。大多數其他 HTTP 用戶端亦有方法傳遞用戶端憑證。例子:Python 中的 requests、JavaScript 中的 fetch。透過我們的官方 SDK,你亦可覆寫 HTTP 用戶端;Python 範例請參閱此處

啟用憑證鏈支援後,請設定你的 HTTP 用戶端,以提交葉用戶端憑證及所有必需的中繼憑證。實際設定取決於你的 HTTP 用戶端。

在對生產流量強制執行 mTLS 前,請確保你使用的 HTTP 用戶端能妥善處理用戶端憑證請求(部分用戶端無法做到,例如某些瀏覽器中的 WebSockets)。請注意,我們的伺服器不會在用戶端憑證請求中提供 certificate_authorities 清單

誰可以存取和修改憑證?

透過 https://platform.openai.com/settings/organization/mtls 儀表板 UI,機構擁有者可以存取和修改憑證。任何持有 Admin API Key(https://platform.openai.com/settings/organization/admin-keys)的人亦可存取/修改憑證;但請注意——如果你在機構層級啟用 Mutual TLS,這些 API 請求亦會被強制要求使用憑證。所有 mTLS 變更都可在稽核記錄中看到。

我可以擁有多少張憑證?

每個機構最多可上載 50 張憑證,這些憑證可在多個專案之間共用,但不可與其他機構共用。你可以一次以原子方式為 10 個專案啟用/停用一張憑證。或者,你可以一次為機構或 1 個特定專案啟用/停用 10 張憑證。

我可以更新或刪除憑證嗎?

你可以更新憑證的名稱,但不能更新其內容。如果憑證目前未在任何範圍啟用,你亦可以刪除它們。

憑證撤銷如何運作?

目前,我們不支援 CRL 或 OCSP 檢查。建議的替代做法是刪除或輪換你的 API key。你亦可更換 CA 憑證,或使用有效期較短的用戶端憑證。

我可以使用較長的憑證鏈嗎?

可以,前提是你的組織已啟用憑證鏈支援。你的用戶端必須提交葉用戶端憑證及任何必需的中繼憑證,以便 OpenAI 可將該鏈驗證至有效的已上載憑證。請聯絡你的客戶總監,或提交支援工單以申請存取權。

建議的設定是甚麼?

首次設定此功能時,我們建議先從不處理正式生產流量的預備專案開始。請藉此機會確認你的憑證已在機器上正確設定,並且你可以成功傳送 API 流量。除此之外,我們建議你諮詢機構的安全團隊,以最準確了解你的需求。

額外支援

你可以透過儀表板和 API 完全自助使用 mTLS 功能。不過,如果你想先以影子模式啟用 mTLS,請聯絡你的客戶總監,或在此頁面右下角開始新對話以提交支援工單。

附錄:術語

  • CA 憑證:你信任的憑證之一,用於驗證用戶端憑證。它可直接簽署你隨請求傳送的用戶端憑證,或作為你用戶端所提交憑證鏈的信任錨點。你可以使用自簽 CA 憑證。

  • 上載憑證:將 CA 憑證加入你的帳戶。它尚未在任何位置強制用於 mTLS,但你可以開始設定。

  • 範圍:特定專案或你的整個組織。

  • 在某範圍啟用 CA 憑證:為該特定範圍啟用 mTLS,而所有以 API key 發出的請求均必須包含可依據有效 CA 憑證驗證的用戶端憑證。

  • 在某範圍停用 CA 憑證:停用以此憑證驗證該範圍內請求的用途。如果該範圍內沒有剩餘憑證,mTLS 實際上便會關閉。

  • 繼承憑證:如果你為組織啟用某憑證,該憑證亦會為所有專案啟用。

這篇文章對你有幫助嗎?