作为管理员,您可以使用全网域授权功能,绕过最终用户同意,允许内部和第三方应用访问您用户的 Google Workspace 数据。为此,您需要在 Google Cloud 控制台中创建一个服务账号,并在 Google 管理控制台中将全网域授权委派给该账号。您还可以在管理控制台中为服务账号提供有限的 API 范围。如需详细了解全网域授权,请参阅使用全网域授权功能控制 API 访问权限。
管理和保护服务账号
Identity and Access Management (IAM) 针对使用服务账号限制访问权限并防范权限提升和不可否认威胁提供了相关准则。如需查看相关准则,请参阅使用服务账号的最佳做法。
本指南中的所有建议均适用于保护使用全网域授权的服务账号,但一些着重强调的做法如下:
请改用直接服务账号访问权限或 OAuth 同意机制 如果您可以直接使用服务账号或使用 OAuth 同意机制来完成任务,请避免使用全网域授权功能。 如果您无法避免使用全网域授权功能,请限制服务账号可以使用的 OAuth 范围集。虽然 OAuth 范围不会限制服务账号可以模拟的用户,但会限制服务账号可以访问的用户数据类型。 |
|
限制服务账号密钥的创建和上传 使用组织政策,通过全网域授权功能限制服务账号的密钥创建和上传。这样可以限制通过服务账号密钥进行的服务账号模拟。 |
|
停用默认服务账号的自动角色授予 系统会为默认创建的服务账号授予 Editor 角色,使该账号可以读取和修改 Google Cloud 项目中的所有资源。您可以为默认服务账号停用自动角色授予功能,以确保它们不会自动获得 Editor 角色,并且不会轻易被恶意用户利用。 |
|
限制横向移动 横向移动是指一个项目中的服务账号有权模拟另一个项目中的服务账号。这可能会导致对资源进行意外访问。使用“横向移动数据分析”可以检测和限制通过模拟进行的横向移动。 |
|
使用全网域授权功能限制对服务账号的访问权限 如果服务账号具有的访问权限超出用户,请勿允许用户更改服务账号的允许政策。使用 IAM 角色和全网域授权可以限制对服务账号的访问权限。 |
保护服务账号免遭内部人员外泄风险
请仅在有重要业务用例需要应用绕过用户同意访问 Google Workspace 数据时使用全网域授权功能。尝试使用替代方案,例如具有用户同意机制的 OAuth 或使用 Marketplace 中的应用。有关详情,请参阅 Google Workspace Marketplace。
请遵循以下最佳做法,保护具有全网域授权的服务账号免受内部人员外泄风险的影响:
仅授予必要权限 确保具有全网域授权的服务账号仅拥有执行预期功能所需的必要权限。请勿授予对非必要的 OAuth 范围的访问权限。 |
|
在专用 Google Cloud 项目中托管服务账号 确保具有全网域授权的服务账号托管在专用 Google Cloud 项目中。请勿将这些项目用于其他业务需求。 |
|
避免使用服务账号密钥 执行全网域授权无需使用服务账号密钥。请改用 signJwt API。 |
|
限制对具有全网域授权的项目的访问权限 设置全网域授权后,尽量减少对 Google Cloud 项目拥有编辑权限的用户人数。您可以使用 Cloud Asset Inventory API 了解谁有权访问服务账号。例如,使用 Cloud Shell 运行以下命令:
查找权限或角色(例如 |