本指南将介绍如何确保应用和用户凭据的安全。
完成 OAuth 应用验证
Google Ads API 的 OAuth 2.0 范围属于受限范围,这意味着您应先完成 OAuth 应用验证流程,然后再将应用投入生产。如需了解详情,请参阅 Google Identity 文档和帮助中心文章。
保护应用凭据
您应保护应用的 OAuth 2.0 客户端 ID 和客户端密钥。 这些凭据有助于您的用户和 Google 识别您的应用,因此应谨慎处理。您应像对待密码一样对待这些应用凭据。请勿使用不安全的机制分享这些凭据,例如在公共论坛上发布、在电子邮件附件中发送包含这些凭据的配置文件、对凭据进行硬编码,或将凭据提交到代码库。我们建议尽可能使用密文管理器,例如 Google Cloud Secret Manager 或 AWS Secret Manager。
如果您的 OAuth 2.0 客户端密钥遭到入侵,您可以重置这些密钥。开发者令牌也可以重置。
保护开发者令牌的安全
借助开发者令牌,您可以对账号进行 API 调用,但对可用于进行调用的账号没有任何限制。因此,如果开发者令牌遭到入侵,其他人可能会使用该令牌发出归因于您应用的调用。为避免出现这种情况,请采取以下预防措施:
将您的开发者令牌视为密码。请勿使用不安全的机制(例如在公共论坛上发布或将包含开发者令牌的配置文件作为电子邮件附件发送)来分享该令牌。我们建议尽可能使用密文管理器,例如 Google Cloud Secret Manager 或 AWS Secret Manager。
如果您的开发者令牌被盗用,您应重置该令牌。
- 登录您在申请 Google Ads API 时使用的 Google Ads 经理账号。
- 依次前往工具和设置 > API 中心。
- 点击开发者令牌旁边的下拉箭头。
- 点击重置令牌链接。您的旧开发者令牌应立即停止工作。
- 更新应用的生产配置,以使用新的开发者令牌。
保护服务账号
服务账号需要全网域模拟才能与 Google Ads API 正常搭配使用。此外,您必须是 Google Workspace 客户才能设置全网域模拟。出于这些原因,我们建议您在调用 Google Ads API 时不要使用服务账号。不过,如果您决定使用服务账号,则应按以下方式保护这些账号:
请将服务账号密钥和 JSON 文件视为密码。尽可能使用 Google Cloud Secret Manager 或 AWS Secret Manager 等 Secret 管理器来保护它们。
遵循 Google Cloud 提供的其他最佳实践,以保护和管理您的服务账号。
保护用户令牌
如果您的应用授权了多位用户,您应采取额外措施来保护用户的刷新令牌和访问令牌。安全地存储静态令牌,并且绝不以纯文本形式传输令牌。使用适合您平台的安全存储系统。
处理刷新令牌撤消和过期
如果您的应用在授权过程中请求 OAuth 2.0 刷新令牌,您还必须处理其失效或过期情况。刷新令牌可能会因各种原因而失效,您的应用应妥善处理这种情况,方法是在用户下次登录会话期间重新授权用户,或根据需要清理用户的数据。Cron 作业等离线作业应检测并记录刷新令牌已过期的账号,而不是继续发出失败的请求。如果应用在一段时间内持续生成大量错误,Google 可能会限制该应用,以保持 API 服务器的稳定性。
管理多个范围的用户意见征求
如果您的应用请求对多个 OAuth 2.0 范围的授权,用户可能不会授予您请求的所有 OAuth 范围。应用应通过停用相关功能来处理范围拒绝情况。只有在用户明确表示有意使用需要相应范围的特定功能后,您才能再次提示用户。在这种情况下,请使用增量授权来请求适当的 OAuth 范围。
如果应用的基本功能需要多个范围,请在提示用户授予同意之前向用户说明此要求。