GCP:使用 gcloud CLI 列出组织中所有组的成员,输出到 BigQuery
Posted
技术标签:
【中文标题】GCP:使用 gcloud CLI 列出组织中所有组的成员,输出到 BigQuery【英文标题】:GCP: List members of all groups in an organization using gcloud CLI, output to BigQuery 【发布时间】:2021-10-16 01:21:48 【问题描述】:我想使用 gcloud CLI 创建我们组织中 Google IAM 组中所有用户的表,并输出到 BQ 表。
我知道它涉及“gcloud 身份组成员资格列表”,但不清楚如何遍历组并将输出生成为 CSV。
我已经找到了一种遍历项目并获取每个项目的 iam 绑定的方法 - https://rajathithanrajasekar.medium.com/google-cloud-iam-users-extraction-across-all-projects-in-a-gcp-org-2fbe66ddc045 因此我只需要组成员信息,而不需要策略/绑定信息。
更新澄清: 我们的用户被分配到组织级别的 IAM 组 (https://console.cloud.google.com/iam-admin/groups)。我希望在 BigQuery 中生成这些成员的列表,这样我们就不必在它们中寻找可能找到用户的位置。
团队管理权限没有 Google Workspace 管理员按用户查看群组成员资格,因此我们正在寻找提供此信息的方法。
【问题讨论】:
改写。我想使用 CLI 生成我们组织中所有组的所有成员的列表。 【参考方案1】:您只能检查在 Google Cloud 中分配的组。您无法从不在 Google Cloud 中的群组获取数据。
您可以使用 Asset Iam 分析器获取一些数据,但不能在组织或文件夹级别执行此操作,您需要对每个项目进行迭代。并执行文件夹和组织级别的专用请求
#For Organization
gcloud asset analyze-iam-policy --expand-groups \
--output-group-edges --organization=<ORGANIZATION_NUMBER> \
--show-response \
--full-resource-name="//cloudresourcemanager.googleapis.com/organizations/<ORGANIZATION_NUMBER>"
#For Folder
gcloud asset analyze-iam-policy --expand-groups \
--output-group-edges --organization=<ORGANIZATION_NUMBER> \
--show-response \
--full-resource-name="//cloudresourcemanager.googleapis.com/folders/<FOLDER_NUMBER>"
#For Project
gcloud asset analyze-iam-policy --expand-groups \
--output-group-edges --organization=<ORGANIZATION_NUMBER> \
--show-response \
--full-resource-name="//cloudresourcemanager.googleapis.com/projects/<PROJECT_ID>" \
--expand-resources
更多详情here
【讨论】:
澄清一下,我有绑定/策略信息。我正在专门寻找组织级别的每个 IAM 组的成员列表。 为此,您可以使用我的第一个链接。您具有 IAM 策略绑定,但使用扩展组选项,您还可以查看每个组的内容。忘记绑定部分,只获取组内容描述! 将在本周晚些时候与有权访问的人进行测试。这看起来很有希望。【参考方案2】:看起来我们现在可以使用beta command 搜索组:
gcloud beta identity groups search --organization="<org_id>" \
--labels="cloudidentity.googleapis.com/groups.discussion_forum"
还有一大堆group membership 的命令。
【讨论】:
以上是关于GCP:使用 gcloud CLI 列出组织中所有组的成员,输出到 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章