Nesta página, descrevemos as opções de controle de acesso disponíveis no Eventarc.
Informações gerais 
O Eventarc usa o gerenciamento de identidade e acesso (IAM, na sigla em inglês) para controle de acesso.
Para uma introdução sobre o IAM e os recursos dele, consulte a
visão geral do IAM . Para saber como conceder e
revogar o acesso, consulte
Gerenciar o acesso a projetos, pastas e organizações .
Para ver listas de permissões e papéis compatíveis com o Eventarc, consulte as seções a seguir.
Agente de serviço do Eventarc 
Alguns serviços Google Cloud têm
agentes de serviço  que permitem que o
serviço acesse seus recursos se tiver as permissões adequadas. Se uma
API exigir um agente de serviço, o Google Cloud criará esse agente
em algum momento depois que você ativar e começar a usar a API.
O Eventarc usa um modelo de provisionamento que cria o agente de serviço somente quando necessário, por exemplo, quando você cria um recurso do Eventarc pela primeira vez, e não quando a API é ativada inicialmente.
O provisionamento do agente de serviço e a propagação das mudanças no sistema
podem levar vários minutos.  Para mais informações
sobre esse atraso, consulte
Permissão negada ao usar o agente de serviço do Eventarc .
Ativar as APIs Eventarc 
Para visualizar e atribuir papéis do IAM para o Eventarc, é preciso ativar as APIs Eventarc no projeto. Não será possível
ver os papéis do Eventarc no console Google Cloud 
até que você ative as APIs.
Ative a API Eventarc  e a API Eventarc Publishing :
 Console  
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
 
   
 
 
  
  
    
      
        
      
Roles required to enable APIs 
          To enable APIs, you need the Service Usage Admin IAM
          role (roles/serviceusage.serviceUsageAdmin), which
          contains the serviceusage.services.enable permission. Learn how to grant
          roles .
        
Enable the APIs 
    
  
  
 
 gcloud  
  
   
   
  
   
   
  
   
   
  
 
 
 
  
  
    
  
  Roles required to enable APIs 
      To enable APIs, you need the Service Usage Admin IAM
      role (roles/serviceusage.serviceUsageAdmin), which contains the
      serviceusage.services.enable permission. Learn how to grant
      roles .
    
 
  
    
    
gcloud  services  enable   eventarc.googleapis.com eventarcpublishing.googleapis.com   
  
  
 
 
Papéis predefinidos 
A tabela abaixo mostra os papéis de IAM do Eventarc com uma lista correspondente de todas as permissões que cada papel inclui.
Os papéis predefinidos abordam os casos de uso mais comuns. Se seu caso de uso não estiver coberto pelos papéis predefinidos, crie um papel personalizado do IAM .
Papéis do Eventarc 
   
  
Role 
Permissions 
 
 
Eventarc Admin
 
(roles/eventarc.admin )
Full control over all Eventarc resources.
 
Lowest-level resources where you can grant this role:
 
  
    
      eventarc.* 
    
    
      eventarc.channelConnections.create   
      eventarc.channelConnections.delete   
      eventarc.channelConnections.get   
      eventarc.channelConnections.getIamPolicy   
      eventarc.channelConnections.list   
      eventarc.channelConnections.publish   
      eventarc.channelConnections.setIamPolicy   
      eventarc.channels.attach 
      eventarc.channels.create 
      eventarc.channels.delete 
      eventarc.channels.get 
      eventarc.channels.getIamPolicy 
      eventarc.channels.list 
      eventarc.channels.publish 
      eventarc.channels.setIamPolicy 
      eventarc.channels.undelete 
      eventarc.channels.update 
      eventarc.enrollments.create 
      eventarc.enrollments.delete 
      eventarc.enrollments.get 
      eventarc.enrollments.getIamPolicy   
      eventarc.enrollments.list 
      eventarc.enrollments.setIamPolicy   
      eventarc.enrollments.update 
      eventarc.events.receiveAuditLogWritten   
      eventarc.events.receiveEvent 
      eventarc.googleApiSources.create   
      eventarc.googleApiSources.delete   
      eventarc.googleApiSources.get 
      eventarc.googleApiSources.getIamPolicy   
      eventarc.googleApiSources.list 
      eventarc.googleApiSources.setIamPolicy   
      eventarc.googleApiSources.update   
      eventarc.googleChannelConfigs.get   
      eventarc.googleChannelConfigs.update   
      eventarc.kafkaSources.create 
      eventarc.kafkaSources.delete 
      eventarc.kafkaSources.get 
      eventarc.kafkaSources.getIamPolicy   
      eventarc.kafkaSources.list 
      eventarc.kafkaSources.setIamPolicy   
      eventarc.locations.get 
      eventarc.locations.list 
      eventarc.messageBuses.create 
      eventarc.messageBuses.delete 
      eventarc.messageBuses.get 
      eventarc.messageBuses.getIamPolicy   
      eventarc.messageBuses.list 
      eventarc.messageBuses.publish 
      eventarc.messageBuses.setIamPolicy   
      eventarc.messageBuses.update 
      eventarc.messageBuses.use 
      eventarc.multiProjectSources.collectGoogleApiEvents   
      eventarc.operations.cancel 
      eventarc.operations.delete 
      eventarc.operations.get 
      eventarc.operations.list 
      eventarc.pipelines.create 
      eventarc.pipelines.delete 
      eventarc.pipelines.get 
      eventarc.pipelines.getIamPolicy   
      eventarc.pipelines.list 
      eventarc.pipelines.setIamPolicy   
      eventarc.pipelines.update 
      eventarc.providers.get 
      eventarc.providers.list 
      eventarc.triggers.create 
      eventarc.triggers.delete 
      eventarc.triggers.get 
      eventarc.triggers.getIamPolicy 
      eventarc.triggers.list 
      eventarc.triggers.setIamPolicy 
      eventarc.triggers.undelete 
      eventarc.triggers.update 
     
   
  resourcemanager.projects.get
  resourcemanager.projects.list
 
 
