Papéis e permissões para eventos do Cloud Run for Anthos

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 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 em um destino do Cloud Run for Anthos.

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_NUMBER.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_NUMBER.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_NUMBER.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.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.

Cloud Storage

O Eventarc envia as notificações de evento diretamente de um bucket do Cloud Storage para o serviço do Cloud Run for Anthos de destino.

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_NUMBER.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_NUMBER.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_NUMBER.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.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.

Papel da conta de serviço do Cloud Storage

Conceda o papel Editor do Pub/Sub (roles/pubsub.publisher) à conta de serviço:

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 em um destino do Cloud Run for Anthos.

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_NUMBER.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_NUMBER.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.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.