我正在尝试在Google Cloud组织中创建一个Custom Role,然后将该组应用于该组织的一个项目。但是,这似乎不起作用:
$ gcloud projects add-iam-policy-binding \
--member="group:data.viewer@example.com" \
--role="roles/viewer" "my-project"
ERROR: Policy modification failed. For a binding with condition, run "gcloud alpha iam policies lint-condition" to identify issues in condition.
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: Group data.viewer@example.com does not exist.
这是我要分配的组织级角色:
$ gcloud iam roles describe data.viewer --organization 1234567
description: Can View Analytics
etag: ...
name: organizations/1234567/roles/data.viewer
stage: ALPHA
title: Data Viewer
documentation似乎易于解释:
Custom roles can only be used to grant permissions in policies for the same project or organization that owns the roles or resources under them. You cannot grant custom roles from one project or organization on a resource owned by a different project or organization.
这是否意味着我的自定义角色 或 不能在该组织的项目中使用?
我还想知道这是否不是将用户分组并授予他们对各种项目权限的正确方法。
答案 0 :(得分:2)
根据以上错误,似乎组data.viewer@example.com不存在。 您可以确定该组确实存在并由同一组织拥有吗?
答案 1 :(得分:2)
目前,根据云文档[1],“您不能在文件夹级别创建自定义角色。自定义角色只能用于在拥有其下的角色或资源的同一项目或组织的策略中授予权限。您不能从一个项目或组织授予由另一个项目或组织拥有的资源上的自定义角色。”请参阅该页面上的蓝色注释。
[1] https://cloud.google.com/iam/docs/understanding-custom-roles#basic_concepts
答案 2 :(得分:0)
这是可能的。
您需要将项目中的角色指定为:
organizations/1234567/roles/data.viewer