如何使用 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 文件在我自己的项目中对其进行了测试。
- 我创建了一个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"
- 我创建了一个部署:
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了解更多信息。
我想用 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 文件在我自己的项目中对其进行了测试。
- 我创建了一个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"
- 我创建了一个部署:
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了解更多信息。