如何使用 Google Cloud Deployment Manager 将 IAM 策略绑定添加到服务帐户?

How to add IAM policy binding to a service account using Google Cloud Deployment Manager?

我想用 Deployment Manager 编写 GCP Deployment Manager resource template that can create a IAM policy binding to a service account as a resource. In particular, I want to configure allowing a member to impersonate a single service account

我知道这可以通过 GCP 控制台完成,gcloud SDK or Pulumi

也许我遗漏了一些东西,但如何使用 Deployment Manager 实现这一点?

您可以使用 Deployment Manager 在创建服务帐户时创建绑定到服务帐户的 IAM 策略。

我使用以下 jinja 文件在我自己的项目中对其进行了测试。

  1. 我创建了一个deploy.jinja
resources:
- name: test-name-deploy
  type: iam.v1.serviceAccount
  properties:
    accountId: testing
    displayName: testing-sa
  accessControl:
    gcpIamPolicy:
      bindings:
      - role: roles/editor
        members:
        - "user:myuser@gmail.com"
  1. 我创建了一个部署:
gcloud deployment-manager deployments create mytestdm --template=deploy.jinja

我收到了以下结果:

NAME              TYPE                   STATE      ERRORS  INTENT
test-name-deploy  iam.v1.serviceAccount  COMPLETED  []

考虑到您需要 API iam.googleapis.com 启用。

您可以查看以下内容documentation了解更多信息。