GAM项目授权管理完全指南
GAM command line management for Google Workspace 项目地址: https://gitcode.com/gh_mirrors/ga/GAM
前言
GAM(Google Workspace Administration Manager)作为一款强大的Google Workspace管理工具,需要通过授权才能对域内资源进行操作。本文将全面解析GAM项目的授权机制,帮助管理员正确配置和使用GAM工具。
授权基础概念
GAM授权主要分为两类操作权限:
-
客户端权限(Client):用于操作域内对象
- 示例:用户管理、群组操作、教室管理等
- 客户端代表自身执行操作
-
服务账号权限(Service Account):操作用户拥有的对象
- 示例:访问用户文件、日历等
- 服务账号代表用户执行操作
准备工作
在开始授权配置前,请确保完成以下准备工作:
-
验证Google Cloud Platform服务状态
- 确保管理员所在组织单元的"Google Cloud Platform"服务状态为"开启"
-
检查API范围可用性
- 确认"额外服务访问控制"设置为"对所有组织单元开启"
-
验证内部应用信任设置
- 在安全设置中启用"信任内部、域拥有的应用"
-
教育版特殊设置
- 如需使用Classroom API,确保已启用相关数据访问权限
- 确认管理员账户所在组织单元设置为"所有用户年满18岁"
项目授权配置
1. 创建新GAM项目
创建新项目将生成两个关键文件:
client_secrets.json
(客户端凭证)oauth2service.json
(服务账号凭证)
基本创建命令
gam create project [管理员邮箱] [项目ID]
高级创建选项
gam create project [admin 管理员邮箱] [project 项目ID]
[appname 应用名称] [supportemail 支持邮箱]
[projectname 项目名称] [parent 父文件夹]
[saname 服务账号名称] [sadisplayname 服务账号显示名]
[sadescription 服务账号描述]
2. 使用现有项目
如果已有项目,可将其配置为GAM项目:
gam use project [admin 管理员邮箱] project 项目ID
3. 项目文件夹创建
为项目创建父文件夹:
gam create gcpfolder 文件夹名称
权限问题解决方案
1. 授权超级管理员创建项目
当遇到创建权限问题时,需为管理员添加以下角色:
- 项目创建者(Project Creator)
- 组织策略管理员(Organization Policy Administrator)
2. 服务账号密钥上传授权
遇到密钥上传限制时,需修改以下组织策略:
iam.managed.disableServiceAccountKeyUpload
iam.disableServiceAccountKeyUpload
将这两项策略的执行状态设置为"关闭"
3. 授权GAM创建项目
当项目创建被阻止时,需将GAM项目创建应用标记为受信任应用。
服务账号管理
1. 服务账号密钥管理
创建新密钥:
gam create sakey [admin 管理员邮箱] [project 项目ID]
[sa 服务账号邮箱] [localkeysize 密钥大小]
更新现有密钥:
gam update sakey [admin 管理员邮箱] [project 项目ID]
[sa 服务账号邮箱] [localkeysize 密钥大小]
2. 服务账号访问控制
可配置两种访问级别:
- 完全访问:服务账号拥有所有权限
- 选择性访问:按需分配特定权限
无头计算机和云Shell配置
自2022年2月28日起,Google要求无头环境使用新的客户端认证流程。GAM已适配这一变更,确保在以下环境中正常工作:
- 无显示器计算机
- 云Shell环境
- 自动化脚本环境
最佳实践建议
- 定期轮换密钥:建议每90天更新一次服务账号密钥
- 最小权限原则:仅授予必要的权限
- 项目隔离:为不同用途创建独立项目
- 密钥安全:妥善保管生成的密钥文件
- 监控审计:定期检查项目和服务账号活动
常见问题排查
-
项目创建失败:
- 检查管理员是否有创建项目权限
- 验证组织策略设置
- 确认GAM项目创建应用已被信任
-
密钥上传失败:
- 检查
disableServiceAccountKeyUpload
策略 - 确认服务账号IAM权限
- 检查
-
认证过期:
- 检查管理员账户的重新认证要求
- 考虑启用"豁免受信任应用"选项
通过本文的详细指南,管理员应能全面掌握GAM项目的授权管理,确保工具的安全有效使用。
GAM command line management for Google Workspace 项目地址: https://gitcode.com/gh_mirrors/ga/GAM
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考