Papéis e permissões do Google Kubernetes Engine (GKE)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Veja neste documento como conceder papéis do Identity and Access Management (IAM) a contas de serviço para que o Eventarc receba eventos de origens do Google Cloud e de terceiros e os envie para serviços do GKE e do Cloud Run for Anthos.

Saiba mais sobre as opções de controle de acesso do Eventarc em Controle de acesso.

Papéis do IAM obrigatórios

Conceda os papéis apropriados às contas de serviço.

Registros de auditoria do Cloud

Para receber eventos de origens do Google Cloud, o Eventarc usa os registros de auditoria do Cloud para entregar a um destino do GKE.

Função do usuário

Conceda o papel de Administrador do Eventarc (roles/eventarc.admin) ao usuário:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • PRINCIPAL: o membro para quem a vinculação deve ser adicionada. Ele precisa estar no formato user|group|serviceAccount:email ou domain:domain.

    Exemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com e domain:example.domain.com

Papéis da conta de serviço

  • Conceda o papel Assinante do Pub/Sub Subscriber (roles/pubsub.subscriber) à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Conceda o papel Gravador de métricas de monitoramento (roles/monitoring.metricWriter) à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
    
  • Conceda o papel Receptor de eventos do Eventarc (roles/eventarc.eventReceiver) à conta de serviço:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • MY_SERVICE_ACCOUNT: o nome da sua conta de serviço.

Eventos diretos

O Eventarc envia notificações diretas de eventos, como uma atualização para um bucket do Cloud Storage, para o serviço de destino do GKE.

Função do usuário

Conceda o papel de Administrador do Eventarc (roles/eventarc.admin) ao usuário:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • PRINCIPAL: o membro para quem a vinculação deve ser adicionada. Ele precisa estar no formato user|group|serviceAccount:email ou domain:domain.

    Exemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com e domain:example.domain.com

Papéis da conta de serviço

  • Conceda o papel Assinante do Pub/Sub Subscriber (roles/pubsub.subscriber) à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Conceda o papel Gravador de métricas do Monitoring (roles/monitoring.metricWriter) à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
    
  • Conceda o papel Receptor de eventos do Eventarc (roles/eventarc.eventReceiver) à conta de serviço:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • MY_SERVICE_ACCOUNT: o nome da sua conta de serviço.

Papel da conta de serviço do Cloud Storage

Se você estiver criando um gatilho para um evento direto do Cloud Storage, em oposição a outros eventos diretos, conceda o papel de editor do Pub/Sub (roles/pubsub.publisher) à conta de serviço do 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"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

Tópico do Pub/Sub

Para receber eventos de origens de terceiros, o Eventarc usa notificações do Pub/Sub para entregar a um destino do GKE.

Função do usuário

Conceda o papel de Administrador do Eventarc (roles/eventarc.admin) ao usuário:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • PRINCIPAL: o membro para quem a vinculação deve ser adicionada. Ele precisa estar no formato user|group|serviceAccount:email ou domain:domain.

    Exemplos: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com e domain:example.domain.com

Papéis da conta de serviço

  • Conceda o papel Assinante do Pub/Sub Subscriber (roles/pubsub.subscriber) à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:MY_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/pubsub.subscriber"
    
  • Conceda o papel Gravador de métricas do Monitoring (roles/monitoring.metricWriter) à conta de serviço:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • MY_SERVICE_ACCOUNT: o nome da sua conta de serviço.