3

我想知道是否有一种方法可以获取已添加用户的所有角色的列表,而不管角色应用于哪个资源?

例如roles/storage.admin,我可以获得存储桶中所有成员的列表,并且可以获得具有相同角色但在项目中的所有成员的列表:

gsutil iam get $BUCKET | jq '.bindings[] | select(.role == "roles/storage.admin")'  
gcloud projects get-iam-policy $PROJECT --format=json | jq '.bindings[] | select(.role == "roles/storage.admin")'

但似乎没有一个命令可以告诉您用户已添加到哪些角色以及该角色应用于哪些资源。有谁知道这样做的方法?

4

1 回答 1

3

角色不会直接分配给用户。这就是为什么没有可以使用的单一命令的原因。

IAM 成员(用户、服务帐户、组等)被添加到附加了角色的资源中。用户可以拥有项目权限,也可以拥有单个资源(计算引擎实例 A、存储桶 A/对象 B)的权限。用户也可以对项目没有权限,但对项目中的各个资源具有权限。

您将需要针对资源(组织、文件夹、项目和计算、存储、KMS 等项目)运行命令。

更复杂的是,有授予的角色和继承的角色。

于 2019-07-31T16:44:27.377 回答