【问题标题】:List all users in a project in Google Cloud using Python API使用 Python API 列出 Google Cloud 中项目中的所有用户
【发布时间】:2018-05-17 09:26:31
【问题描述】:

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

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

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

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

TIA

【问题讨论】:

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


    【解决方案1】:

    您正在执行的 API 调用(projects.roles.list)列出了组织或项目中定义的所有自定义角色,因此它与检索项目的 IAM 政策的the command 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,您可以在 this other link 找到它的文档页面。在同一页面中,您可以简单地将MY_PROJECT 添加为资源,您将看到报告的输出与gcloud projects get-iam-policy MY_PROJECT 相同。

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

    【讨论】:

    • @SwatiSneha,你解决了吗?能否提供一个代码 sn-p?
    猜你喜欢
    • 1970-01-01
    • 2017-11-28
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多