0

我正在尝试在 Google Cloud 的一个项目中列出所有用户及其访问级别。

我可以使用命令提示符命令来做到这一点, gcloud projects get-iam-policy MY_PROJECT

但是,当我尝试使用API进行操作时,我得到{}了响应正文。

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

TIA

4

1 回答 1

2

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

您可以用来了解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,您可以在此其他链接中找到其文档页面。在同一页面中,您可以简单地添加MY_PROJECT为资源,您将看到报告的输出与 with 相同gcloud projects get-iam-policy MY_PROJECT

最后,关于您提到使用 Python 执行此操作,您可能可以查看Resource Manager Client Libraries 文档,您将在其中找到有关如何安装和使用它们的信息。然后,您可以查看库参考页面,您可以在其中找到每种可用方法的详细说明(和示例)。例如,这里有您需要使用的getIamPolicy()方法的参考。

于 2018-05-18T13:55:04.563 回答