管理 API 密钥的最佳实践
当您在应用中使用 API 密钥时,请确保其在存储和传输期间均安全无虞。公开泄露 API 密钥可能会导致您的账号产生意外费用或您的数据遭到未经授权的访问。为帮助确保 API 密钥的安全,请实施以下最佳实践:
为密钥添加 API 密钥限制。
通过添加限制,您可以限制 API 密钥的使用方式,从而降低 API 密钥被破解造成的影响。
如需了解详情,请参阅应用 API 密钥限制。
避免使用查询参数向 Google API 提供您的 API 密钥
将 API 密钥作为查询参数提供给 API 会在网址中包含您的 API 密钥,从而使密钥容易遭到网址扫描的窃取。请改用 x-goog-api-key
HTTP 标头或客户端库。
删除不需要的 API 密钥以最大限度地减少遭到攻击的风险
仅保留您正在使用的 API 密钥,以尽可能缩小攻击面。
请勿在客户端代码中包含 API 密钥,也不要将其提交到代码库
在源代码中硬编码的 API 密钥或存储在代码库中的 API 密钥可能会被作恶方截取或窃取。客户端应将请求传递给服务器,后者可以添加凭据并发出请求。
请勿在生产环境中使用绑定到服务账号的 API 密钥
绑定到服务账号的 API 密钥旨在为探索 Trusted Cloud by S3NS API 的开发者提供更快的初始体验。请勿在生产环境中使用这些 API 密钥。而是计划迁移到更安全的替代方案,例如 Identity and Access Management (IAM) 政策和短期有效的服务账号凭证,并遵循最小权限安全实践。
因此,您应尽快从使用绑定到服务账号的 API 密钥迁移到更安全的实践:
API 密钥会随请求一起发送。这会使密钥更有可能被公开或记录。
API 密钥是不记名凭证。这意味着,如果有人窃取了绑定到服务账号的 API 密钥,则可以使用该密钥以该服务账号的身份进行身份验证,并访问该服务账号可以访问的相同资源。
绑定到服务账号的 API 密钥会在审核日志中隐藏最终用户的身份。如需跟踪各个用户的操作,请确保每个用户都有自己的一组凭证。
实现强大的监控和日志记录功能
监控 API 用量有助于提醒您未经授权的使用情况。如需了解详情,请参阅 Cloud Monitoring 概览和 Cloud Logging 概览。
隔离 API 密钥
为每个团队成员提供每个应用的专属 API 密钥。这有助于控制访问权限、提供审核跟踪记录,并降低 API 密钥被破解的影响。
定期轮替 API 密钥
定期创建新的 API 密钥,更新应用以使用新的 API 密钥,以及删除旧密钥。
如需了解详情,请参阅轮替 API 密钥。
考虑使用更安全的授权访问方法
如需有关选择身份验证方法的帮助,请参阅身份验证方法。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-08。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-08。"],[[["Secure API keys by implementing best practices during storage and transmission to prevent unauthorized access or unexpected charges."],["Restrict API key usage to minimize the impact of compromised keys, using the provided resources for more information on restrictions."],["Avoid including API keys in URLs as query parameters, instead opting for the `x-goog-api-key` HTML parameter or client libraries."],["Periodically rotate API keys and delete old ones, while deleting any keys that are not in use to minimize potential exposure."],["Never include API keys directly in client code or code repositories, instead leveraging server-side logic, and implement monitoring to detect any unauthorized usage."]]],[]]