我正在尝试在 Google Cloud 的一个项目中列出所有用户及其访问级别。
我可以使用命令提示符命令来做到这一点,
gcloud projects get-iam-policy MY_PROJECT
但是,当我尝试使用API进行操作时,我得到{}
了响应正文。
有什么理由吗?或者,还有其他方法吗?
TIA
我正在尝试在 Google Cloud 的一个项目中列出所有用户及其访问级别。
我可以使用命令提示符命令来做到这一点,
gcloud projects get-iam-policy MY_PROJECT
但是,当我尝试使用API进行操作时,我得到{}
了响应正文。
有什么理由吗?或者,还有其他方法吗?
TIA
您正在执行的 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()
方法的参考。