OpenAI

API 金鑰安全的最佳實踐

更新日期:7 days ago

1. 總是為你的帳戶中的每位團隊成員使用獨特的 API 金鑰。

API 金鑰是一個獨特的代碼,用來識別你對 API 的要求。你的 API 金鑰供你使用。分享 API 金鑰是違反使用條款的行為。

當你開始嘗試時,你可能會想將 API 存取權限擴展到你的團隊。OpenAI 不支援分享 API 金鑰。請從成員頁面邀請新成員加入你的帳戶,他們在登入後會迅速收到自己獨特的金鑰。你也可以指派權限給個別的 API 金鑰

2. 切勿在用戶端環境中部署你的密鑰,例如瀏覽器或行動應用程式。

在用戶端環境(如瀏覽器或行動應用程式)中暴露你的 OpenAI API 金鑰,可能會讓惡意使用者盜用該金鑰並以你的名義發出請求,這可能導致意外的費用或某些帳戶資料的洩露。請求應該始終通過你自己的後端伺服器進行路由,以確保你的 API 金鑰安全。

3. 絕不要將你的金鑰提交到儲存庫

將 API 金鑰提交到原始碼是一個常見的憑證洩露途徑。對於擁有公共儲存庫的人來說,這是你可能在不知不覺中將金鑰與網路分享的常見方式。私人儲存庫更安全,但資料洩漏也可能導致你的密鑰被洩露。基於這些原因,我們強烈建議使用環境變數作為主動的關鍵安全措施。

4. 使用環境變數來取代你的 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」環境變數

1. 開啟系統屬性,然後選擇進階系統設定

Windows 10 System settings with Advanced system settings highlighted in Control Panel

2. 選取環境變數...

Windows System Properties Advanced tab with Environment Variables button highlighted

3. 在使用者變數區段 (頂部) 中選取新增…。新增你的名稱/金鑰值對,將 <yourkey> 替換為你的 API 金鑰

變數名稱:OPENAI_API_KEY
變數值:<yourkey>

Linux / macOS 設定

選項 1: 使用 zsh 設定你的「OPENAI_API_KEY」環境變數

1. 在終端機中執行以下命令,將 yourkey 替換為你的 API 金鑰

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc

2. 使用新變數更新 shell:

source ~/.zshrc

3. 確認你已使用以下命令設置環境變數。

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"]

5. 使用金鑰管理服務

有多種產品可用於安全地管理秘密 API 金鑰。這些工具讓你可以控制金鑰的存取,並提升整體資料安全性。如果你的應用程式發生資料外洩事件,你的金鑰不會被洩露,因為它們會被加密並在完全獨立的位置進行管理。

對於將應用程式部署到生產環境的團隊,我們建議你考慮這些服務之一。

6. 監控你的帳戶使用情況,並在需要時更換你的金鑰

被盜用的 API 金鑰會讓他人在未經你同意的情況下存取你的帳戶配額。這可能會導致資料遺失、意外收費、每月配額的耗盡,以及 API 存取的中斷。

你的團隊使用情況可以透過使用情況頁面追蹤。如果你對濫用有任何疑慮,可以採取以下幾個動作來保護你的帳戶:

  • 檢視你的使用情況,看看是否與團隊的工作一致。對於屬於多個組織的使用者(例如,(企業和個人),確保使用者已啟用追蹤功能,並設定其預設的組織以便使用和追蹤。

  • 如果你認為你的金鑰已洩露,請立即從API 金鑰頁面更換你的金鑰。對於在正式環境中使用應用程式的客戶,你需要相應地更新你的金鑰值。

  • 透過 help.openai.com 聯絡我們以進一步調查。

7. 使用 IP 允許清單限制 API 存取

IP 允許清單可讓你限制哪些 IP 位址可以存取你的 OpenAI API。啟用時,只允許來自設定 IP 位址或範圍的要求,其他所有要求都會遭拒 - 即使其中包含有效的 API 金鑰。

這會增加一層額外的保護,確保你的 API 只能從受信任的基礎架構存取,例如你的後端伺服器或雲端環境。

如需更多資訊,請參閱 OpenAI API 的 IP 允許清單文章。

這篇文章有幫助嗎?