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

OpenAI 雙向 TLS Beta 計劃

更新日期:yesterday

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 嗎?

可以——你可以在 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、js 中的 fetch。透過我們的官方 SDK,我們亦支援覆寫 HTTP 用戶端——請參閱此處的 Python 範例。

在對生產流量強制執行 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 stapling。建議的替代方法是刪除或輪換你的 API 金鑰。你亦可以更換 CA 憑證,或使用有效期較短的用戶端憑證。

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

目前,我們只支援單層鏈——即你的 CA 憑證應直接簽署你的用戶端憑證。如有其他問題,請聯絡你的客戶總監。

建議的設定是甚麼?

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

額外支援

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

附錄:術語

  • CA 憑證:你的受信任憑證之一,已直接簽署你將隨請求傳送的用戶端憑證。你可以使用自我簽署的 CA 憑證。

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

  • 範圍:特定專案或你的整個機構。

  • 在某個範圍啟用 CA 憑證:專門為該範圍啟用 mTLS,所有基於 API 金鑰的請求都需要提供由該 CA 憑證簽署的用戶端憑證。

  • 在某個範圍停用 CA 憑證:停用在此範圍使用此憑證驗證請求。如果該範圍沒有剩餘任何憑證,mTLS 實際上會被關閉。

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

這篇文章對你有幫助嗎?