跳至主要內容

API 金鑰最佳實踐:保持您的金鑰安全和安全

一週前已更新

API 金鑰可以存取 Claude API,但如果處理不當,可能會帶來重大安全風險。您的 API 金鑰是您帳戶的數位鑰匙。就像信用卡號碼一樣,如果有人取得並使用您的 API 金鑰,他們會代表您產生費用。本文概述了管理 API 金鑰的最佳實踐,以確保它們保持安全,並防止未經授權的存取和對您的 Claude Console 帳戶的費用。

常見風險和漏洞

API 金鑰洩露最常見的原因之一是在公開程式碼儲存庫或第三方工具中意外暴露。開發人員經常無意中將純文字 API 金鑰提交到公開的 GitHub 儲存庫,或將其輸入到第三方工具中,這可能導致未經授權的存取和潛在的帳戶濫用。

API 金鑰安全的最佳實踐

1. 絕不分享您的 API 金鑰

  • 保持機密:就像您不會分享個人密碼一樣,不要分享您的 API 金鑰。如果有人需要存取 Claude API,他們應該取得自己的金鑰。

  • 不要在公開論壇中分享您的金鑰:不要在公開討論、電子郵件或支援票證中包含您的 API 金鑰,即使是在您和 Anthropic 之間。

  • 對第三方工具保持謹慎:考慮到當您將 API 金鑰上傳到第三方工具或平台(例如網頁型 IDE、雲端提供商或 CI/CD 平台)時,您是在授予該工具的開發人員存取您的 Claude Console 帳戶的權限。如果您不信任他們的聲譽,就不要用您的 API 金鑰信任他們。

    • 使用第三方提供商時,始終將您的 API 金鑰新增為加密的機密。絕不要直接將其包含在您的程式碼或設定檔案中。

2. 密切監控使用情況和日誌

我們建議定期檢查 Console 中 API 金鑰的日誌使用情況模式。

  • 對於自訂速率限制 API 組織:在您的帳戶設定中實施使用情況和支出限制。

    • 這些限制可作為防止因洩露的金鑰或錯誤指令碼導致的意外使用的保障。

  • 對於標準速率限制 API 組織:在您的帳戶中啟用並設定自動重新載入設定。

    • 此功能允許您設定一個閾值,在該閾值處您的帳戶將自動向檔案上的卡片收費以補充使用額度。

      • 仔細考慮自動重新載入限制。雖然它們確保持續服務,但它們也可作為防止因洩露的金鑰或程式碼中的錯誤導致的意外高使用量的保障。

3. 使用環境變數和機密安全地處理 API 金鑰

安全處理 API 金鑰的最佳實踐是使用環境變數來安全地注入和共享環境變數。當您將應用程式部署到雲端環境時,您可以使用其機密管理解決方案,通過環境變數安全地將 API 金鑰傳遞給您的應用程式,而不會無意中分享您的 API 金鑰。

如果您使用 dotenv 在本地儲存機密,您必須將 .env 檔案新增到您的原始碼控制忽略檔案(例如 git 的 .gitignore)中,以防止無意中公開分發敏感資訊。在雲端環境中,優先使用加密的機密儲存而不是 dotenv 檔案。

Python 範例:

1. 在您的專案目錄中建立一個 .env 檔案。

2. 將您的 API 金鑰新增到 .env 檔案:

ANTHROPIC_API_KEY=your-api-key-here

3. 安裝 python-dotenv 套件:

pip install python-dotenv

4. 在您的 Python 指令碼中載入 API 金鑰:

from dotenv import load_dotenv

import os

load_dotenv()
my_api_key = os.getenv("ANTHROPIC_API_KEY")

5. 如果您將應用程式部署到雲端託管環境,請參考您的雲端提供商的文件,了解如何新增您的 Claude API 金鑰並與您的應用程式共享(AWSGCPAzureVercelHeroku)。某些提供商提供多種方式來安全地將環境變數注入到您的應用程式中。

4. 定期輪換 API 金鑰

按照一致的時間表(例如每 90 天)定期輪換您的 API 金鑰,方法是建立新的金鑰並停用舊的金鑰。這種例行做法有助於最小化金鑰被洩露時的潛在風險。

5. 為不同目的使用單獨的金鑰

如果可能,請為開發、測試和生產環境使用不同的 API 金鑰。這樣,您可以將您的使用情況與不同的內部使用案例相關聯。如果您的 API 金鑰被洩露,這允許您快速停用該使用案例並限制任何潛在的損害。

6. 掃描儲存庫以查找機密

定期檢查您的原始碼控制儲存庫,查找意外提交的機密。

通過將定期機密掃描納入您的開發工作流程,您可以捕獲並防止 API 金鑰和其他敏感資訊在程式碼儲存庫中的意外暴露。

7. 使用安全金鑰管理系統 (KMS)

隨著組織的擴展和 API 金鑰及其他機密數量的增加,安全地管理這些敏感認證變得更加具有挑戰性。這就是金鑰管理系統 (KMS) 發揮作用的地方。KMS 為儲存、存取和管理機密金鑰(包括 API 金鑰)提供了一個集中式解決方案。

使用 KMS 的好處

  1. 集中式安全:將所有機密儲存在一個安全的加密位置。

  2. 存取控制:實施細粒度存取控制,以確定誰可以檢視或使用特定金鑰。

  3. 稽核軌跡:追蹤對您的機密的所有存取和變更,以用於合規性和安全目的。

  4. 金鑰輪換:輕鬆定期輪換金鑰以增強安全性。

  5. 整合:許多 KMS 解決方案與流行的雲端平台和開發工具整合。

Anthropic 與 GitHub 的 API 金鑰保護合作夥伴關係

Anthropic 已直接與 GitHub 合作,通過 GitHub 的機密掃描合作夥伴計畫為我們的使用者提供額外的保護層。此合作夥伴關係提供主動安全措施,以防止意外暴露的 API 金鑰被濫用:

  • GitHub 主動掃描公開儲存庫以查找暴露的 Claude API 金鑰。

  • 如果在公開 GitHub 儲存庫中檢測到 Claude API 金鑰,GitHub 會立即通知 Anthropic。

  • 為了防止潛在的濫用,Anthropic 會自動停用暴露的 API 金鑰。

  • 受影響的使用者會收到來自 Anthropic 的詳細電子郵件通知,說明該事件。

如果我懷疑我的 API 金鑰已被洩露,我應該怎麼辦?

如果您懷疑您的 API 金鑰可能已被洩露,我們建議立即撤銷該金鑰。您可以通過登入您的 Claude Console 帳戶、從您的設定檔前往API 金鑰頁面、點擊相關金鑰旁邊的肉丸菜單(即三個水平點)並選擇「刪除 API 金鑰」來執行此操作。

API 金鑰安全是一個持續的過程,需要警惕和定期檢查您的安全措施。通過遵循這些最佳實踐,您可以顯著降低 API 金鑰洩露和未經授權存取的風險。

是否回答了您的問題?