跳转到主要内容

API 密钥最佳实践:保持密钥安全

API 密钥可以访问 Claude API,但如果处理不当,可能会带来重大安全风险。您的 API 密钥是您账户的数字钥匙。就像信用卡号一样,如果有人获得并使用您的 API 密钥,他们会以您的名义产生费用。本文概述了管理 API 密钥的最佳实践,以确保密钥保持安全,防止未授权访问和对您的 Claude 控制台账户的费用。

常见风险和漏洞

API 密钥泄露最常见的原因之一是在公共代码库或第三方工具中意外暴露。开发人员经常无意中将纯文本 API 密钥提交到公共 GitHub 存储库或将其输入到第三方工具中,这可能导致未授权访问和潜在的账户滥用。

API 密钥安全的最佳实践

1. 永远不要共享您的 API 密钥

  • 保持机密:就像您不会共享个人密码一样,不要共享您的 API 密钥。如果有人需要访问 Claude API,他们应该获取自己的密钥。

  • 不要在公共论坛中共享您的密钥:不要在公共讨论、电子邮件或支持工单中包含您的 API 密钥,即使是与 Anthropic 之间的通信。

  • 谨慎使用第三方工具:请注意,当您将 API 密钥上传到第三方工具或平台(例如基于网络的 IDE、云提供商或 CI/CD 平台)时,您是在授予该工具的开发者访问您的 Claude 控制台账户的权限。如果您不信任他们的声誉,就不要用您的 API 密钥信任他们。

    • 使用第三方提供商时,始终将您的 API 密钥添加为加密密钥。永远不要直接将其包含在代码或配置文件中。

2. 密切监控使用情况和日志

我们建议定期查看控制台中 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 密钥

按照一致的时间表(例如每 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 控制台账户、转到 API 密钥页面 (platform.claude.com/settings/keys)、单击相关密钥旁边的菜单(即三个水平点)并选择“删除 API 密钥”来执行此操作。

API 密钥安全是一个持续的过程,需要警惕和定期审查您的安全措施。通过遵循这些最佳实践,您可以显著降低 API 密钥泄露和未授权访问的风险。

这是否解答了您的问题?