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

API 金鑰安全最佳做法

更新日期:20 hours 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
  1. 選擇環境變數...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. 從使用者變數區段(上方)選擇新增… 。新增你的名稱/金鑰值配對,將 <yourkey> 替換為你的 API 金鑰

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

Linux / MacOS 設定

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

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

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. 使用新變數更新 shell:

source ~/.zshrc
  1. 使用以下命令確認你已設定環境變數。

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 允許清單文章

這篇文章對你有幫助嗎?