如何列出整个GCP资产中具有特定角色的所有资源?

时间:2020-01-29 11:58:29

标签: google-cloud-platform google-iam google-cloud-iam

我可以使用以下命令来标识项目中具有所有者角色的所有资源;

gcloud projects get-iam-policy <PROJECTID> --flatten="bindings[].members" --format="table(bindings.members)" --filter="bindings.role:roles/owner"

要在所有项目中运行此命令,我认为这可能有效,但是不行。

for i in $(gcloud projects list | awk '{print $1}' | awk 'NR>1'); do echo PROJECT: $i && echo "--" && gcloud projects get-iam-policy --project=$i --flatten="bindings[].members" --format="table(bindings.members)" --filter="bindings.role:roles/owner"

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

我终于弄清楚了(我没有关闭循环-只是需要;最后完成)

如果以后有人需要的话,我想分享一下:

for i in $(gcloud projects list | awk '{print $1}' | awk 'NR>1'); do echo PROJECT: $i && echo "--" && gcloud projects get-iam-policy $i --flatten="bindings[].members" --format="table(bindings.members)" --filter="bindings.role:roles/owner"; done

答案 1 :(得分:0)

您处在正确的轨道上。我使用了我从朋友那里得到的以下脚本来打印某个电子邮件或服务帐户具有特定角色的所有项目。

它确实需要花费很多时间来执行,但它已经完成了,我刚刚对其进行了测试。

对于$(gcloud项目列表| sed's / | / /'| awk'{if(NR!= 1) 打印$ 1}');如果gcloud project get-iam-policy“ $ i”做 --flatten =“ bindings []。members” --format =“ table(bindings.members)” --filter =“ bindings.role:roles / owner” | grep -q'[USER_OR_SERVICE_ACCOUNT]';然后回显“ $ i”; fi;完成2> / dev / null

希望这会有所帮助。

答案 2 :(得分:0)

您可以使用search-all-iam-policies搜索在组织内的文件夹或项目上设置的所有IAM策略。

要找出谁拥有所有者角色:

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:roles/owner"

要查明Amy是否具有所有者角色:

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:(roles/owner amy@bar.com)"

要确定是否有任何Gmail帐户具有所有者角色:

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:(roles/owner *gmail*)"

您可以将范围更改为文件夹或项目。您必须对范围具有 cloudasset.assets.searchAllIamPolicies 权限,该权限包括在以下角色中:

  • roles / cloudasset.viewer
  • roles / cloudasset.owner
  • 角色/查看器
  • 角色/编辑器
  • 角色/所有者

文档:https://cloud.google.com/asset-inventory/docs/searching-iam-policies

支持的资源类型:https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types