我正在尝试在Google云端的项目中列出具有访问级别的所有用户。
我可以使用命令提示符命令执行此操作,
gcloud projects get-iam-policy MY_PROJECT
但是,当我尝试使用API时,我会将{}
作为回复正文。
有什么理由?或者,还有其他方式吗?
TIA
答案 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的参考。