Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何列出我的谷歌云项目的所有IAM用户_Google Cloud Platform_Gcloud_Google Cloud Iam - Fatal编程技术网

Google cloud platform 如何列出我的谷歌云项目的所有IAM用户

Google cloud platform 如何列出我的谷歌云项目的所有IAM用户,google-cloud-platform,gcloud,google-cloud-iam,Google Cloud Platform,Gcloud,Google Cloud Iam,我希望能够列出与我的项目相关的所有用户和服务帐户(最好使用gcloudCLI工具,但如果需要,很乐意进行API调用) 我可以很容易地使用列出与项目关联的所有服务帐户,但是如何也列出所有用户呢?我希望有以下内容,但在doco中我看不到任何内容: gcloud beta iam users list 以下命令列出了与项目关联的所有服务帐户: $ gcloud iam service-accounts list NAME EMA

我希望能够列出与我的项目相关的所有用户和服务帐户(最好使用
gcloud
CLI工具,但如果需要,很乐意进行API调用)

我可以很容易地使用列出与项目关联的所有服务帐户,但是如何也列出所有用户呢?我希望有以下内容,但在doco中我看不到任何内容:

gcloud beta iam users list
以下命令列出了与项目关联的所有服务帐户:

$ gcloud iam service-accounts list

NAME                                    EMAIL
Compute Engine default service account  12345678-compute@developer.gserviceaccount.com
dummy-sa-1                              dummy-sa-1@MY_PROJECT.iam.gserviceaccount.com
如果要列出在指定项目上被授予任何IAM角色的所有用户/服务帐户,可以使用以下命令:

$ gcloud projects get-iam-policy MY_PROJECT

bindings:
- members:
  - serviceAccount:12345678-compute@developer.gserviceaccount.com
  - user:alice@foobar.com
  role: roles/editor
- members:
  - user:you@yourdomain.com
  - user:someoneelse@yourdomain.com
  role: roles/owner
etag: ARBITRARY_ETAG_HERE
version: 1
,在某些情况下,这可能更容易解析,或者只打印您需要的信息

示例:

# Prints the output as json instead of the default yaml format
$ gcloud projects get-iam-policy MY_PROJECT --format=json

# Display just the bindings in json format
$ gcloud projects get-iam-policy MY_PROJECT --format='json(bindings)'

# Display the bindings in a flattened format
$ $ gcloud projects get-iam-policy MY_PROJECT --format='flattened(bindings)'

以下命令可以清晰地查看GCP帐户中的项目成员:
gcloud项目获取iam策略项目\u ID--flant=“bindings[].members”--format=“table(bindings.members)”
以下命令将列出整个GCP组织中的所有非服务帐户:

gcloud organizations get-iam-policy ORGANIZATION_ID | grep user\: | sort | uniq
获取组织ID

gcloud organizations list
列出服务帐户 列出项目的角色成员 向角色添加/影响用户 删除用户:

$ gcloud projects remove-iam-policy-binding [project] \
--member="user:name@gmail.com" \
--role="roles/iam.serviceAccountUser"
向角色添加/影响google组
您可以使用“搜索所有iam策略”列出项目/文件夹/组织的所有iam策略,并对用户进行grep:

$ gcloud asset search-all-iam-policies --scope=projects/123 | grep user:
这将不仅显示在项目本身上被授予角色的用户,还显示在子资源(如计算实例或bigquery数据集)中被授予角色的用户

您可以将范围更改为organizations/123,以便在整个组织中搜索,只要您对该范围具有
cloudasset.assets.SearchAllAmPolicys
权限


另一篇帖子中有更多详细信息:

我想我发现了一个bug-当使用
gcloud projects get iam policy MY_PROJECT
时,它不会列出任何具有继承权限的用户/电子邮件(例如,从文件夹中)。或者与它们有什么特别的关系?如何获取所有项目中的所有用户?@james要获取所有项目中的所有用户,您必须首先列出所有项目,然后对于每个项目,您必须使用上述建议获取该项目的绑定。@GrahamPolley要获取该信息,您必须获得该项目的祖先,然后你会得到项目的IAM策略绑定,然后你会把它的每一个父级IAM绑定都放到树上,直到组织完成为止。@lukwam你能分享bash来完成吗?提前谢谢
$ gcloud projects add-iam-policy-binding [project] \
--member="user:name@gmail.com" \
--role="roles/iam.serviceAccountUser" 
$ gcloud projects remove-iam-policy-binding [project] \
--member="user:name@gmail.com" \
--role="roles/iam.serviceAccountUser"
$ gcloud projects add-iam-policy-binding [project] \
--member="group:my_group@googlegroups.com" \
--role="roles/storage.admin"
$ gcloud asset search-all-iam-policies --scope=projects/123 | grep user: