使用Python API列出Google Cloud中项目中的所有用户

时间:2018-05-17 09:26:32

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

我正在尝试在Google云端的项目中列出具有访问级别的所有用户。

我可以使用命令提示符命令执行此操作, gcloud projects get-iam-policy MY_PROJECT

但是,当我尝试使用API时,我会将{}作为回复正文。

有什么理由?或者,还有其他方式吗?

TIA

1 个答案:

答案 0 :(得分:2)

您正在进行的API调用(projects.roles.list)列出了组织或项目中定义的所有自定义角色,因此它与the command gcloud projects get-iam-policy不同,后者检索IAM的IAM策略。项目

您可以用来了解gcloud命令背后的API调用的技巧是使用--log-http全局标志,该标志记录所有HTTP请求和响应,以便您可以检查所请求的资源。如果您运行gcloud命令共享添加该标志,您将看到以下内容:

$ gcloud projects get-iam-policy MY_PROJECT --log-http
==== request start ====
uri: https://cloudresourcemanager.googleapis.com/v1/projects/MY_PROJECT:getIamPolicy?alt=json
method: POST
== headers start ==

API调用背后的方法是resourcemanager.projects.getIamPolicy,您可以在this other link中找到其文档页面。在同一页面中,您只需添加MY_PROJECT作为资源,您就会看到报告的输出与gcloud projects get-iam-policy MY_PROJECT相同。

最后,关于您提到使用Python执行此操作,您可以查看Resource Manager Client Libraries documentation,在那里您可以找到有关如何安装和使用它们的信息。然后,您可以查看library reference page,在那里您可以找到每种可用方法的详细说明(和示例)。例如,此处有您需要使用的getIamPolicy() method的参考。