이 문서에서는 Eventarc가 Google Cloud 및 타사 소스에서 이벤트를 수신하고 이벤트를 Cloud Run for Anthos 서비스에 전송할 수 있도록 서비스 계정에 Identity and Access Management(IAM) 역할을 부여하는 방법을 설명합니다.
Eventarc의 액세스 제어 옵션에 대한 자세한 내용은 액세스 제어를 참조하세요.
필요한 IAM 역할
서비스 계정에 적절한 역할을 부여합니다.
Cloud 감사 로그
Eventarc는 Google Cloud 소스에서 이벤트를 수신하기 위해 Cloud 감사 로그를 사용해 이벤트를 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로 바꿉니다.
게시/구독 주제
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 프로젝트 번호입니다.