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