在构建和测试某些自动化基础设施配置的过程中,我意外地从自己和所有其他用户中删除了“roles/resourcemanager.organizationAdmin”角色(以及可以设置 IAM 策略的任何其他角色)。这意味着我目前无法管理我的 GCP 组织的 IAM 策略。
不用说,这是一个相当大的问题。最值得注意的是,我的帐户不再有帐单管理员,也无法指定帐单管理员,这很快就会成为问题。
尝试编辑策略时,IAM 控制面板显示以下工具提示:
You need permissions for this action.
Required permission(s): resourcemanager.organizations.setIamPolicy
类似地,当我尝试通过 gcloud CLI 设置 IAM 策略时收到错误:
~$ gcloud organizations add-iam-policy-binding <ORG_ID_REDACTED> --member="user:<MY_EMAIL_REDACTED>" --role="roles/resourcemanager.organizationAdmin"
ERROR: (gcloud.organizations.add-iam-policy-binding) User [<MY_EMAIL_REDACTED>] does not have permission to access organization [<ORG_ID_REDACTED>:setIamPolicy] (or it may not exist): The caller does not have permission
鉴于我实际上不再拥有该权限,这两个错误都不足为奇。我的用户帐户直接绑定了以下角色:
- 组织角色管理员
- 服务帐户管理员
- 组织政策管理员
- 文件夹 IAM 管理员
- 文件夹移动器
- 项目 IAM 管理员
此外,我所在的 GSuite 群组应具有以下角色:
- 计算网络管理员
- 计算共享 VPC 管理员
- 所有者<- 这个特别看起来应该有帮助,但事实并非如此
- 文件夹管理员
- 项目创建者
- 项目删除器
- 项目推进者
- 计算安全管理员
如果这很重要,我确实拥有该组织的 GSuite“超级管理员”帐户的凭据。尽管乍一看,该管理控制台中的选项似乎与 GCP IAM 配置完全分开。
如果不花一大笔钱,我就找不到 Google 的支持选项,这不是一个好选择,因为这个组织是用来尝试某些技术的沙箱,而不是真正的企业。除了删除所有项目并创建一个全新的组织之外,我现在还有其他可行的选择吗?
答案1
因此,您删除了您的组织管理员角色,但您仍然具有组织管理员角色,还有组织政策管理员角色......
因此在这种情况下,我建议您确保您以您的用户身份执行该命令,我知道这是多余的,但再检查一次总是好的。
如果仍然无法解决,请检查这正如你所说,你有一个 GSuite 超级管理员账户