本指南介绍了如何确保应用和用户凭据的安全。
完成 OAuth 应用验证
Google Ads API 的 OAuth 2.0 范围被归类为 受限范围,这意味着您应该在应用投入生产之前完成 OAuth 应用验证流程。如需了解详情,请参阅 Google Identity 文档、关于未经验证的应用 的帮助中心文章以及关于设置 OAuth 同意屏幕 的文档。
保护应用凭据
您应该保护应用的 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)保护这些密钥和文件。
遵循 Google Cloud 提供的 其他最佳实践,以保护 和管理您的服务账号。
保护用户令牌
如果您的应用授权给多个用户,您应该采取额外的步骤来保护用户的刷新令牌和访问令牌。以安全的方式静态存储令牌,并且绝不以纯文本形式传输令牌。使用适合您平台的安全存储系统。
处理刷新令牌撤消和过期
如果您的应用在授权过程中请求 OAuth 2.0 刷新令牌,您还必须处理这些令牌的失效或过期。刷新令牌可能会因各种原因而 失效,您的应用应 妥善处理,方法是在用户下次登录会话期间重新授权用户,或 根据需要清理用户的数据。离线作业(例如 cron 作业)应检测并记录刷新令牌已过期的账号,而不是继续发出失败的请求。Google 可能会对在一段时间内生成大量错误的应用进行节流,以维持 API 服务器的稳定性。
管理针对多个范围的用户意见征求
如果您的应用请求对多个 OAuth 2.0 范围进行授权,用户可能不会授予您请求的所有 OAuth 范围。您的应用应通过停用相关功能来处理范围拒绝。只有在用户明确表示打算使用需要该范围的特定功能后,您才能再次提示用户。在这种情况下,请使用增量授权来请求 适当的 OAuth 范围。
如果应用的基本功能需要多个范围,请在提示用户征求同意之前向用户说明此要求。