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