Roles y permisos para Google Kubernetes Engine (GKE)

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En este documento, se muestra cómo otorgar roles de Identity and Access Management (IAM) a las cuentas de servicio para que Eventarc pueda recibir eventos de Google Cloud y fuentes de terceros, y entregar los eventos a GKE y a los servicios de Cloud Run for 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 los roles adecuados 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 objetivo de GKE.

Función del usuario

Otorga el rol de administrador de Eventarc (roles/eventarc.admin) al usuario:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=PRINCIPAL \
    --role="roles/eventarc.admin"

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PRINCIPAL: la principal a la que se agregará la vinculación. Debe tener el formato user|group|serviceAccount:email o domain:domain.

    Ejemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com o domain:example.domain.com

Roles de la cuenta de servicio

  • Otorga el rol Pub/Sub Subscriber (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Otorga el rol Monitoring Metric Writer (roles/monitoring.metricWriter) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
    
  • Otorga el rol Eventarc Event Receiver (roles/eventarc.eventReceiver) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.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.

Eventos directos

Eventarc envía notificaciones de eventos directos, como una actualización de un bucket de Cloud Storage, al servicio de destino de GKE.

Función del usuario

Otorga el rol de administrador de Eventarc (roles/eventarc.admin) al usuario:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=PRINCIPAL \
    --role="roles/eventarc.admin"

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PRINCIPAL: la principal a la que se agregará la vinculación. Debe tener el formato user|group|serviceAccount:email o domain:domain.

    Ejemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com o domain:example.domain.com

Roles de la cuenta de servicio

  • Otorga el rol Pub/Sub Subscriber (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Otorga el rol Monitoring Metric Writer (roles/monitoring.metricWriter) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
    
  • Otorga el rol Eventarc Event Receiver (roles/eventarc.eventReceiver) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.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.

Rol de cuenta de servicio de Cloud Storage

Si creas un activador para un evento directo de Cloud Storage (en lugar de otros eventos directos), otorga el rol de publicador de Pub/Sub (roles/pubsub.publisher) a la cuenta de servicio de Cloud Storage:

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 objetivo de GKE.

Función del usuario

Otorga el rol de administrador de Eventarc (roles/eventarc.admin) al usuario:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=PRINCIPAL \
    --role="roles/eventarc.admin"

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PRINCIPAL: la principal a la que se agregará la vinculación. Debe tener el formato user|group|serviceAccount:email o domain:domain.

    Ejemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com o domain:example.domain.com

Roles de la cuenta de servicio

  • Otorga el rol Pub/Sub Subscriber (roles/pubsub.subscriber) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Otorga el rol Monitoring Metric Writer (roles/monitoring.metricWriter) a la cuenta de servicio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.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.