我想使用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管理员来查看用户的组成员资格,因此我们正在寻找一种方法来提供此信息。
看起来我们现在可以使用beta命令搜索组了:
gcloud beta identity groups search --organization="<org_id>"
--labels="cloudidentity.googleapis.com/groups.discussion_forum"
还有一大堆用于组成员的命令。
您只能检查在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
更多细节在这里