Rollen und Berechtigungen für Ereignisse für Cloud Run for Anthos

In diesem Dokument erfahren Sie, wie Sie Dienstkonten IAM-Rollen (Identity and Access Management) zuweisen, damit Eventarc Ereignisse aus Google Cloud und Drittanbieterquellen empfangen und an Cloud Run for Anthos-Dienste senden kann.

Weitere Informationen zu den Optionen für die Zugriffssteuerung in Eventarc finden Sie unter Zugriffssteuerung.

Erforderliche IAM-Rollen

Weisen Sie den Dienstkonten die entsprechenden Rollen zu.

Cloud-Audit-Logs

Eventarc verwendet Cloud-Audit-Logs, um Ereignisse an Google Cloud-Quellen zu senden und an ein Cloud Run for Anthos-Ziel zu senden.

Dienstkontorollen

  • Weisen Sie dem Dienstkonto die Rolle „Pub/Sub-Abonnent“ (roles/pubsub.subscriber) zu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Weisen Sie dem Dienstkonto die Rolle „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) zu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
  • Weisen Sie dem Dienstkonto die Rolle „Eventarc-Ereignisempfänger“ (roles/eventarc.eventReceiver) zu:

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

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die Google Cloud-Projekt-ID.
  • MY_SERVICE_ACCOUNT: Name Ihres Dienstkontos.
  • PROJECT_NUMBER: die Google Cloud-Projektnummer.

Cloud Storage

Eventarc sendet Ereignisbenachrichtigungen direkt aus einem Cloud Storage-Bucket an den Cloud Run for Anthos-Zieldienst.

Dienstkontorollen

  • Weisen Sie dem Dienstkonto die Rolle „Pub/Sub-Abonnent“ (roles/pubsub.subscriber) zu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Weisen Sie dem Dienstkonto die Rolle „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) zu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
  • Weisen Sie dem Dienstkonto die Rolle „Eventarc-Ereignisempfänger“ (roles/eventarc.eventReceiver) zu:

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

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die Google Cloud-Projekt-ID.
  • MY_SERVICE_ACCOUNT: Name Ihres Dienstkontos.
  • PROJECT_NUMBER: die Google Cloud-Projektnummer.

Cloud Storage-Dienstkontorolle

Weisen Sie dem Dienstkonto die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher) zu:

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

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

Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID.

Pub/Sub-Thema

Zum Empfang von Ereignissen von Drittanbieterquellen verwendet Eventarc Pub/Sub-Benachrichtigungen für die Zustellung an ein Cloud Run for Anthos-Ziel.

Dienstkontorollen

  • Weisen Sie dem Dienstkonto die Rolle „Pub/Sub-Abonnent“ (roles/pubsub.subscriber) zu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Weisen Sie dem Dienstkonto die Rolle „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) zu:

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

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die Google Cloud-Projekt-ID.
  • MY_SERVICE_ACCOUNT: Name Ihres Dienstkontos.
  • PROJECT_NUMBER: die Google Cloud-Projektnummer.