组织管理员禁用iam.allowedPolicyMemberDomains策略时权限被拒(含Cloud Shell)
目标
我需要为项目chat-bot-social中的Cloud Run服务sharky-chat-service授予allUsers角色的run.invoker权限,使其可公开访问。为此必须先修改或禁用当前限制IAM成员为组织客户ID的constraints/iam.allowedPolicyMemberDomains组织策略。
详细信息
- 组织ID:275283949867
- 用户账号:Admin@sharkteam.poker
- 项目ID:chat-bot-social
- Cloud Run服务:sharky-chat-service
- 区域:europe-central2
当前有效组织策略(项目级别)
项目chat-bot-social上constraints/iam.allowedPolicyMemberDomains的有效策略:
constraint: constraints/iam.allowedPolicyMemberDomains listPolicy: allowedValues: C03qt98jf
(C03qt98jf为我的Google Workspace/Cloud Identity客户ID)
执行的命令
gcloud resource-manager \ org-policies \ disable-enforce constraints/iam.allowedPolicyMemberDomains \ --organization=275283949867
错误信息
ERROR: (gcloud.resource-manager.org-policies.disable-enforce) [Admin@sharkteam.poker] does not have permission to access organizations instance [275283949867:setOrgPolicy] (or it may not exist): The caller does not have permission. This command is authenticated as Admin@sharkteam.poker which is the active account specified by the [core/account] property
已排查步骤
- 验证IAM角色:确认用户
Admin@sharkteam.poker拥有组织275283949867的roles/resourcemanager.organizationAdmin角色,且无IAM条件约束。执行gcloud organizations get-iam-policy 275283949867 --format=json输出如下:
{ "members": [ "user:Admin@sharkteam.poker" ], "role": "roles/resourcemanager.organizationAdmin" }
(完整策略etag: BwY1BKRu-ZY=, version: 1)
2. Cloud Shell测试:在Cloud Shell中执行相同命令,仍出现完全相同的权限错误。
3. 重新认证:尝试通过gcloud auth application-default login和gcloud auth login Admin@sharkteam.poker --update-adc重新认证gcloud工具。
4. 检查组织状态:在Google Cloud控制台(IAM与管理 -> 身份与组织)确认组织状态为活跃,显示“Signup completed”,无异常警告。
核心疑问
我持有无附加条件的roles/resourcemanager.organizationAdmin角色,且在Cloud Shell中操作仍报错,为何仍会因setOrgPolicy权限遭拒绝?这是否是Google Cloud平台问题,或是还有其他可检查或尝试的操作?
内容的提问来源于stack exchange,提问作者Shark Team

