【问题标题】:GCP - gcloud commands to retrieve admin roles and member infoGCP - 用于检索管理员角色和成员信息的 gcloud 命令
【发布时间】:2022-12-08 23:19:22
【问题描述】:
出于风险控制的原因,我们需要有脚本来获取所有管理员角色以及属于这些管理员角色的人员的信息。请注意,我特别谈论“管理员角色”(内置和自定义),例如超级管理员,而不是授予项目中人员的标准角色等。我还没有找到可以提供此信息的 gcloud 命令。此外,我不想以超级管理员身份运行此脚本 - 我可以创建自定义角色,但无法确定此角色需要哪些权限才能获得对此信息的只读访问权限。
如果有另一种非 gcloud 脚本方法来执行此操作,我愿意接受,但我认为 gcloud 将是最容易开始工作的方法。
任何帮助将不胜感激。
法斯
审查了 gcloud 的文档但不是运气
【问题讨论】:
标签:
security
google-cloud-platform
gcloud
roles
【解决方案1】:
您可以将 gcloud 命令与 get-iam-policy 一起使用:
gcloud projects get-iam-policy ${project_id}
--flatten="bindings[].members"
--format="table(bindings.members)"
--filter="bindings.role=roles/admin"
filter 参数允许过滤所需的字段,我在这个例子中使用了 bindings.role=roles/admin。
flatten 和format 参数允许恢复成员。
此命令允许显示具有roles/admin 的成员。
您还可以配置角色列表并显示包含这些角色的成员:
#!/bin/bash
declare -a StringArray=("roles/admin" "roles/my_custom_role" )
# Iterate over roles
for role in ${StringArray[@]}; do
gcloud projects get-iam-policy ${project_id}
--flatten="bindings[].members"
--format="table(bindings.members)"
--filter="bindings.role=${role}"
done