Events for Cloud Run for Anthos のロールと権限

このドキュメントでは、Eventarc が Google Cloud とサードパーティのソースからイベントを受信し、そのイベントを Cloud Run for Anthos サービスに配信できるように、Identity and Access Management(IAM)ロールをサービス アカウントに付与する方法について説明します。

Eventarc のアクセス制御オプションの詳細については、アクセス制御をご覧ください。

必要な IAM のロール

サービス アカウントに適切なロールを付与します。

Cloud Audit Logs

Google Cloud ソースからイベントを受信するために、Eventarc は Cloud Audit Logs を使用して Cloud Run for Anthos ターゲットに配信します。

サービス アカウントのロール

  • Pub/Sub サブスクライバーのロールroles/pubsub.subscriber)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • モニタリング指標の書き込みのロールroles/monitoring.metricWriter)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
  • Eventarc イベント レシーバのロールroles/eventarc.eventReceiver)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/eventarc.eventReceiver"

次の値を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • MY_SERVICE_ACCOUNT: サービス アカウントの名前。
  • PROJECT_NUMBER: Google Cloud プロジェクト番号。

Cloud Storage

Eventarc は Cloud Storage バケットからターゲットの Cloud Run for Anthos サービスにイベント通知を直接送信します。

サービス アカウントのロール

  • Pub/Sub サブスクライバーのロールroles/pubsub.subscriber)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • モニタリング指標の書き込みのロールroles/monitoring.metricWriter)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
  • Eventarc イベント レシーバのロールroles/eventarc.eventReceiver)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/eventarc.eventReceiver"

次の値を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • MY_SERVICE_ACCOUNT: サービス アカウントの名前。
  • PROJECT_NUMBER: Google Cloud プロジェクト番号。

Cloud Storage サービス アカウントのロール

Pub/Sub パブリッシャーのロールroles/pubsub.publisher)をサービス アカウントに付与します。

SERVICE_ACCOUNT="$(gsutil kms serviceaccount -p PROJECT_ID)"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SERVICE_ACCOUNT" \
    --role='roles/pubsub.publisher'

PROJECT_ID は、Google Cloud プロジェクト ID に置き換えます。

Pub/Sub トピック

サードパーティのソースからイベントを受信するため、Eventarc は Pub/Sub 通知を使用して Cloud Run for Anthos ターゲットに配信します。

サービス アカウントのロール

  • Pub/Sub サブスクライバーのロールroles/pubsub.subscriber)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • モニタリング指標の書き込みのロールroles/monitoring.metricWriter)をサービス アカウントに付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"

次の値を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • MY_SERVICE_ACCOUNT: サービス アカウントの名前。
  • PROJECT_NUMBER: Google Cloud プロジェクト番号。