Eventarc Connection Publisher
Beta 
 
(roles/eventarc.connectionPublisher )
Can publish events to Eventarc channel connections.
 
Lowest-level resources where you can grant this role:
 
  eventarc.channelConnections.get  
  eventarc.channelConnections.list  
  eventarc.channelConnections.publish  
  resourcemanager.projects.get
  resourcemanager.projects.list
 
 
Eventarc Developer
 
(roles/eventarc.developer )
Access to read and write Eventarc resources.
 
Lowest-level resources where you can grant this role:
 
  eventarc.channelConnections.create  
  eventarc.channelConnections.delete  
  eventarc.channelConnections.get  
  eventarc.channelConnections.getIamPolicy  
  eventarc.channelConnections.list  
  eventarc.channelConnections.publish  
  eventarc.channels.attach
  eventarc.channels.create
  eventarc.channels.delete
  eventarc.channels.get
  eventarc.channels.getIamPolicy
  eventarc.channels.list
  eventarc.channels.publish
  eventarc.channels.undelete
  eventarc.channels.update
  eventarc.enrollments.create
  eventarc.enrollments.delete
  eventarc.enrollments.get
  eventarc.enrollments.getIamPolicy  
  eventarc.enrollments.list
  eventarc.enrollments.update
  eventarc.googleApiSources.create  
  eventarc.googleApiSources.delete  
  eventarc.googleApiSources.get
  eventarc.googleApiSources.getIamPolicy  
  eventarc.googleApiSources.list
  eventarc.googleApiSources.update  
  
    
      eventarc.googleChannelConfigs.*  
    
    
      eventarc.googleChannelConfigs.get   
      eventarc.googleChannelConfigs.update   
     
   
  eventarc.kafkaSources.create
  eventarc.kafkaSources.delete
  eventarc.kafkaSources.get
  eventarc.kafkaSources.getIamPolicy  
  eventarc.kafkaSources.list
  
    
      eventarc.locations.* 
    
    
      eventarc.locations.get 
      eventarc.locations.list 
     
   
  
    
      eventarc.operations.* 
    
    
      eventarc.operations.cancel 
      eventarc.operations.delete 
      eventarc.operations.get 
      eventarc.operations.list 
     
   
  eventarc.pipelines.create
  eventarc.pipelines.delete
  eventarc.pipelines.get
  eventarc.pipelines.getIamPolicy  
  eventarc.pipelines.list
  eventarc.pipelines.update
  
    
      eventarc.providers.* 
    
    
      eventarc.providers.get 
      eventarc.providers.list 
     
   
  eventarc.triggers.create
  eventarc.triggers.delete
  eventarc.triggers.get
  eventarc.triggers.getIamPolicy
  eventarc.triggers.list
  eventarc.triggers.undelete
  eventarc.triggers.update
  resourcemanager.projects.get
  resourcemanager.projects.list
 
 
Eventarc Event Receiver
 
(roles/eventarc.eventReceiver )
Can receive events from all event providers.
 
Lowest-level resources where you can grant this role:
 
  
    
      eventarc.events.* 
    
    
      eventarc.events.receiveAuditLogWritten   
      eventarc.events.receiveEvent 
     
   
 
 
Eventarc Message Bus Admin
 
(roles/eventarc.messageBusAdmin )
Full control over Message Buses resources.
 
 
  eventarc.messageBuses.create
  eventarc.messageBuses.delete
  eventarc.messageBuses.get
  eventarc.messageBuses.getIamPolicy  
  eventarc.messageBuses.list
  eventarc.messageBuses.publish
  eventarc.messageBuses.update
  eventarc.messageBuses.use
 
 
