Funciones y permisos de los eventos para Cloud Run for Anthos

En este documento, se muestra cómo otorgar funciones de administración de identidades y accesos (IAM) a las cuentas de servicio para que Eventarc pueda recibir eventos de Google Cloud y fuentes de terceros, y entregar los eventos a Cloud Run para Servicios de Anthos.

Para obtener más información sobre las opciones de control de acceso en Eventarc, consulta Control de acceso.

Funciones de IAM obligatorias

Otorga las funciones adecuadas a las cuentas de servicio.

Registros de auditoría de Cloud

Para recibir eventos de las fuentes de Google Cloud, Eventarc usa los registros de auditoría de Cloud a fin de entregar a un destino de Cloud Run for Anthos.

Funciones de la cuenta de servicio

  • Otorga la función de suscriptor de Pub/Sub (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • Otorga la función de escritor de métricas de Monitoring (roles/monitoring.metricWriter) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
  • Otorga la función de receptor de eventos de Eventarc (roles/eventarc.eventReceiver) a la cuenta de servicio:

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

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • MY_SERVICE_ACCOUNT: Es el nombre de la cuenta de servicio.
  • PROJECT_NUMBER: el número de proyecto de Google Cloud.

Cloud Storage

Eventarc envía notificaciones de eventos directamente desde un bucket de Cloud Storage al servicio de Cloud Run for Anthos de destino.

Funciones de la cuenta de servicio

  • Otorga la función de suscriptor de Pub/Sub (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • Otorga la función de escritor de métricas de Monitoring (roles/monitoring.metricWriter) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
  • Otorga la función de receptor de eventos de Eventarc (roles/eventarc.eventReceiver) a la cuenta de servicio:

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

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • MY_SERVICE_ACCOUNT: Es el nombre de la cuenta de servicio.
  • PROJECT_NUMBER: el número de proyecto de Google Cloud.

Función de cuenta de servicio de Cloud Storage

Otorga la función de publicador de Pub/Sub (roles/pubsub.publisher) a la cuenta de servicio:

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

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

Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Tema de Pub/Sub

Para recibir eventos de fuentes de terceros, Eventarc usa notificaciones de Pub/Sub a fin de entregar a un destino de Cloud Run for Anthos.

Funciones de la cuenta de servicio

  • Otorga la función de suscriptor de Pub/Sub (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
  • Otorga la función de escritor de métricas de Monitoring (roles/monitoring.metricWriter) a la cuenta de servicio:

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

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • MY_SERVICE_ACCOUNT: Es el nombre de la cuenta de servicio.
  • PROJECT_NUMBER: el número de proyecto de Google Cloud.