2

IAM ポリシーでプロジェクトを更新するために使用しています。GCP デプロイメント マネージャーのテンプレートでは、python Jinja ファイルを使用していますが、IAM ポリシーを追加したいと考えています (ユーザー/サービス アカウントにロールを割り当てます)。誰かが Jinja/ 構成ファイルを変更して、変更方法を特定できますか?

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/examples/v2/project_creation/config.yaml

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/examples/v2/project_creation/project.py

4

6 に答える 6

9

新しいサービス アカウントを作成し、それを所有者として既存のプロジェクトに追加する jinja スニペットを次に示します。これには、プロジェクトの IAM を管理するための適切なアクセス権をデプロイメント マネージャーに割り当てる必要があります。

{% set deployment = env['deployment'] %}
{% set project = env['project'] %}

resources:
- name: {{ deployment }}-svc-account
  type: iam.v1.serviceAccount
  properties:
    accountId: {{ deployment }}-svc-account
    displayName: {{ deployment }}-svc-account

- name: get-iam-policy
  action: gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.getIamPolicy
  properties:
    resource: {{ project }}
  metadata:
    runtimePolicy:
    - 'UPDATE_ALWAYS'

- name: patch-iam-policy
  action: gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.setIamPolicy
  properties:
    resource: {{ project }}
    policy: $(ref.get-iam-policy)
    gcpIamPolicyPatch:
      add:
      - role: roles/owner
        members:
        - serviceAccount:$(ref.{{ deployment }}-svc-account.email)
于 2018-03-21T20:42:10.873 に答える