GCP:在给定资源、成员和角色的情况下创建 IAM 策略绑定的通用例程

Posted

技术标签:

【中文标题】GCP:在给定资源、成员和角色的情况下创建 IAM 策略绑定的通用例程【英文标题】:GCP: Generic routine to create IAM Policy Binding given a resource, member, and role 【发布时间】:2020-03-30 17:29:45 【问题描述】:

我有一个 IAM 策略转储,我想为其中的所有添加一个新成员。问题是每个资源都有自己的用于设置 IAM 策略的 API,因此我需要单独处理每种类型的资源。这么辛苦。我想要一个通用的“IAM API”,它将资源和策略作为输入,并创建绑定。这样的事情可能吗?

作为参考,我的策略转储格式为:

- policy:
    bindings:
    - members:
      - user:tom@email.com
      role: roles/compute.networkUser
    etag: BwWfgKQuAFg=
  project: projects/800307802527
  resource: //compute.googleapis.com/projects/foo-proj/regions/us-central1/subnetworks/sub1

我有一个很长的这些记录列表,我想遍历它们,为每个记录添加一个成员“new-member@email.com”。我可以调用通用 IAM API 来将策略绑定添加到资源吗?

【问题讨论】:

每个资源都有自己的 API。 【参考方案1】:

正如评论中提到的,每个资源都有自己的 API。没有“通用”IAM API 来处理您的用例。但是,您可以通过Public Issue Tracker 创建功能请求,以请求实现此功能。

【讨论】:

嗯,就是这样。

以上是关于GCP:在给定资源、成员和角色的情况下创建 IAM 策略绑定的通用例程的主要内容,如果未能解决你的问题,请参考以下文章

使用 Terraform 创建 GCP 自定义 IAM 角色

在 Terraform for GCP 中允许帐户和角色时出错

通过API向用户分配IAM角色

如何列出与 gcp 服务帐户关联的角色?

Terraform GCP 将 IAM 角色分配给服务帐户

GCP IAM REST API 服务帐号密钥问题