受限范围验证

某些 Google API(接受 敏感内容 受限 范围) 对寻求消费者数据访问权限的应用设有要求。 这些针对受限范围的额外要求要求应用证明其属于允许的应用类型,并接受额外的审核(包括可能进行的安全评估)。

受限范围在 API 中的适用性主要取决于访问权限级别 您需要在应用中提供相关功能:只读、只写、读写 等等

当您使用 OAuth 2.0 从某个 Google 账号获取访问此类数据的权限时, 名为“scopes”的字符串,用于指定要访问的数据类型和访问权限程度 所需的资源。如果您的应用请求 sensitive 受限范围,您需要完成验证 除非您的应用使用符合 例外情况

与敏感范围相比,受限范围的数量要少一些。 验证 OAuth API 验证常见问题解答中列有最新的敏感范围和受限范围列表。 这些范围提供对 Google 用户数据的广泛访问权限,并要求您完成范围验证 从任何 Google 账号请求范围之前,请先执行此流程。如需了解此要求,请参阅 Google API 服务用户数据政策以及针对特定 API 权限范围的其他要求,或参阅产品专用 Google 开发者页面。如果您存储或传输受限范围 那么就需要实施安全措施 评估

了解受限范围

如果您的应用请求任何受限范围,但不符合例外情况的条件,则需要满足《Google API 服务用户数据政策》的有关特定 API 范围的其他要求,或者满足相应产品的 Google 开发者页面上列出的特定产品要求,这需要更为详尽的审核流程。

了解您的范围使用情况

  • 查看您的应用使用的或您要使用的镜重。如需查找现有的范围使用情况,请执行以下操作: 检查应用的源代码,找出随授权请求一起发送的任何作用域。
  • 确定所请求的每个范围都是应用功能的预期操作所必需的 并使用提供该功能所需的最小权限。Google API 通常在产品的 Google 开发者页面上针对其端点提供参考文档,其中包含调用端点或其中的特定属性所需的范围。有关 访问 API 端点,请阅读这些 API 端点的参考文档 端点。 For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
  • 使用 Google API 接收的数据时,必须遵守 以及您在应用操作和 隐私权政策。
  • 请参阅 API 文档,详细了解每个范围及其潜在用途 sensitive or restricted 状态。
  • 在 API Console的 OAuth 同意屏幕 “配置范围”页面您指定的范围被划分为“敏感”或“受限” 以突出显示所需的任何其他验证。
  • 找到与您的集成所使用的数据相匹配的最佳范围,了解其使用情况, 重新确认一切在测试环境中仍可正常运行,然后准备提交 验证。

请务必在发布计划中考虑完成验证所需的时间, 应用或任何需要新范围的新功能。如果应用访问或有能力从服务器或通过服务器访问 Google 用户数据,则需要满足以下某项额外要求。在这些情况下,系统必须接受 Google 批准的独立第三方评估机构的年度安全评估。因此,受限范围验证流程可能需要数周才能完成。请注意,所有应用都必须完成 品牌 验证步骤,这通常需要 2-3 个工作日(如果需要提供品牌信息) 自上次获得批准的 OAuth 同意屏幕验证以来发生了变化。

允许的应用类型

某些应用类型可以访问每种产品的受限范围。您可以 产品特定的应用类型 Google 开发者页面(例如 Gmail API 政策)。

了解并确定应用类型是您的责任。 不过,如果您真的不确定应用的应用类型,则可以在提交应用以供验证时,针对您将使用哪些功能?问题不选择任何选项。 然后,Google API 的验证团队将确定应用类型。

安全评估

每个请求访问 Google 用户访问受限数据 来自第三方服务器或通过第三方服务器传输的数据必须经过来自 Google 任职的安全评估员。这项评估有助于确保 Google 用户数据安全性 验证访问 Google 用户数据的所有应用均具备处理数据的能力 以及应用户的请求删除用户数据。

为了实现安全评估的标准化,我们利用了 App Defense Alliance 云应用安全评估框架 (CASA)。

如前所述,为了继续访问任何已验证的受限范围,应用必须在评估人员的评估信函 (LOA) 批准日期之后至少每 12 个月重新验证合规性并完成一次安全评估。如果您的应用添加了新的受限范围,您的 如果先前未涵盖在内,应用可能需要重新评估,以涵盖额外的范围 安全评估。

当您的应用需要重新认证时,Google 审核团队会向您发送电子邮件。为确保您的团队中正确的成员会收到有关此年度强制执行措施的通知,请将其他 Google 账号作为所有者或编辑者与您的 API Console 项目相关联。这也有助于及时了解用户支持和开发者联系电子邮件地址 并在 Google API Console OAuth 中指定 Consent Screen page。

验证准备工作

所有使用 Google API 请求数据访问权限的应用都必须执行以下步骤, 完成品牌验证:

  1. 确认您的应用不属于 验证要求的例外情况部分。
  2. 确保您的应用符合相关 API 的品牌塑造要求,或 产品。有关示例,请参阅品牌推广指南
  3. Google Search Console 中验证项目的已获授权的网域的所有权。使用 Google 与您的 API Console 项目关联的账号, 所有者或编辑者。
  4. 确保 OAuth 同意屏幕上显示的所有品牌信息(例如应用名称)、支持信息 电子邮件地址、首页 URI、隐私权政策 URI 等可准确反映应用的身份。

应用首页要求

