Rôles et autorisations pour les événements pour Cloud Run pour Anthos

Ce document explique comment attribuer des rôles IAM (Identity and Access Management) aux comptes de service afin qu'Eventarc puisse recevoir des événements provenant de Google Cloud et de sources tierces, et transmettre les événements à des services Cloud Run pour Anthos.

Pour en savoir plus sur les options de contrôle des accès dans Eventarc, consultez la section Contrôle des accès.

Rôles IAM requis

Attribuez les rôles appropriés aux comptes de service.

Cloud Audit Logging

Afin de recevoir des événements à partir de sources Google Cloud, Eventarc utilise Cloud Audit Logs pour distribuer des données à une cible Cloud Run pour Anthos.

Rôles de compte de service

  • Attribuez le rôle Abonné Pub/Sub (roles/pubsub.subscriber) au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Attribuez le rôle Rédacteur de métriques Monitoring (roles/monitoring.metricWriter) au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
  • Attribuez le rôle Destinataire des événements Eventarc (roles/eventarc.eventReceiver) au compte de service :

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

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de projet Google Cloud.
  • MY_SERVICE_ACCOUNT : nom de votre compte de service.
  • PROJECT_NUMBER : numéro de projet Google Cloud.

Cloud Storage

Eventarc envoie des notifications d'événement directement à partir d'un bucket Cloud Storage au service Cloud Run pour Anthos cible.

Rôles de compte de service

  • Attribuez le rôle Abonné Pub/Sub (roles/pubsub.subscriber) au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Attribuez le rôle Rédacteur de métriques Monitoring (roles/monitoring.metricWriter) au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
  • Attribuez le rôle Destinataire des événements Eventarc (roles/eventarc.eventReceiver) au compte de service :

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

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de projet Google Cloud.
  • MY_SERVICE_ACCOUNT : nom de votre compte de service.
  • PROJECT_NUMBER : numéro de projet Google Cloud.

Rôle du compte de service Cloud Storage

Attribuez le rôle Éditeur Pub/Sub (roles/pubsub.publisher) au compte de service :

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

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

Remplacez PROJECT_ID par l'ID du projet Google Cloud.

Sujet Pub/Sub

Afin de recevoir des événements provenant de sources tierces, Eventarc utilise des notifications Pub/Sub pour transmettre des données à une cible Cloud Run pour Anthos.

Rôles de compte de service

  • Attribuez le rôle Abonné Pub/Sub (roles/pubsub.subscriber) au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
  • Attribuez le rôle Rédacteur de métriques Monitoring (roles/monitoring.metricWriter) au compte de service :

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

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de projet Google Cloud.
  • MY_SERVICE_ACCOUNT : nom de votre compte de service.
  • PROJECT_NUMBER : numéro de projet Google Cloud.