我使用此 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]"
]
}
]
}