1. 總是為你的帳戶中的每位團隊成員使用獨特的 API 金鑰。
API 金鑰是一個獨特的代碼,用來識別你對 API 的要求。你的 API 金鑰供你使用。分享 API 金鑰是違反使用條款的行為。
當你開始嘗試時,你可能會想將 API 存取權限擴展到你的團隊。OpenAI 不支援分享 API 金鑰。請從成員頁面邀請新成員加入你的帳戶,他們在登入後會迅速收到自己獨特的金鑰。你也可以指派權限給個別的 API 金鑰。
2. 建立具有到期日的 API 金鑰,並建立金鑰更換流程
專案金鑰可設定到期日,超過該日期後,來自這些金鑰的任何要求都會遭到拒絕。我們強烈建議建立設有到期日的金鑰,並制定定期金鑰輪替流程。在金鑰到期前,請建立替代金鑰、更新應用程式以使用該金鑰,並在確認替代金鑰可正常運作後撤銷舊金鑰。 這些做法可大幅降低 API 金鑰外洩所造成的影響。
管理員可以在 平台設定中,於組織或專案層級強制設定 API 金鑰的最長有效期限。 新金鑰必須在允許的限制範圍內設定,以避免無限期有效。專案上限不得超過組織上限。
對於支援的工作負載,請使用工作負載身分聯合,而不是儲存長期有效的 OpenAI API 金鑰。你的工作負載會將來自可信任提供者的身分與有效期較短的 OpenAI 存取權杖進行交換。請配置一個專用的服務帳戶,僅授予工作負載所需的權限。
3. 切勿在用戶端環境中部署你的金鑰,例如瀏覽器或行動應用程式。
在用戶端環境(如瀏覽器或行動應用程式)中暴露你的 OpenAI API 金鑰,可能會讓惡意使用者盜用該金鑰並以你的名義發出請求,這可能導致意外的費用或某些帳戶資料的洩露。請求應該始終通過你自己的後端伺服器進行路由,以確保你的 API 金鑰安全。
4. 絕不要將你的金鑰提交到程式碼庫
將 API 金鑰提交到原始碼是一個常見的憑證洩露途徑。對於擁有公共儲存庫的人來說,這是你可能在不知不覺中將金鑰與網路分享的常見方式。私人儲存庫更安全,但資料洩漏也可能導致你的密鑰被洩露。基於這些原因,我們強烈建議使用環境變數作為主動的關鍵安全措施。
5. 使用環境變數來取代你的 API 金鑰
環境變數是在操作系統上設定的變數,而不是在你的應用程式內設定的變數。它由名稱和值組成。我們建議你將變數的名稱設為 OPENAI_API_KEY。透過在團隊中保持此變數名稱的一致性,你可以提交和分享程式碼,而不必擔心洩露 API 金鑰。Windows 設定
選項 1: 通過 cmd 提示詞設定你的 ‘OPENAI_API_KEY’ 環境變數
在 cmd 提示詞中執行以下內容,並將 <yourkey> 替換為你的 API 金鑰:
setx OPENAI_API_KEY 「<yourkey>」這將適用於未來的 cmd 提示詞視窗,因此你必須開啟一個新的視窗來使用該變數與 curl。你可以開啟新的 cmd 提示詞視窗並輸入來驗證此變數是否已設定
echo %OPENAI_API_KEY%選項 2:透過控制面板設定你的「OPENAI_API_KEY」環境變數
開啟系統屬性,然後選擇進階系統設定
選取環境變數...
在使用者變數區段 (頂部) 中選取新增…。新增你的名稱/鍵值對,將 <yourkey> 替換為你的 API 金鑰。
變數名稱:OPENAI_API_KEY
變數值:<yourkey>Linux / macOS 設定
選項 1: 使用 zsh 設定你的「OPENAI_API_KEY」環境變數
在終端機中執行以下命令,將 yourkey 替換為你的 API 金鑰。
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc使用新變數更新 shell:
source ~/.zshrc確認你已使用以下命令設置環境變數。
echo $OPENAI_API_KEY你的 API 金鑰的值將是最終輸出。選項 2: 使用 bash 設定你的「OPENAI_API_KEY」環境變數
請依照選項 1 的說明,並替換 .zshrc與 .bash_profile.你已經準備好了!你現在可以在 curl 中引用該密鑰,或在 Python 中載入它:
import os
import openai
openai.api_key= os.environ["OPENAI_API_KEY"]6. 使用金鑰管理服務
有多種產品可用於安全地管理秘密 API 金鑰。這些工具讓你可以控制金鑰的存取,並提升整體資料安全性。如果你的應用程式發生資料外洩事件,你的金鑰不會被洩露,因為它們會被加密並在完全獨立的位置進行管理。
對於將應用程式部署到生產環境的團隊,我們建議你考慮這些服務之一。
7. 監控你的帳戶使用情況,並在需要時輪替金鑰
為你的組織或專案設定每月支出上限,並啟用嚴格執行措施,以協助限制因金鑰外洩而產生的意外成本。僅靠支出警報無法封鎖 API 流量。嚴格的執法可能會阻止合法的請求,並且由於執法不是即時的,消費可能會略微超過限制。
遭到竊用的 API 金鑰會讓他人在未經你同意的情況下存取你的帳戶配額。這可能會導致資料遺失、意外收費、每月配額的耗盡,以及 API 存取的中斷。
你的團隊使用情況可以透過使用情況頁面追蹤。如果你對濫用有任何疑慮,可以採取以下幾個動作來保護你的帳戶:
檢視你的使用情況,看看是否與團隊的工作一致。對於屬於多個組織的使用者(例如,(企業和個人),確保使用者已啟用追蹤功能,並設定其預設的組織以便使用和追蹤。
如果你認為你的金鑰已洩露,請立即從API 金鑰頁面更換你的金鑰。對於在正式環境中使用應用程式的客戶,你需要相應地更新你的金鑰值。
透過 help.openai.com 聯絡我們以進一步調查。
8. 透過網路控制保護 API 存取
IP 允許清單可讓你限制哪些 IP 位址可以存取你的 OpenAI API。啟用時,只允許來自設定 IP 位址或範圍的要求,其他所有要求都會遭拒 - 即使其中包含有效的 API 金鑰。
這會增加一層額外的保護,確保你的 API 只能從受信任的基礎架構存取,例如你的後端伺服器或雲端環境。
如需更多資訊,請參閱 OpenAI API 的 IP 允許清單文章。
Private Link 是需要存取專用網路的組織的另一個選擇。它允許 Azure 工作負載透過 Azure Private Link 連接到區域 OpenAI API 端點。請聯絡你的 OpenAI 業務代表或業務人員申請存取權限。仍需要 API 驗證,且 Private Link 與 IP 允許清單或相互 TLS (mTLS) 不相容。與設定相關詳細資訊,請參閱Private Link 指南。
