クラウド管理者は、Google Cloud Platform (GCP) プラグインを利用することにより、Automation Assembler のテンプレートを使用してサービス アカウントを作成できます。サービス アカウントを GCP リソースに接続して、リソースがそのサービス アカウント経由でのみアクセスされるようにすることができます。

重要: VMware Aria Automation では現在、ストレージ バケット リソースへのサービス アカウントの接続がサポートされています。

サービス アカウントのプロパティ

サービス アカウント リソースをプロビジョニングするには、次のプロパティが必要です。

プロパティ 説明
name サービス アカウントのリソース名。
account チームがクラウド テンプレートを展開するアカウント リージョンの GCP クラウド アカウント。

詳細については、「VMware Aria Automation での Google Cloud Platform クラウド アカウントの作成」を参照してください。

account_id サービス アカウントのメール アドレスの生成に使用されるアカウント ID。6 ~ 30 文字にする必要があります。プロビジョニング後にサービス アカウント名を変更することはできません。

サービス アカウント キーのプロパティ

サービス アカウントに関連付けられている GCP リソースにアクセスするには、サービス アカウント キーを作成する必要があります。

サービス アカウント キーをプロビジョニングするには、次のプロパティが必要です。

プロパティ 説明
name サービス アカウントのリソース名。
account チームがクラウド テンプレートを展開するアカウント リージョンの GCP クラウド アカウント。

詳細については、「VMware Aria Automation での Google Cloud Platform クラウド アカウントの作成」を参照してください。

service_account_id サービス キーの作成に使用されるアカウント リソース ID。

サービス アカウント キーが正常に作成されたら、コピーして JSON ファイルに保存できます。サービス アカウント キーをコピーするには、次の手順を実行します。

  1. Automation Assembler で、[リソース] > [展開] の順に選択し、展開を特定します。
  2. [トポロジ] タブで、サービス アカウント キーを選択します。
  3. [属性] セクションを開き、private_key_data プロパティを見つけます。
  4. 展開が正常に完了したら、すぐにサービス アカウント キーをコピーします。

    サービス アカウント キーは安全な場所に保管してください。

ストレージ バケットを使用したサービス アカウントのプロビジョニング

次のテンプレートは、ストレージ バケットを使用してサービス アカウントをプロビジョニングする方法の例を示しています。この例では、ストレージ バケット、サービス アカウント、サービス アカウント キーを作成します。

関連付けられたサービス アカウントからのみストレージ バケットにアクセスできるようにするには、クラウド テンプレートの acl プロパティを使用します。このプロパティは、ストレージ バケット リソースにアクセス コントロールを設定するために使用されます。バケットのアクセス コントロールの詳細については、Google Cloud REST のドキュメントを参照してください。

formatVersion: 1
inputs: {}
resources:
  key_owner:
    type: Idem.GCP.IAM.SERVICE_ACCOUNT_KEY
    dependsOn:
      - owner
    properties:
      name: owner
      account: gcp
      service_account_id: ${resource.owner.resource_id}
  owner:
    type: Idem.GCP.IAM.SERVICE_ACCOUNT
    properties:
      name: sa-1
      account: gcp
      account_id: sa-bucket-owner
  bucket:
    type: Idem.GCP.STORAGE.BUCKET
    dependsOn:
      - owner
    properties:
      name: bucket-1
      account: gcp
      acl:
        - entity: user-${resource.owner.email}
          role: OWNER