请确保您的首页符合以下要求:

  • 您的首页必须可公开访问,而不是只有您网站的已登录用户才可以访问 用户。
  • 您的首页与正在审核的应用的相关性必须明确。
  • 系统不会考虑指向您的应用在 Google Play 商店中的商品详情的链接或应用 Facebook 页面的链接 有效的应用首页

应用隐私权政策链接要求

确保应用的隐私权政策符合以下要求:

  • 隐私权政策必须对用户可见,且托管在您的 并且链接到了 OAuth 同意屏幕 Google API Console。请注意,首页必须包含 应用功能的说明,以及指向隐私权政策和 可选的服务条款。
  • 隐私权政策必须披露您的应用访问、使用 存储或分享 Google 用户数据。 The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. 您只能按照您发布的内容中的规定,使用 Google 用户数据 隐私权政策。
  • Review example cases of privacy policies that don't meet the Limited Use requirements.

如何提交您的应用进行验证

Google API Console 项目可以组织您的所有 API Console 资源。项目由一组关联的 有权执行项目操作的 Google 账号、一组已启用的 API,以及 结算、身份验证和监控设置。例如,项目可以 包含一个或多个 OAuth 客户端,配置 API 以供这些客户端使用, 在用户授权访问您的应用之前向其显示 OAuth 同意屏幕

如果您有任何 OAuth 客户端尚未准备好投入使用,我们建议您从以下位置将其删除: 请求验证的项目。您可以在 Google API Console中执行此操作。

要提交供验证,请按以下步骤操作:

  1. 确保您的应用遵守 Google API 服务条款,以及 Google API 服务用户数据政策
  2. 确保项目的关联账号的所有者和编辑者角色处于最新状态,以及您的 OAuth 同意屏幕的用户支持电子邮件地址和开发者联系信息, API Console。这样可确保 团队会收到有关新要求的通知。
  3. 前往 API ConsoleOAuth Consent Screen page
  4. 点击项目选择器按钮。
  5. 在随即显示的请选择:对话框中,选择您的项目。如果您找不到 项目,但您知道项目 ID,则可以在浏览器中的 格式:

    https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]

    [PROJECT_ID] 替换为您要使用的项目 ID。

  6. 选择修改应用按钮。
  7. 在 OAuth 同意屏幕页面上输入必要的信息,然后选择保存 并继续按钮。
  8. 使用添加或移除镜重按钮声明应用请求的所有镜重。非敏感镜重部分中预先填充了 Google 登录所需的一组初始镜重。添加的范围被归类为非敏感的范围, sensitive, or restricted。
  9. 提供指向应用中相关功能的任何相关文档的链接(最多三个)。
  10. 在后续阶段按照要求提供与您的应用有关的任何其他信息 步骤。

    1. Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
    4. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
  11. 如果您提供的应用配置需要验证,您可以选择提交 应用进行验证。填写必填字段,然后点击提交以开始 验证流程。

在您提交应用后,Google 的信任和安全团队通过电子邮件进行跟进 或您必须完成的步骤。请在以下位置检查您的电子邮件地址: 开发者联系信息部分,以及 OAuth 同意声明的支持电子邮件地址 页面,获取额外信息。您还可以查看项目的 OAuth 同意情况 一个屏幕页面,用于确认项目的当前审核状态,包括审核流程 已暂停。

验证要求的例外情况

如果您的应用将用于以下各部分中介绍的任何场景, 提交审核。

个人使用

例如,如果您是应用的唯一用户,或者只有少数用户使用您的应用, 这些都是你自己熟知的。您和您的少数用户可能愿意接受 通过 未经验证的应用 屏幕,并向您的个人账号授予应用访问权限。

用于开发、测试或预演的项目 层级

为此, 遵守 Google OAuth 2.0 政策,但我们建议您针对 测试和生产环境。我们建议您仅在希望向拥有 Google 账号的任何用户提供应用时,才提交应用以供验证。因此,如果您的应用 处于开发、测试或预演阶段,则无需进行验证。

如果您的应用正处于开发或测试阶段,您可以保留 发布状态 默认设置为 测试。此设置表示您的应用仍在开发中, 可供您添加到测试用户列表中的用户使用。您必须管理 Google 账号列表 与应用开发或测试相关的资源。

警告消息,提示 Google 尚未验证正在测试的应用。
图 1. 测试人员警告屏幕

仅限由服务拥有的数据

如果您的应用使用服务账号仅访问自己的数据,并且不会访问任何用户数据(与 Google 账号相关联),则无需提交以供验证。

如需了解什么是服务账号,请参阅 服务账号: Google Cloud 的文档。如需了解如何使用服务账号,请参阅 将 OAuth 2.0 用于服务器到服务器 应用

仅限内部使用

也就是说,只有您的 Google Workspace 或 Cloud Identity 中的人可以使用该应用 组织。项目必须归组织所有,且对应的 OAuth 同意屏幕 需要针对 内部用户 type。在这种情况下,您的应用可能需要获得组织管理员的批准。如需了解详情,请参阅 Google Workspace 的其他注意事项

全网域安装

如果您计划让应用仅针对 Google Workspace 或 Cloud Identity 用户 并始终在整个网域范围内 安装,那么您的应用就不需要进行应用验证了。这是因为 安装后,域管理员就可以向第三方和内部应用授予 用户的数据。只有组织管理员才能将应用添加到 可在其网域内使用的许可名单

请参阅常见问题解答,了解如何让应用成为全网域安装 我的应用中有用户使用 企业账号