Workload Identity プールとプロバイダの管理

このページでは、Workload Identity プールとその ID プロバイダを管理する方法について説明します。

プールとプロバイダの管理には、gcloud コマンドライン ツールか、REST API を使用します。

始める前に

Workload Identity プールを作成し、ID プロバイダを構成します。その方法については、次のいずれかのページをご覧ください。

Workload Identity プールの管理

プールの作成

Workload Identity プールを作成するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools create コマンドを実行します。

REST

projects.locations.workloadIdentityPools.create() を呼び出します。

プールの一覧表示

プロジェクト内のすべての Workload Identity プールを一覧表示するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools list コマンドを実行します。

REST

projects.locations.workloadIdentityPools.list() を呼び出します。

プールの取得

特定の Workload Identity プールの詳細を取得するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools describe コマンドを実行します。

REST

projects.locations.workloadIdentityPools.get() を呼び出します。

プールの更新

既存の Workload Identity プールを更新するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools update コマンドを実行します。

REST

projects.locations.workloadIdentityPools.patch() を呼び出します。

プールの削除

Workload Identity プールを削除するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools delete コマンドを実行します。

REST

projects.locations.workloadIdentityPools.delete() を呼び出します。

削除から最長 30 日間はプールの削除を取り消すことができます。30 日が経過すると、完全に削除されます。プールが完全に削除されるまで、その名前は新しい Workload Identity プールの作成時に再利用できません。

プールの削除の取り消し

削除後 30 日以内であれば、削除した Workload Identity プールを復元できます。プールの削除を取り消すには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools undelete コマンドを実行します。

REST

projects.locations.workloadIdentityPools.undelete() を呼び出します。

Workload Identity プロバイダの管理

プロバイダの作成

Workload Identity プロバイダを作成するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools providers create-aws コマンドを実行して AWS プロバイダを作成します。

gcloud beta iam workload-identity-pools providers create-oidc コマンドを実行して、OIDC プロバイダを作成します。これには Microsoft Azure も含まれます。

REST

projects.locations.workloadIdentityPools.providers.create() を呼び出します。

プロバイダのリスト化

プロジェクト内のすべての Workload Identity プロバイダを一覧表示するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools providers list コマンドを実行します。

REST

projects.locations.workloadIdentityPools.providers.list() を呼び出します。

プロバイダの取得

特定の Workload Identity プロバイダの詳細を取得するには、次のコマンドを実行します。

プロバイダの更新

既存の Workload Identity プロバイダを更新するには、次のコマンドを実行します。

gcloud

gcloud beta iam workload-identity-pools providers update-aws コマンドを実行して AWS プロバイダを更新します。

gcloud beta iam workload-identity-pools providers update-oidc コマンドを実行して、OIDC プロバイダを更新します。これには Microsoft Azure も含まれます。

REST

projects.locations.workloadIdentityPools.providers.patch() を呼び出します。

プロバイダの削除

Workload Identity プロバイダを削除するには、次のコマンドを実行します。

削除から最長 30 日間はプロバイダの削除を取り消すことができます。30 日が経過すると、完全に削除されます。プロバイダが完全に削除されるまで、その名前は新しいプロバイダの作成時に再利用できません。

プールの削除の取り消し

削除後 30 日以内であれば、削除した Workload Identity プロバイダを復元できます。プロバイダの削除を取り消すには、次のコマンドを実行します。

組織のポリシーを使用した ID プロバイダの構成の制限

組織の管理者は、組織が連携できる ID プロバイダを決定する必要があります。

許可する ID プロバイダを管理するには、組織の組織ポリシーを更新します。Cloud Consoleまたはgcloudコマンドライン ツールには、constraints/iam.workloadIdentityPoolProviders list 制約を使用して、許可されたプロバイダの発行者 URI を指定できます。

AWS の連携のみを許可するには、URI https://sts.amazonaws.com を指定して単独の制約を作成します。次の例は、gcloud コマンドライン ツールを使用してこの制約を作成する方法を示しています。

gcloud beta resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.amazonaws.com --organization=organization-number

Google Cloud リソースにアクセスできる AWS アカウント ID を指定することもできます。アカウント ID を指定するには、constraints/iam.workloadIdentityPoolAwsAccounts リスト制約を使用します。

gcloud beta resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \
    account-id --organization=organization-number

1 つの OIDC プロバイダからの連携のみを許可するには、許可されるプロバイダの issuer_uri を使用して単独の制約を作成します。たとえば、以下の例では特定の Azure テナントの連携のみを許可しています。

gcloud beta resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.windows.net/azure-tenant-id --organization=organization-number

追加のプロバイダによる連携を許可するには、これらのコマンドを繰り返します。

すべてのプロバイダからの連携をブロックする方法は次のとおりです。

  1. 以下を含む YAML ファイルを作成します。

    constraint: constraints/iam.workloadIdentityPoolProviders
    listPolicy:
      allValues: DENY
    
  2. ファイルを gcloud beta resource-manager org-policies set-policy コマンドに渡します。

    gcloud beta resource-manager org-policies set-policy file-name.yaml \
        --organization=organization-number
    

次のステップ

Workload Identity 連携について学習する。