サービス アカウントの使用の制限

は、

Resource Manager に備わっている制約を組織ポリシーで使用すると、Cloud Identity and Access Management サービス アカウントの使用を制限できます。

こうした制約を設定すると、将来のサービス アカウントの作成および変更に適用されます。こうした制約は遡って適用されることはなく、以前に作成されて構成されたサービス アカウントには影響しません。

サービス アカウント作成の無効化

iam.disableServiceAccountCreation ブール型制約を使用して、新しいサービス アカウントの作成を無効にできます。これにより、デベロッパーがプロジェクトに対して持つその他の権限を制限することなく、サービス アカウントの管理を集中化できます。

サービス アカウント キー作成の無効化

iam.disableServiceAccountKeyCreation ブール型制約を使用して、新しい外部サービス アカウント キーの作成を無効にできます。これにより、サービス アカウントに関する、管理されない長期認証情報の使用を制御できます。この制約を設定すると、制約の影響を受けるプロジェクト内でサービス アカウント用のユーザー管理認証情報を作成できなくなります。

ポリシーの設定

サービス アカウント制限の制約は、ブール型制約の一種です。

この制約を設定するには、組織ポリシーを変更する権限が必要です。たとえば、resourcemanager.organizationAdmin 役割には、組織ポリシー制約を設定する権限があります。組織レベルでポリシーを管理する方法の詳細については、制約の使用ページをご覧ください。

Console

サービス アカウント キーの作成を無効にするための制約を含む組織ポリシーを設定するには:

  1. Google Cloud Platform Console の [組織のポリシー] ページに移動します。

    [組織のポリシー] ページに移動

  2. ページの上部にある「組織の選択」プルダウン リストをクリックして、組織を選択します。
  3. [サービス アカウントの作成を無効化] または [サービス アカウント キーの作成を無効化] をクリックします。
  4. [編集] ボタンをクリックします。
  5. [対象] で、[カスタマイズ] を選択します。
  6. [適用] で、[オン] を選択します。
  7. [保存] をクリックします。ポリシーが更新されたことを確認する通知が表示されます。

gcloud

ポリシーは、gcloud コマンドライン ツールで設定できます。

サービス アカウントの作成を無効にするには、次のコマンドを実行します。

gcloud alpha resource-manager org-policies enable-enforce \
    --organization 'ORGANIZATION_ID' \
    iam.disableServiceAccountCreation

サービス アカウント キーの作成を無効にするには、次のコマンドを実行します。

gcloud alpha resource-manager org-policies enable-enforce \
    --organization 'ORGANIZATION_ID' \
    iam.disableServiceAccountKeyCreation

ポリシーを無効にするには、同じコマンドを

disable-enforce
コマンドと一緒に実行します。

組織ポリシーで制約を使用する方法については、制約の使用をご覧ください。

ポリシーの例

次のコード スニペットは、サービス アカウントの作成を無効にする制約を含む組織ポリシーを示しています。

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.disableServiceAccountCreation"
  etag: "\a\005L\252\122\321\946\334"
  boolean_policy {
  enforced: true
  }
}

次のコード スニペットは、サービス アカウント キーの作成を無効にする制約を含む組織ポリシーを示しています。

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.disableServiceAccountKeyCreation"
  etag: "\a\005L\252\122\321\946\334"
  boolean_policy {
  enforced: true
  }
}

エラー メッセージ

サービス アカウントの作成を無効化

iam.disableServiceAccountCreation が適用されている場合、サービス アカウントの作成は失敗し、次のエラー メッセージが表示されます。

FAILED_PRECONDITION: Service account creation is not allowed on this project.

サービス アカウント キーの作成を無効化

iam.disableServiceAccountKeyCreation が適用されている場合、サービス アカウントの作成は失敗し、次のエラー メッセージが表示されます。

FAILED_PRECONDITION: Key creation is not allowed on this service account.

既知の問題のトラブルシューティング

デフォルトのサービス アカウント

iam.disableServiceAccountCreation 制約を適用すると、そのプロジェクトでサービス アカウントを作成できなくなります。この制限は、GCP サービスにも影響します。GCP サービスを有効にすると、次のようなプロジェクトでデフォルトのサービス アカウントが自動的に作成されます。

  • Compute Engine
  • GKE
  • App Engine
  • Cloud Dataflow

iam.disableServiceAccountCreation 制約が適用されている場合、デフォルト サービス アカウントを作成できないため、こうしたサービスを有効にしようとすると失敗します。

この問題を解決するには:

  1. iam.disableServiceAccountCreation 制約を一時的に削除します。
  2. 目的のサービスを有効にします。
  3. その他の目的のサービス アカウントを作成します。
  4. 最後に、制約を再適用します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Resource Manager のドキュメント