google 计算引擎-项目中的角色

google 计算引擎-项目中的角色

我使用此 URL 获取项目内的所有角色,但我看到的只是我创建的 2 个自定义角色。除了这 2 个自定义角色之外,还有 5 个具有 OrgAdministrator 和其他角色的 Google 帐户。这些都没有显示出来。还有其他 API 可以用来获取项目中的所有角色吗?

得到https://iam.googleapis.com/v1/{父级=项目/*}/角色

答案1

https://iam.googleapis.com/v1/{parent=projects/*}/roles将允许您访问为您的项目设置的自定义角色。

您需要使用 API 来获取项目中的所有角色有什么特定原因吗?

您可以转到该页面查看项目可用的 GCP IAM 角色列表Cloud Console -> IAM & admin -> IAM -> Roles。该列表还包括您设置的自定义角色。

每个 GCP 产品都有一组可用的角色,这些角色记录在1对于 Compute Engine 和2分别用于 Cloud Storage。您可以在以下位置查看将 IAM 角色与 Cloud Storage 存储桶结合使用的编程示例:3

答案2

根据您提供的 URL,您正在使用身份管理 API您将获得类似如下的结果:

{
  "roles": [
    {
      "name": "projects/PROJECTID/roles/CustomRole",
      "title": "CUSTOMROLENAME",
      "description": "",
      "etag": "BwVR17ixlds="
    }
  ]
}

我理解您想要使用 API 来获取与访问 Cloud Console -> IAM 和管理 -> IAM -> 角色时看到的信息相同的信息。您可以使用的 API 是 Cloud Resource Manager API,并调用项目.getIamPolicy方法。您可以给它一个尝试这里通过在资源字段中添加您的项目 ID 并单击“执行”,您将获得如下结果:

{
  "version": 1,
  "etag": "BwVmNKKwGt4=",
  "bindings": [
    {
      "role": "roles/cloudbuild.builds.builder",
      "members": [
        "serviceAccount:[email protected]"
      ]
    },
    {
      "role": "roles/owner",
      "members": [
        "serviceAccount:[email protected]",
        "user:[email protected]"
      ]
    }
  ]
}

相关内容