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

API 金鑰安全最佳做法

更新日期:8 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 提示字元中執行以下指令,並以你的API 金鑰取代 <yourkey>:

setx OPENAI_API_KEY "<yourkey>"

這會套用到之後開啟的 cmd 提示字元視窗,因此你需要開啟新的視窗,才能在 curl 中使用該變數。你可以開啟新的 cmd 提示字元視窗,然後輸入以下內容,以驗證此變數已設定:

echo %OPENAI_API_KEY%

選項 2: 透過控制台設定你的「OPENAI_API_KEY」環境變數

1. 開啟 System 內容,然後選擇 Advanced system settings

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

2. 選擇 Environment Variables...

Windows System Properties Advanced tab with Environment Variables button highlighted

3. 在使用者變數區段(上方)中選擇 New… 。加入你的名稱/金鑰值配對,並以你的API 金鑰取代 <yourkey>。

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

Linux / MacOS 設定

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

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

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 存取中斷。

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

  • 檢視使用情況,確認是否與團隊的工作相符。對於屬於多個組織的使用者(例如公司及個人),請確保該使用者已啟用追蹤,並已為使用情況及追蹤設定預設組織。

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

  • 如需進一步調查,請透過help.openai.com聯絡我們。

7. 使用 IP allowlisting 限制 API 存取

IP allowlisting 可讓你限制哪些 IP 位址可存取你的 OpenAI API。啟用後,只會容許來自已設定 IP 位址或範圍的請求,其他請求即使包含有效 API 金鑰,也會被拒絕。

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

如需更多資訊,請參閱OpenAI API 的 IP allowlisting 文章。

這篇文章對你有幫助嗎?