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

API 金鑰安全最佳做法

更新日期:6 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:透過命令提示字元設定「OPENAI_API_KEY」環境變數

在命令提示字元中執行以下命令,並以你的 API 金鑰取代 <yourkey>:

setx OPENAI_API_KEY "<yourkey>"

這項設定會套用至日後開啟的命令提示字元視窗,因此你需要開啟新視窗,才能透過 curl 使用該變數。你可以開啟新的命令提示字元視窗並輸入以下內容,確認此變數已設定

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. 在「使用者變數」區段(上方)選擇新增…。新增名稱/金鑰值配對,並以你的 API 金鑰取代 <yourkey>。

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

Linux/macOS 設定

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

  1. 在終端機執行以下命令,並以你的 API 金鑰取代 yourkey。

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

這篇文章對你有幫助嗎?