Auf dieser Seite werden die Optionen für die Zugriffssteuerung beschrieben, die Ihnen in Eventarc zur Verfügung stehen.
Übersicht Eventarc verwendet für die Zugriffssteuerung Identity and Access Management (IAM).
Eine Einführung in IAM und die zugehörigen Features finden Sie in der IAM-Übersicht . Informationen zum Gewähren und Entziehen des Zugriffs finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten .
In den folgenden Abschnitten finden Sie eine Liste der Berechtigungen und Rollen, die von Eventarc unterstützt werden.
Eventarc-Dienst-Agent Einige Google Cloud -Dienste haben Dienst-Agents , mit denen der Dienst auf Ihre Ressourcen zugreifen kann, wenn die entsprechenden Berechtigungen erteilt wurden. Wenn eine API einen Dienst-Agent erfordert, erstellt Google Cloud den Dienst-Agent irgendwann, nachdem Sie die API aktiviert und verwendet haben.
Eventarc verwendet ein Bereitstellungsmodell, bei dem der Dienst-Agent erst erstellt wird, wenn er zum ersten Mal benötigt wird, z. B. wenn Sie zum ersten Mal eine Eventarc-Ressource erstellen, und nicht, wenn die API zum ersten Mal aktiviert wird. Die Bereitstellung des Dienst-Agents und die Übertragung der Änderungen im System können einige Minuten dauern. Weitere Informationen zu dieser Verzögerung finden Sie unter Berechtigung verweigert bei Verwendung des Eventarc-Dienst-Agents .
Eventarc APIs aktivieren Zum Anzeigen und Zuweisen von IAM-Rollen für Eventarc müssen Sie für Ihr Projekt die Eventarc APIs aktivieren. Sie können die Eventarc-Rollen in der Google Cloud Console erst sehen, wenn Sie die APIs aktiviert haben.
Aktivieren Sie die Eventarc API und die Eventarc Publishing API :
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 Vordefinierte Rollen In der folgenden Tabelle sind die vordefinierten IAM-Rollen für Eventarc und die jeweiligen Berechtigungen aufgeführt, die eine Rolle umfasst.
Diese vorkonfigurierten Rollen berücksichtigen die meisten typischen Anwendungsfälle. Wenn Ihr Anwendungsfall nicht durch die vordefinierten Rollen abgedeckt ist, können Sie eine benutzerdefinierte IAM-Rolle erstellen .
Eventarc-Rollen
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
IAM-Verwaltung auf Projektebene Auf Projektebene können Sie IAM-Rollen mithilfe der Google Cloud -Console, der IAM API oder der Google Cloud CLI zuweisen, ändern und widerrufen. Eine Anleitung finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten .