このドキュメントでは、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 プロジェクト番号。