You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google API获取IAM所有成员及对应角色列表

用API获取GCP项目IAM成员及角色列表方案

对应你使用的gcloud projects get-iam-policy <项目名称>命令,可直接调用Google Cloud Resource Manager V3 API的projects.getIamPolicy接口实现相同功能,具体操作如下:

接口基础信息

  • 请求方法:POST
  • 请求地址:https://cloudresourcemanager.googleapis.com/v3/projects/{项目标识}:getIamPolicy
    其中{项目标识}可替换为项目ID或者项目数字编号
  • 权限要求:调用身份需要持有resourcemanager.projects.getIamPolicy权限,默认Project Owner、Editor、Viewer角色均包含该权限

请求配置

请求体可直接为空,也可指定返回的IAM策略版本,建议指定版本3以支持条件策略等全部特性,示例请求体:

{
  "options": {
    "requestedPolicyVersion": 3
  }
}

返回结果解析

返回值中的bindings数组即为成员与角色的对应关系,每个数组项包含两个核心字段:

  • role:IAM角色的唯一标识,官方角色格式为roles/[角色名],自定义角色格式为projects/[项目ID]/roles/[自定义角色名]
  • members:对应该角色的所有授权主体列表,主体标识前缀包括user:(普通用户)、serviceAccount:(服务账号)、group:(用户组)、domain:(域名全量授权)等

返回结果示例:

{
  "version": 3,
  "bindings": [
    {
      "role": "roles/owner",
      "members": [
        "user:admin@example.com",
        "serviceAccount:deploy@demo-project.iam.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/viewer",
      "members": [
        "user:viewer@example.com"
      ]
    }
  ],
  "etag": "BwX9Z7x2KzM=",
  "auditConfigs": []
}

本地验证方法

你可以直接用gcloud命令输出结构化的JSON结果,和API返回结果完全一致,可用来做对照验证:
gcloud projects get-iam-policy <项目名称> --format=json

内容的提问来源于stack exchange,提问作者user3256289

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:06:04