针对 GWfE 第三方应用访问权限控制增强后的开发者最佳做法

Google 推出了应用访问权限控制设置,以便用户在使用 Google Workspace 教育版帐号登录时,能够更轻松地控制第三方应用访问其组织的 Google 数据的方式。虽然第三方应用开发者无需采取任何行动,但下面是其他开发者认为有用的一些最佳实践。

使用增量 OAuth

您可以使用增量授权,最初仅请求启动应用所需的范围,然后在需要新权限时申请其他范围。然后,应用上下文会识别向用户发出请求的原因。

登录时,您的应用会请求一些基本范围,例如登录范围配置文件以及应用执行操作所需的其他初始范围。之后,当用户想要执行需要额外范围的操作时,您的应用会请求这些额外的范围,并且用户仅会在同意页面中授权新的范围。

构建 Google 课堂插件时,您应遵循 Google Workspace Marketplace 指南,提供您的应用所需的 OAuth 范围的完整列表。只有这样,管理员才能了解需要同意网域用户同意的范围。

确保所有应用都通过 OAuth 验证

所有访问 Google API 的应用都必须验证能否准确反映 Google 的 API 服务用户数据政策所指定的身份和 intent。如果您维护多个使用 Google API 的应用,请确保每个应用都已经过验证。管理员可能会看到与您的经过验证的品牌关联的所有 OAuth 客户端 ID。为帮助管理员避免配置错误的 OAuth 客户端 ID,请将单独的 Google Cloud 项目用于测试和生产,并删除所有未使用的 OAuth 客户端 ID。

OAuth API 验证流程是 Google Cloud Platform 用来确保请求敏感范围或受限范围的应用安全且合规的过程。验证流程有助于保护 Google Cloud 用户和数据免遭未经授权的访问。

请求敏感范围或受限范围的应用必须遵守 Google API 服务用户数据政策。此政策要求应用保护用户数据,并且仅将数据用于用户授权的用途。应用可能还需要接受独立的安全评估,以验证是否符合 Google Cloud 的安全要求。

请注意,OAuth API 验证流程最多可能需要几周才能完成。您的应用经过验证后,您便可以请求所需的敏感范围或受限范围。

如需了解详情,请参阅 OAuth API 验证常见问题解答

处理多个 OAuth 客户端 ID

一个 Google Cloud 项目可能有多个 OAuth 客户端 ID,这可能需要网域管理员配置多次。

确保 OAuth 客户端 ID 准确无误

请与您的开发团队联系,了解哪些 OAuth 客户端 ID 目前用于与 Google OAuth 集成。使用两个不同的 Google Cloud 项目进行测试和生产,以帮助管理员了解要配置哪些 OAuth 客户端 ID。从生产项目中删除所有已弃用或过时的客户端 ID。

上传 CSV 文件

如果您有多个客户端 ID,我们建议您使用 CSV 批量上传选项,以帮助管理员快速配置您的所有应用。

字段包括:

字段 必需 备注
应用名称 输入应用的名称。您在 CSV 文件中对应用名称所做的更改不会在管理控制台中更新。
类型 可以选择 Web 应用AndroidiOS
ID 如果是 Web 应用,请输入分配给应用的 OAuth 客户端 ID。

对于 Android 和 iOS 应用,请输入应用在 Google Play 或 Apple App Store 中使用的 OAuth 客户端 ID 或软件包 ID/软件包 ID。
组织部门 由客户填写。

输入正斜杠 (/) 可将应用访问权限设置应用于整个网域。如需将访问权限设置应用于特定组织部门,请在每个组织部门的电子表格中添加一行,重复应用名称、类型和 ID。(例如“/org_unit_1/sub_unit_1”)。
有访问权限的应用 是“可信”“已屏蔽”或“受限”中的一种。

OAuth 错误

这些新的管理员控制功能中引入了两条错误消息。

  • Error 400: access_not_recommended - 当 OAuth 连接因您的应用尚未配置而遭拒时收到。
  • 错误 400:admin_policy_enforced - 当 OAuth 连接因管理员屏蔽而遭拒时会收到。

被指定为未满 18 周岁的用户

管理员可以为被指定为未满 18 周岁的用户管理对未配置的第三方应用的访问权限。如果用户遇到“禁止访问:您的机构管理员需要审核“应用名称”的错误,则必须从错误消息中请求访问权限。以便管理员审核第三方应用。管理员可以决定是允许还是屏蔽第三方应用。