Eventarc Message Bus User
 
(roles/eventarc.messageBusUser )
Access to publish to or bind to a Message Bus.
 
 
  eventarc.messageBuses.get
  eventarc.messageBuses.list
  eventarc.messageBuses.publish
  eventarc.messageBuses.use
 
 
Eventarc Event Collector
Beta 
 
(roles/eventarc.multiProjectEventCollector )
Can collect events from multiple projects in an org for a source resource.
 
 
  eventarc.multiProjectSources.collectGoogleApiEvents  
 
 
Eventarc Publisher
Beta 
 
(roles/eventarc.publisher )
Can publish events to Eventarc channels.
 
Lowest-level resources where you can grant this role:
 
  eventarc.channels.get
  eventarc.channels.list
  eventarc.channels.publish
  resourcemanager.projects.get
  resourcemanager.projects.list
 
 
Eventarc Service Agent
 
(roles/eventarc.serviceAgent )
Gives Eventarc service account access to managed resources.
 
  Warning:  Do not grant service agent roles to any principals except
  service agents .
 
 
  cloudfunctions.functions.get
  compute.instanceGroupManagers.get  
  compute.networkAttachments.get
  compute.networkAttachments.update  
  compute.networkAttachments.use
  compute.regionOperations.get
  container.clusters.connect
  container.clusters.get
  container.deployments.create
  container.deployments.delete
  container.deployments.get
  container.deployments.list
  container.deployments.update
  container.namespaces.create
  container.namespaces.delete
  container.namespaces.get
  container.namespaces.list
  container.serviceAccounts.create  
  container.serviceAccounts.delete  
  container.serviceAccounts.get
  container.serviceAccounts.list
  container.services.get
  container.services.list
  dns.networks.targetWithPeeringZone  
  eventarc.channels.publish
  eventarc.messageBuses.publish
  eventarc.operations.get
  iam.serviceAccounts.actAs
  iam.serviceAccounts.getAccessToken  
  iam.serviceAccounts.getOpenIdToken  
  monitoring.timeSeries.create
  pubsub.subscriptions.consume
  pubsub.subscriptions.create
  pubsub.subscriptions.delete
  pubsub.subscriptions.get
  pubsub.subscriptions.list
  pubsub.subscriptions.update
  pubsub.topics.attachSubscription  
  pubsub.topics.create
  pubsub.topics.delete
  pubsub.topics.get
  pubsub.topics.list
  pubsub.topics.publish
  pubsub.topics.update
  run.jobs.get
  run.services.get
  serviceusage.services.use
  storage.buckets.get
  storage.buckets.update
  workflows.workflows.get
 
 
Eventarc Viewer
 
(roles/eventarc.viewer )
Can view the state of all Eventarc resources, including IAM policies.
 
Lowest-level resources where you can grant this role:
 
  eventarc.channelConnections.get  
  eventarc.channelConnections.getIamPolicy  
  eventarc.channelConnections.list  
  eventarc.channels.get
  eventarc.channels.getIamPolicy
  eventarc.channels.list
  eventarc.enrollments.get
  eventarc.enrollments.getIamPolicy  
  eventarc.enrollments.list
  eventarc.googleApiSources.get
  eventarc.googleApiSources.getIamPolicy  
  eventarc.googleApiSources.list
  eventarc.googleChannelConfigs.get  
  eventarc.kafkaSources.get
  eventarc.kafkaSources.getIamPolicy  
  eventarc.kafkaSources.list
  
    
      eventarc.locations.* 
    
    
      eventarc.locations.get 
      eventarc.locations.list 
     
   
  eventarc.messageBuses.get
  eventarc.messageBuses.getIamPolicy  
  eventarc.messageBuses.list
  eventarc.messageBuses.use
  eventarc.multiProjectSources.collectGoogleApiEvents  
  eventarc.operations.get
  eventarc.operations.list
  eventarc.pipelines.get
  eventarc.pipelines.getIamPolicy  
  eventarc.pipelines.list
  
    
      eventarc.providers.* 
    
    
      eventarc.providers.get 
      eventarc.providers.list 
     
   
  eventarc.triggers.get
  eventarc.triggers.getIamPolicy
  eventarc.triggers.list
  resourcemanager.projects.get
  resourcemanager.projects.list
 
 
 
 
Gerenciamento do IAM no nível do projeto 
No nível do projeto, é possível conceder, alterar e revogar papéis do IAM
usando o console do Google Cloud , a API IAM ou a Google Cloud CLI.
Para instruções, consulte
Gerenciar o acesso a projetos, pastas e organizações .