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 金鑰的日誌頁面 (platform.claude.com/logs) 和使用情況頁面 (platform.claude.com/usage)。
針對自訂速率限制 API 組織:在帳單頁面 (platform.claude.com/settings/billing) 上設定支出限制,並在速率限制頁面 (platform.claude.com/usage/limits) 上設定工作區速率限制。
這些限制可作為防止因洩露的金鑰或錯誤指令碼而導致的意外使用的保障。
針對標準速率限制 API 組織:在帳單頁面 (platform.claude.com/settings/billing) 上開啟並設定自動重新載入。
此功能可讓您設定一個閾值,達到該閾值時,您的帳戶將自動向檔案上的卡片收費以補充使用額度。
仔細考慮自動重新載入限制。雖然它們確保持續服務,但它們也可作為防止因洩露的金鑰或程式碼中的錯誤而導致的意外高使用量的保障。
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 金鑰並與您的應用程式共享 (AWS、GCP、Azure、Vercel、Heroku)。某些提供者提供多種方式來安全地將環境變數注入到您的應用程式中。
4. 定期輪換 API 金鑰
按照一致的時間表定期輪換您的 API 金鑰(例如每 90 天),方法是建立新的金鑰並停用舊的金鑰。這種例行做法有助於最小化金鑰遭到洩露時的潛在風險。
5. 為不同目的使用不同的金鑰
如果可能,請為開發、測試和生產環境使用不同的 API 金鑰。這樣,您可以將使用情況與不同的內部使用案例相關聯。如果您的 API 金鑰遭到洩露,這可讓您快速停用該使用案例,並限制任何潛在損害。
6. 掃描儲存庫以查找密碼
定期檢查您的原始碼控制儲存庫,查找意外提交的密碼。
使用 SAST 工具(如 Gitleaks)(https://github.com/gitleaks/gitleaks) 掃描您的儲存庫,查找意外提交的密碼。
將密碼掃描整合到您的 CI/CD 管道中,以在將任何密碼推送到主分支之前捕獲它們。
透過將定期密碼掃描納入您的開發工作流程,您可以捕獲並防止 API 金鑰和其他敏感資訊在程式碼儲存庫中的意外暴露。
7. 使用安全的金鑰管理系統 (KMS)
隨著組織的擴展和 API 金鑰及其他密碼數量的增加,安全地管理這些敏感認證變得更具挑戰性。這就是金鑰管理系統 (KMS) 發揮作用的地方。KMS 為儲存、存取和管理密碼金鑰(包括 API 金鑰)提供了集中式解決方案。
使用 KMS 的好處
集中式安全:將所有密碼儲存在一個安全的加密位置。
存取控制:實施細粒度存取控制,以確定誰可以檢視或使用特定金鑰。
稽核軌跡:追蹤對密碼的所有存取和變更,以用於合規性和安全目的。
金鑰輪換:輕鬆定期輪換金鑰以增強安全性。
整合:許多 KMS 解決方案與熱門雲端平台和開發工具整合。
Anthropic 與 GitHub 的 API 金鑰保護合作夥伴關係
Anthropic 已直接與 GitHub 合作,透過 GitHub 的密碼掃描合作夥伴計畫為我們的使用者提供額外的保護層。此合作夥伴關係提供主動安全措施,以防止意外暴露的 API 金鑰的濫用:
GitHub 主動掃描公開儲存庫以查找暴露的 Claude API 金鑰。
如果在公開 GitHub 儲存庫中偵測到 Claude API 金鑰,GitHub 會立即通知 Anthropic。
為了防止潛在濫用,Anthropic 會自動停用暴露的 API 金鑰。
受影響的使用者會收到來自 Anthropic 的詳細電子郵件通知,說明該事件。
如果我懷疑我的 API 金鑰已遭洩露,我應該怎麼辦?
如果您懷疑您的 API 金鑰可能已遭洩露,我們建議立即撤銷該金鑰。您可以透過登入您的 Claude Console 帳戶、前往 API 金鑰頁面 (platform.claude.com/settings/keys)、按一下相關金鑰旁邊的功能表(即三個水平點),然後選擇「刪除 API 金鑰」來執行此操作。
如需詳細資訊,請參考本文:如果我懷疑我的 API 金鑰已遭洩露,我應該怎麼辦?
API 金鑰安全是一個持續的過程,需要警惕和定期檢查您的安全措施。透過遵循這些最佳實踐,您可以大幅降低 API 金鑰洩露和未經授權存取的風險。
