首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google平台:如何通过REST调用获取为所有GCP资源的特定标识分配的权限

Google平台:如何通过REST调用获取为所有GCP资源的特定标识分配的权限
EN

Stack Overflow用户
提问于 2020-10-19 07:13:11
回答 1查看 2.1K关注 0票数 2

GCP:在IAM中,访问资源的权限不直接授予最终用户。相反,权限被分组为角色,角色被授予经过身份验证的成员。IAM策略定义并强制授予哪些角色给哪个成员,并且将此策略附加到资源参考:https://cloud.google.com/iam/docs/overview

因此,基本上,Google资源的访问控制是由IAM策略管理的。IAM策略附加于资源。

使用云资源管理器API,我们可以检索策略并检查分配给用户的权限,但它是以资源为中心的。可检索组织、文件夹、项目等的策略。示例:https://cloud.google.com/resource-manager/reference/rest/v1/organizations/getIamPolicy

Cloud :有一个用于搜索所有iam策略的API。使用查询参数,它为用户提供了一个筛选器,但它支持资源子集,可以在这些资源集上分配iam:https://cloud.google.com/asset-inventory/docs/reference/rest/v1/TopLevel/searchAllIamPolicies引用:

问题:是否可以获取所有GCP资源中授予的所有权限,而不是检查每个资源的IAM策略?

基本上,查找GCP中授予标识的所有权限的统一视图。问题是要理解分配给单个资源上的用户的权限,使用API,我们必须获取所有资源策略并检查它们的绑定。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-19 10:24:10

到目前为止,还没有一个gcloud或API调用可以用于检查授予特定资源(例如用户、服务帐户等)的权限。很容易就能解释你的问题。正如您已经知道的,您可以使用相关的gcloud命令搜索在每个不同资源上分配的特定角色,例如:

代码语言:javascript
运行
复制
gcloud asset search-all-iam-policies --scope='projects/[YOUR-PROJECT-ID]' --query='policy:[YOUR-USERNAME]@[YOUR-DOMAIN]'

其结果例如:

代码语言:javascript
运行
复制
---
policy:
  bindings:
  - members:
    - projectOwner:[PROJECT-ID]
    - user:[YOUR-USERNAME]@[YOUR-DOMAIN]
    role: roles/bigquery.dataOwner
project: projects/[PROJECT-NUMBER]
resource: //bigquery.googleapis.com/projects/[PROJECT-ID]/datasets/[DATASET-NAME]
---
policy:
  bindings:
  - members:
    - user:[YOUR-USERNAME]@[YOUR-DOMAIN]
    role: projects/[PROJECT-ID]/roles/[CUSTOM-ROLE-NAME]
  - members:
    - user:[ANOTHER-USERNAME]@[YOUR-DOMAIN]
    - user:[YOUR-USERNAME]@[YOUR-DOMAIN]
    role: roles/owner
project: projects/[PROJECT-NUMBER]

从这些响应中解析与在每个资源上分配的role:对应的字段,以使用相关的gcloud命令查看分配给该特定角色的权限。

代码语言:javascript
运行
复制
gcloud iam roles describe [CHANGE-FOR-ROLE-(e.g. roles/owner)] --project=[PR0JECT-ID]

并检查与includedPermissions:字段对应的输出。

因此,我将建议您使用特征请求 on GCP的公共问题跟踪器来检查这个问题在将来实现的可行性(或不可行)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64422678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档