受限范围验证

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

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

当您使用 OAuth 2.0 从 Google 账号获取访问相应数据的权限时,您可以使用称为范围的字符串来指定要访问的数据类型以及所需的访问权限。如果您的应用请求敏感 受限范围,则需要完成验证流程,除非您的应用的使用情况符合 例外情况

与敏感范围相比,受限范围的数量较少。 验证 OAuth API 验证常见问题解答中包含当前敏感范围和受限范围的列表。 这些范围可广泛访问 Google 用户数据,您必须先完成范围验证流程,然后才能从任何 Google 账号请求这些范围。如需了解此要求,请参阅 Google API 服务用户数据政策特定 API 范围的其他要求 特定产品的 Google 开发者页面。如果您在服务器上存储或传输受限范围的数据,则需要完成安全评估

了解受限范围

如果您的应用请求了任何受限范围,但未获得例外情况,则需要满足《Google API 服务用户数据政策》的特定 API 范围的其他要求,或者产品Google 开发者页面上的产品特定要求,这需要更广泛的审核流程。

了解范围使用情况

  • 查看您的应用使用或想要使用的范围。如需查找您现有的范围使用情况,请检查应用的源代码中是否有随授权请求发送的任何范围。
  • 确定所请求的每个权限范围都是应用功能所需的操作所必需的,并且使用提供该功能所需的最低权限。Google API 通常会在产品的 Google 开发者页面上提供有关其端点的参考文档,其中包含调用端点或其中特定属性所需的范围。如需详细了解应用调用的 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 政策的用途,并且只能以您在应用操作和隐私权政策中向用户声明的方式使用。
  • 请参阅 API 文档,详细了解每个范围,包括其潜在的 sensitive or restricted 状态。
  • 在 Cloud Console的 Data Access page 中声明应用使用的所有范围。 您指定的范围会归入敏感或受限类别,以便突出显示所需的任何其他验证。
  • 找到与集成所用数据最匹配的范围,了解其用途,重新确认一切在测试环境中仍能正常运行,然后准备提交以供验证。

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

允许的应用类型

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

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

Security assessment

如果应用请求访问 Google 用户的受限数据,并且能够从第三方服务器或通过第三方服务器访问数据,则必须接受 Google 选任的安全评估员进行的安全评估。此评估有助于确保 Google 用户的数据安全,方法是验证所有访问 Google 用户数据的应用是否具备安全处理数据以及在用户提出请求时删除用户数据的能力。

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

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

当需要重新认证您的应用时,Google 审核团队会向您发送电子邮件。为确保您的团队中正确的成员收到有关此年度违规处置的通知,请将其他 Google 账号与您的 Cloud Console 项目相关联,并将其设为所有者或编辑者。它还有助于及时更新 Google Cloud Console OAuth Branding page中指定的用户支持和开发者联系电子邮件地址。

准备验证的步骤

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

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

应用首页要求

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

  • 您的首页必须可公开访问,而不仅仅是可供网站的已登录用户访问。
  • 首页与正在接受审核的应用之间的相关性必须明确。
  • 指向应用在 Google Play 商店中的商品详情或其 Facebook 页面的链接不属于有效的应用首页。

应用隐私权政策链接要求

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

  • 隐私权政策必须对用户可见,托管在与应用首页相同的网域中,并且在 Google API Console的 OAuth 权限请求页面上提供指向该政策的链接。请注意,首页必须包含应用的功能说明,以及指向隐私权政策和可选服务条款的链接。
  • 隐私权政策必须披露您的应用访问、使用、存储或分享 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 Cloud Console 项目用于组织您的所有 Cloud Console 资源。项目包含一组有权执行项目操作的相关联 Google 账号、一组已启用的 API,以及这些 API 的结算、身份验证和监控设置。例如,一个项目可以包含一个或多个 OAuth 客户端,配置供这些客户端使用的 API,以及配置一个 OAuth 权限请求页面,该页面会在用户授权访问您的应用之前向其显示。

如果您的任何 OAuth 客户端尚未准备好投入生产,我们建议您从申请验证的项目中将其删除。您可以在 Clients page中执行此操作。

如需提交验证申请,请按以下步骤操作:

  1. 确保您的应用符合《Google API 服务条款》《Google API 服务用户数据政策》
  2. 在 Cloud Console中,及时更新项目关联账号的所有者和编辑者角色,以及 OAuth 权限请求页面的用户支持电子邮件地址和开发者联系信息。这样可确保您的团队中合适的成员收到有关任何新要求的通知。
  3. 前往 Cloud ConsoleOAuth 验证中心
  4. 点击项目选择器按钮。
  5. 在随即显示的请选择对话框中,选择您的项目。如果您找不到项目,但知道项目 ID,则可以在浏览器中按以下格式构建网址:

    https://console.developers.google.com/auth/branding?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 同意屏幕需要配置为内部用户类型。在这种情况下,您的应用可能需要获得组织管理员的批准。如需了解详情,请参阅 Google Workspace 的其他注意事项

全网域安装

如果您计划让应用仅面向 Google Workspace 或 Cloud Identity 组织的用户,并始终使用网域范围的安装,则您的应用无需进行应用验证。这是因为网域管理员可以通过全网域安装向第三方和内部应用授予访问用户数据的权限。只有组织管理员账号才能将应用添加到许可名单,以便在自己的网域中使用。

如需了解如何将应用设为全网域安装,请参阅常见问题解答我的应用的用户拥有来自其他 Google Workspace 网域的企业账号