To limit access for users within a project or organization, you can use Identity and Access Management (IAM) roles for Dataflow. You can control access to Dataflow-related resources, as opposed to granting users the Viewer, Editor, or Owner role to the entire Google Cloud project.
This page focuses on how to use Dataflow's IAM roles. For a detailed description of IAM and its features, see the IAM documentation.
Every Dataflow method requires the caller to have the necessary permissions. For a list of the permissions and roles Dataflow supports, see the following section.
Permissions and roles
This section summarizes the permissions and roles Dataflow IAM supports.
Required permissions
The following table lists the permissions that the caller must have to call each method:
Method | Required Permissions |
---|---|
dataflow.jobs.create |
dataflow.jobs.create |
dataflow.jobs.cancel |
dataflow.jobs.cancel |
dataflow.jobs.updateContents |
dataflow.jobs.updateContents |
dataflow.jobs.list |
dataflow.jobs.list |
dataflow.jobs.get |
dataflow.jobs.get |
dataflow.messages.list |
dataflow.messages.list |
dataflow.metrics.get |
dataflow.metrics.get |
dataflow.jobs.snapshot |
dataflow.jobs.snapshot |
Roles
The following table lists the Dataflow IAM roles with a
corresponding list of Dataflow-related permissions each role includes. Every
permission is applicable to a particular resource type. For a
list of permissions, see the Roles page in the Google Cloud console.
(
Minimal role for creating and managing dataflow jobs.
(
Provides the permissions necessary to execute and manipulate
Dataflow jobs.
Lowest-level resources where you can grant this role:
(
Gives Cloud Dataflow service account access to managed resources. Includes access to service accounts.
(
Provides read-only access to all Dataflow-related
resources.
Lowest-level resources where you can grant this role: (
Provides the permissions necessary for a Compute Engine service
account to execute work units for a Dataflow pipeline.
Lowest-level resources where you can grant this role:
Role
Permissions
Dataflow Admin
roles/
)
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
cloudbuild.builds.update
cloudbuild.locations.*
cloudbuild.locations.get
cloudbuild.locations.list
cloudbuild.operations.*
cloudbuild.operations.get
cloudbuild.operations.list
cloudkms.keyHandles.*
cloudkms.keyHandles.create
cloudkms.keyHandles.get
cloudkms.keyHandles.list
cloudkms.operations.get
cloudkms.
compute.machineTypes.get
compute.projects.get
compute.regions.list
compute.zones.list
dataflow.jobs.*
dataflow.jobs.cancel
dataflow.jobs.create
dataflow.jobs.get
dataflow.jobs.list
dataflow.jobs.snapshot
dataflow.jobs.updateContents
dataflow.messages.list
dataflow.metrics.get
dataflow.snapshots.*
dataflow.snapshots.delete
dataflow.snapshots.get
dataflow.snapshots.list
recommender.
recommender.
recommender.
recommender.
remotebuildexecution.blobs.get
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list
Dataflow Developer
roles/
)
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
cloudbuild.builds.update
cloudbuild.locations.*
cloudbuild.locations.get
cloudbuild.locations.list
cloudbuild.operations.*
cloudbuild.operations.get
cloudbuild.operations.list
cloudkms.keyHandles.*
cloudkms.keyHandles.create
cloudkms.keyHandles.get
cloudkms.keyHandles.list
cloudkms.operations.get
cloudkms.
compute.projects.get
compute.regions.list
compute.zones.list
dataflow.jobs.*
dataflow.jobs.cancel
dataflow.jobs.create
dataflow.jobs.get
dataflow.jobs.list
dataflow.jobs.snapshot
dataflow.jobs.updateContents
dataflow.messages.list
dataflow.metrics.get
dataflow.snapshots.*
dataflow.snapshots.delete
dataflow.snapshots.get
dataflow.snapshots.list
recommender.
recommender.
recommender.
recommender.
remotebuildexecution.blobs.get
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Dataflow Service Agent
roles/
)
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.
backupdr.backupPlans.get
backupdr.backupPlans.list
backupdr.
backupdr.
backupdr.backupVaults.get
backupdr.backupVaults.list
backupdr.locations.list
backupdr.operations.get
backupdr.operations.list
backupdr.
bigquery.bireservations.*
bigquery.bireservations.get
bigquery.bireservations.update
bigquery.capacityCommitments.*
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.config.*
bigquery.config.get
bigquery.config.update
bigquery.connections.*
bigquery.connections.create
bigquery.connections.delegate
bigquery.connections.delete
bigquery.connections.get
bigquery.
bigquery.connections.list
bigquery.
bigquery.connections.update
bigquery.connections.updateTag
bigquery.connections.use
bigquery.dataPolicies.create
bigquery.dataPolicies.delete
bigquery.dataPolicies.get
bigquery.
bigquery.dataPolicies.list
bigquery.
bigquery.dataPolicies.update
bigquery.datasets.*
bigquery.datasets.create
bigquery.
bigquery.datasets.delete
bigquery.
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.link
bigquery.
bigquery.
bigquery.
bigquery.datasets.setIamPolicy
bigquery.datasets.update
bigquery.datasets.updateTag
bigquery.jobs.*
bigquery.jobs.create
bigquery.jobs.delete
bigquery.jobs.get
bigquery.jobs.list
bigquery.jobs.listAll
bigquery.
bigquery.jobs.update
bigquery.models.*
bigquery.models.create
bigquery.models.delete
bigquery.models.export
bigquery.models.getData
bigquery.models.getMetadata
bigquery.models.list
bigquery.models.updateData
bigquery.models.updateMetadata
bigquery.models.updateTag
bigquery.objectRefs.*
bigquery.objectRefs.read
bigquery.objectRefs.write
bigquery.readsessions.*
bigquery.readsessions.create
bigquery.readsessions.getData
bigquery.readsessions.update
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.reservations.*
bigquery.reservations.create
bigquery.reservations.delete
bigquery.reservations.get
bigquery.reservations.list
bigquery.
bigquery.reservations.update
bigquery.reservations.use
bigquery.routines.*
bigquery.routines.create
bigquery.routines.delete
bigquery.routines.get
bigquery.routines.list
bigquery.routines.update
bigquery.routines.updateTag
bigquery.
bigquery.
bigquery.rowAccessPolicies.get
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.
bigquery.savedqueries.*
bigquery.savedqueries.create
bigquery.savedqueries.delete
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.savedqueries.update
bigquery.tables.*
bigquery.tables.create
bigquery.tables.createIndex
bigquery.tables.createSnapshot
bigquery.
bigquery.tables.delete
bigquery.tables.deleteIndex
bigquery.tables.deleteSnapshot
bigquery.
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.getIamPolicy
bigquery.tables.list
bigquery.
bigquery.
bigquery.tables.replicateData
bigquery.
bigquery.tables.setCategory
bigquery.
bigquery.tables.setIamPolicy
bigquery.tables.update
bigquery.tables.updateData
bigquery.tables.updateIndex
bigquery.tables.updateTag
bigquery.transfers.*
bigquery.transfers.get
bigquery.transfers.update
bigquerymigration.
clouddebugger.breakpoints.list
clouddebugger.
clouddebugger.
clouddebugger.debuggees.create
cloudnotifications.
compute.acceleratorTypes.*
compute.acceleratorTypes.get
compute.acceleratorTypes.list
compute.addresses.*
compute.addresses.create
compute.
compute.
compute.addresses.delete
compute.
compute.
compute.addresses.get
compute.addresses.list
compute.
compute.
compute.addresses.setLabels
compute.addresses.use
compute.addresses.useInternal
compute.autoscalers.*
compute.autoscalers.create
compute.autoscalers.delete
compute.autoscalers.get
compute.autoscalers.list
compute.autoscalers.update
compute.backendBuckets.*
compute.
compute.backendBuckets.create
compute.
compute.backendBuckets.delete
compute.
compute.
compute.backendBuckets.get
compute.
compute.backendBuckets.list
compute.
compute.
compute.
compute.
compute.backendBuckets.update
compute.backendBuckets.use
compute.backendServices.*
compute.
compute.backendServices.create
compute.
compute.backendServices.delete
compute.
compute.
compute.backendServices.get
compute.
compute.backendServices.list
compute.
compute.
compute.
compute.
compute.backendServices.update
compute.backendServices.use
compute.crossSiteNetworks.*
compute.
compute.
compute.crossSiteNetworks.get
compute.crossSiteNetworks.list
compute.
compute.diskSettings.*
compute.diskSettings.get
compute.diskSettings.update
compute.diskTypes.*
compute.diskTypes.get
compute.diskTypes.list
compute.disks.*
compute.
compute.disks.create
compute.disks.createSnapshot
compute.disks.createTagBinding
compute.disks.delete
compute.disks.deleteTagBinding
compute.disks.get
compute.disks.getIamPolicy
compute.disks.list
compute.
compute.disks.listTagBindings
compute.
compute.disks.resize
compute.disks.setIamPolicy
compute.disks.setLabels
compute.
compute.
compute.
compute.disks.update
compute.disks.use
compute.disks.useReadOnly
compute.externalVpnGateways.*
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.firewallPolicies.get
compute.firewallPolicies.list
compute.
compute.
compute.firewallPolicies.use
compute.firewalls.get
compute.firewalls.list
compute.
compute.
compute.forwardingRules.*
compute.forwardingRules.create
compute.
compute.forwardingRules.delete
compute.
compute.forwardingRules.get
compute.forwardingRules.list
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.forwardingRules.update
compute.forwardingRules.use
compute.globalAddresses.*
compute.globalAddresses.create
compute.
compute.
compute.globalAddresses.delete
compute.
compute.
compute.globalAddresses.get
compute.globalAddresses.list
compute.
compute.
compute.
compute.globalAddresses.use
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.globalOperations.get
compute.globalOperations.list
compute.
compute.
compute.
compute.
compute.healthChecks.*
compute.healthChecks.create
compute.
compute.healthChecks.delete
compute.
compute.healthChecks.get
compute.healthChecks.list
compute.
compute.
compute.healthChecks.update
compute.healthChecks.use
compute.
compute.httpHealthChecks.*
compute.
compute.
compute.
compute.
compute.httpHealthChecks.get
compute.httpHealthChecks.list
compute.
compute.
compute.
compute.httpHealthChecks.use
compute.
compute.httpsHealthChecks.*
compute.
compute.
compute.
compute.
compute.httpsHealthChecks.get
compute.httpsHealthChecks.list
compute.
compute.
compute.
compute.httpsHealthChecks.use
compute.
compute.images.*
compute.images.create
compute.
compute.images.delete
compute.
compute.images.deprecate
compute.images.get
compute.images.getFromFamily
compute.images.getIamPolicy
compute.images.list
compute.
compute.images.listTagBindings
compute.images.setIamPolicy
compute.images.setLabels
compute.images.update
compute.images.useReadOnly
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.instanceGroups.*
compute.instanceGroups.create
compute.
compute.instanceGroups.delete
compute.
compute.instanceGroups.get
compute.instanceGroups.list
compute.
compute.
compute.instanceGroups.update
compute.instanceGroups.use
compute.instanceSettings.get
compute.instanceTemplates.*
compute.
compute.
compute.instanceTemplates.get
compute.
compute.instanceTemplates.list
compute.
compute.
compute.instances.*
compute.
compute.
compute.
compute.instances.attachDisk
compute.instances.create
compute.
compute.instances.delete
compute.
compute.
compute.
compute.instances.detachDisk
compute.instances.get
compute.
compute.
compute.instances.getIamPolicy
compute.
compute.
compute.
compute.
compute.instances.list
compute.
compute.
compute.
compute.instances.osAdminLogin
compute.instances.osLogin
compute.
compute.
compute.instances.reset
compute.instances.resume
compute.
compute.
compute.
compute.instances.setIamPolicy
compute.instances.setLabels
compute.
compute.
compute.instances.setMetadata
compute.
compute.instances.setName
compute.
compute.
compute.
compute.
compute.
compute.instances.setTags
compute.
compute.instances.start
compute.
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.
compute.
compute.
compute.
compute.
compute.
compute.instances.use
compute.instances.useReadOnly
compute.instantSnapshots.*
compute.
compute.
compute.
compute.instantSnapshots.get
compute.
compute.instantSnapshots.list
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.interconnectGroups.*
compute.
compute.
compute.interconnectGroups.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.interconnects.*
compute.interconnects.create
compute.
compute.interconnects.delete
compute.
compute.interconnects.get
compute.
compute.interconnects.list
compute.
compute.
compute.
compute.interconnects.update
compute.interconnects.use
compute.licenseCodes.*
compute.licenseCodes.get
compute.
compute.licenseCodes.list
compute.
compute.licenseCodes.update
compute.licenses.*
compute.licenses.create
compute.licenses.delete
compute.licenses.get
compute.licenses.getIamPolicy
compute.licenses.list
compute.licenses.setIamPolicy
compute.licenses.update
compute.machineImages.*
compute.machineImages.create
compute.machineImages.delete
compute.machineImages.get
compute.
compute.machineImages.list
compute.
compute.
compute.
compute.machineTypes.*
compute.machineTypes.get
compute.machineTypes.list
compute.multiMig.*
compute.multiMig.create
compute.multiMig.delete
compute.multiMig.get
compute.multiMig.list
compute.networkAttachments.*
compute.
compute.
compute.
compute.
compute.networkAttachments.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.networkAttachments.use
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.networkProfiles.*
compute.networkProfiles.get
compute.networkProfiles.list
compute.networks.*
compute.networks.access
compute.networks.addPeering
compute.networks.create
compute.
compute.networks.delete
compute.
compute.networks.get
compute.
compute.
compute.networks.list
compute.
compute.
compute.
compute.networks.mirror
compute.networks.removePeering
compute.
compute.
compute.networks.update
compute.networks.updatePeering
compute.networks.updatePolicy
compute.networks.use
compute.networks.useExternalIp
compute.packetMirrorings.get
compute.packetMirrorings.list
compute.
compute.
compute.projects.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionHealthChecks.*
compute.
compute.
compute.
compute.
compute.regionHealthChecks.get
compute.
compute.
compute.
compute.
compute.regionHealthChecks.use
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionOperations.get
compute.regionOperations.list
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionSslPolicies.*
compute.
compute.
compute.
compute.
compute.regionSslPolicies.get
compute.regionSslPolicies.list
compute.
compute.
compute.
compute.
compute.regionSslPolicies.use
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionUrlMaps.*
compute.regionUrlMaps.create
compute.
compute.regionUrlMaps.delete
compute.
compute.regionUrlMaps.get
compute.
compute.regionUrlMaps.list
compute.
compute.
compute.regionUrlMaps.update
compute.regionUrlMaps.use
compute.regionUrlMaps.validate
compute.regions.*
compute.regions.get
compute.regions.list
compute.reservationBlocks.get
compute.reservationBlocks.list
compute.reservations.get
compute.reservations.list
compute.resourcePolicies.*
compute.
compute.
compute.resourcePolicies.get
compute.
compute.resourcePolicies.list
compute.
compute.
compute.resourcePolicies.use
compute.
compute.routers.*
compute.routers.create
compute.
compute.routers.delete
compute.
compute.
compute.routers.get
compute.routers.getRoutePolicy
compute.routers.list
compute.routers.listBgpRoutes
compute.
compute.
compute.
compute.routers.update
compute.
compute.routers.use
compute.routes.*
compute.routes.create
compute.
compute.routes.delete
compute.
compute.routes.get
compute.routes.list
compute.
compute.routes.listTagBindings
compute.securityPolicies.get
compute.securityPolicies.list
compute.
compute.
compute.securityPolicies.use
compute.serviceAttachments.*
compute.
compute.
compute.
compute.
compute.serviceAttachments.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.serviceAttachments.use
compute.snapshots.*
compute.snapshots.create
compute.
compute.snapshots.delete
compute.
compute.snapshots.get
compute.snapshots.getIamPolicy
compute.snapshots.list
compute.
compute.
compute.snapshots.setIamPolicy
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.sslCertificates.get
compute.sslCertificates.list
compute.
compute.
compute.sslPolicies.*
compute.sslPolicies.create
compute.
compute.sslPolicies.delete
compute.
compute.sslPolicies.get
compute.sslPolicies.list
compute.
compute.
compute.
compute.sslPolicies.update
compute.sslPolicies.use
compute.storagePools.*
compute.storagePools.create
compute.storagePools.delete
compute.storagePools.get
compute.
compute.storagePools.list
compute.
compute.storagePools.update
compute.storagePools.use
compute.subnetworks.*
compute.subnetworks.create
compute.
compute.subnetworks.delete
compute.
compute.
compute.subnetworks.get
compute.
compute.subnetworks.list
compute.
compute.
compute.subnetworks.mirror
compute.
compute.
compute.subnetworks.update
compute.subnetworks.use
compute.
compute.
compute.targetGrpcProxies.*
compute.
compute.
compute.
compute.
compute.targetGrpcProxies.get
compute.targetGrpcProxies.list
compute.
compute.
compute.
compute.targetGrpcProxies.use
compute.targetHttpProxies.*
compute.
compute.
compute.
compute.
compute.targetHttpProxies.get
compute.targetHttpProxies.list
compute.
compute.
compute.
compute.
compute.targetHttpProxies.use
compute.targetHttpsProxies.*
compute.
compute.
compute.
compute.
compute.targetHttpsProxies.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.targetHttpsProxies.use
compute.targetInstances.*
compute.targetInstances.create
compute.
compute.targetInstances.delete
compute.
compute.targetInstances.get
compute.targetInstances.list
compute.
compute.
compute.
compute.targetInstances.use
compute.targetPools.*
compute.
compute.
compute.targetPools.create
compute.
compute.targetPools.delete
compute.
compute.targetPools.get
compute.targetPools.list
compute.
compute.
compute.
compute.
compute.
compute.targetPools.update
compute.targetPools.use
compute.targetSslProxies.*
compute.
compute.
compute.
compute.
compute.targetSslProxies.get
compute.targetSslProxies.list
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.targetSslProxies.use
compute.targetTcpProxies.*
compute.
compute.
compute.
compute.
compute.targetTcpProxies.get
compute.targetTcpProxies.list
compute.
compute.
compute.
compute.targetTcpProxies.use
compute.targetVpnGateways.*
compute.
compute.
compute.
compute.
compute.targetVpnGateways.get
compute.targetVpnGateways.list
compute.
compute.
compute.
compute.targetVpnGateways.use
compute.urlMaps.*
compute.urlMaps.create
compute.
compute.urlMaps.delete
compute.
compute.urlMaps.get
compute.
compute.urlMaps.list
compute.
compute.
compute.urlMaps.update
compute.urlMaps.use
compute.urlMaps.validate
compute.vpnGateways.*
compute.vpnGateways.create
compute.
compute.vpnGateways.delete
compute.
compute.vpnGateways.get
compute.vpnGateways.list
compute.
compute.
compute.vpnGateways.setLabels
compute.vpnGateways.use
compute.vpnTunnels.*
compute.vpnTunnels.create
compute.
compute.vpnTunnels.delete
compute.
compute.vpnTunnels.get
compute.vpnTunnels.list
compute.
compute.
compute.vpnTunnels.setLabels
compute.wireGroups.*
compute.wireGroups.create
compute.wireGroups.delete
compute.wireGroups.get
compute.wireGroups.list
compute.wireGroups.update
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.*
compute.zones.get
compute.zones.list
dataflow.jobs.*
dataflow.jobs.cancel
dataflow.jobs.create
dataflow.jobs.get
dataflow.jobs.list
dataflow.jobs.snapshot
dataflow.jobs.updateContents
dataflow.messages.list
dataflow.metrics.get
dataflow.snapshots.*
dataflow.snapshots.delete
dataflow.snapshots.get
dataflow.snapshots.list
dataform.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.
dataform.
dataform.
dataform.
dataform.config.get
dataform.config.update
dataform.locations.get
dataform.locations.list
dataform.releaseConfigs.create
dataform.releaseConfigs.delete
dataform.releaseConfigs.get
dataform.releaseConfigs.list
dataform.releaseConfigs.update
dataform.repositories.commit
dataform.
dataform.repositories.create
dataform.repositories.delete
dataform.
dataform.
dataform.repositories.get
dataform.
dataform.repositories.list
dataform.
dataform.repositories.readFile
dataform.
dataform.repositories.update
dataform.
dataform.
dataform.workflowConfigs.get
dataform.workflowConfigs.list
dataform.
dataform.
dataform.
dataform.
dataform.
dataform.
dataform.
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.
dataform.
dataform.
dataform.workspaces.get
dataform.
dataform.
dataform.workspaces.list
dataform.
dataform.
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.
dataform.workspaces.readFile
dataform.
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.
dataform.
dataform.workspaces.writeFile
dataplex.projects.search
dns.
firebase.projects.get
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.
iam.
iam.serviceAccounts.list
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
logging.buckets.create
logging.
logging.buckets.delete
logging.
logging.buckets.get
logging.buckets.list
logging.
logging.
logging.buckets.undelete
logging.buckets.update
logging.exclusions.*
logging.exclusions.create
logging.exclusions.delete
logging.exclusions.get
logging.exclusions.list
logging.exclusions.update
logging.links.*
logging.links.create
logging.links.delete
logging.links.get
logging.links.list
logging.locations.*
logging.locations.get
logging.locations.list
logging.logEntries.create
logging.logEntries.route
logging.logMetrics.*
logging.logMetrics.create
logging.logMetrics.delete
logging.logMetrics.get
logging.logMetrics.list
logging.logMetrics.update
logging.logScopes.*
logging.logScopes.create
logging.logScopes.delete
logging.logScopes.get
logging.logScopes.list
logging.logScopes.update
logging.logServiceIndexes.list
logging.logServices.list
logging.logs.list
logging.notificationRules.*
logging.
logging.
logging.notificationRules.get
logging.notificationRules.list
logging.
logging.operations.*
logging.operations.cancel
logging.operations.get
logging.operations.list
logging.settings.*
logging.settings.get
logging.settings.update
logging.sinks.*
logging.sinks.create
logging.sinks.delete
logging.sinks.get
logging.sinks.list
logging.sinks.update
logging.sqlAlerts.*
logging.sqlAlerts.create
logging.sqlAlerts.update
logging.views.create
logging.views.delete
logging.views.get
logging.views.getIamPolicy
logging.views.list
logging.views.update
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.
monitoring.
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.groups.get
monitoring.groups.list
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.services.get
monitoring.services.list
monitoring.slos.get
monitoring.slos.list
monitoring.snoozes.get
monitoring.snoozes.list
monitoring.timeSeries.*
monitoring.timeSeries.create
monitoring.timeSeries.list
monitoring.
monitoring.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkconnectivity.
networkmanagement.
networkmanagement.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.locations.*
networksecurity.locations.get
networksecurity.locations.list
networksecurity.operations.*
networksecurity.
networksecurity.
networksecurity.operations.get
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.sacRealms.*
networksecurity.
networksecurity.
networksecurity.sacRealms.get
networksecurity.sacRealms.list
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.
networksecurity.urlLists.*
networksecurity.
networksecurity.
networksecurity.urlLists.get
networksecurity.urlLists.list
networksecurity.
networksecurity.urlLists.use
networkservices.*
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.gateways.get
networkservices.gateways.list
networkservices.
networkservices.gateways.use
networkservices.
networkservices.
networkservices.grpcRoutes.get
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.httpRoutes.get
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.locations.get
networkservices.locations.list
networkservices.meshes.create
networkservices.meshes.delete
networkservices.meshes.get
networkservices.meshes.list
networkservices.meshes.update
networkservices.meshes.use
networkservices.
networkservices.
networkservices.operations.get
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.tcpRoutes.get
networkservices.tcpRoutes.list
networkservices.
networkservices.
networkservices.
networkservices.tlsRoutes.get
networkservices.tlsRoutes.list
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
networkservices.
observability.scopes.get
opsconfigmonitoring.
orgpolicy.policy.get
pubsub.*
pubsub.
pubsub.schemas.attach
pubsub.schemas.commit
pubsub.schemas.create
pubsub.schemas.delete
pubsub.schemas.get
pubsub.schemas.getIamPolicy
pubsub.schemas.list
pubsub.schemas.listRevisions
pubsub.schemas.rollback
pubsub.schemas.setIamPolicy
pubsub.schemas.validate
pubsub.snapshots.create
pubsub.snapshots.delete
pubsub.snapshots.get
pubsub.snapshots.getIamPolicy
pubsub.snapshots.list
pubsub.snapshots.seek
pubsub.snapshots.setIamPolicy
pubsub.snapshots.update
pubsub.subscriptions.consume
pubsub.subscriptions.create
pubsub.subscriptions.delete
pubsub.subscriptions.get
pubsub.
pubsub.subscriptions.list
pubsub.
pubsub.subscriptions.update
pubsub.
pubsub.topics.create
pubsub.topics.delete
pubsub.
pubsub.topics.get
pubsub.topics.getIamPolicy
pubsub.topics.list
pubsub.topics.publish
pubsub.topics.setIamPolicy
pubsub.topics.update
pubsub.topics.updateTag
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
recommender.
resourcemanager.
resourcemanager.projects.get
resourcemanager.projects.list
servicedirectory.
servicedirectory.
servicedirectory.
servicedirectory.
servicenetworking.
servicenetworking.
servicenetworking.
servicenetworking.
servicenetworking.
servicenetworking.
servicenetworking.
servicenetworking.services.get
servicenetworking.
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.services.use
stackdriver.projects.get
stackdriver.
storage.anywhereCaches.*
storage.anywhereCaches.create
storage.anywhereCaches.disable
storage.anywhereCaches.get
storage.anywhereCaches.list
storage.anywhereCaches.pause
storage.anywhereCaches.resume
storage.anywhereCaches.update
storage.bucketOperations.*
storage.
storage.bucketOperations.get
storage.bucketOperations.list
storage.buckets.*
storage.buckets.create
storage.
storage.buckets.delete
storage.
storage.
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.getIpFilter
storage.
storage.buckets.list
storage.
storage.
storage.buckets.relocate
storage.buckets.restore
storage.buckets.setIamPolicy
storage.buckets.setIpFilter
storage.buckets.update
storage.folders.*
storage.folders.create
storage.folders.delete
storage.folders.get
storage.folders.list
storage.folders.rename
storage.intelligenceConfigs.*
storage.
storage.
storage.managedFolders.*
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.
storage.managedFolders.list
storage.
storage.multipartUploads.*
storage.multipartUploads.abort
storage.
storage.multipartUploads.list
storage.
storage.objects.*
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list
storage.objects.move
storage.
storage.objects.restore
storage.objects.setIamPolicy
storage.objects.setRetention
storage.objects.update
trafficdirector.*
trafficdirector.
trafficdirector.
Dataflow Viewer
roles/
)
dataflow.jobs.get
dataflow.jobs.list
dataflow.messages.list
dataflow.metrics.get
dataflow.snapshots.get
dataflow.snapshots.list
recommender.
recommender.
resourcemanager.projects.get
resourcemanager.projects.list
Dataflow Worker
roles/
)
autoscaling.
autoscaling.sites.writeMetrics
autoscaling.sites.writeState
compute.
compute.instances.delete
compute.
dataflow.jobs.get
dataflow.shuffle.*
dataflow.shuffle.read
dataflow.shuffle.write
dataflow.streamingWorkItems.*
dataflow.
dataflow.
dataflow.
dataflow.
dataflow.
dataflow.workItems.*
dataflow.workItems.lease
dataflow.workItems.sendMessage
dataflow.workItems.update
logging.logEntries.create
logging.logEntries.route
monitoring.timeSeries.create
storage.buckets.get
storage.objects.create
storage.objects.get
The Dataflow Worker role (roles/dataflow.worker
)
provides the permissions necessary for a Compute Engine service account to run work units
for an Apache Beam pipeline. The Dataflow Worker role
must be assigned to a service account that is able to request
and update work from the Dataflow service.
The Dataflow Service Agent role (roles/dataflow.serviceAgent
)
is used exclusively by the Dataflow service account. It provides the service account access to managed
resources in your Google Cloud project to run Dataflow
jobs. It is assigned automatically to the service account when you enable the
Dataflow API for your project from the
APIs page in the Google Cloud console.
Creating jobs
To a create a job, the roles/dataflow.admin
role includes
the minimal set of permissions required to run and examine jobs.
Alternatively, the following permissions are required:
- The
roles/dataflow.developer
role, to instantiate the job itself. - The
roles/compute.viewer
role, to access machine type information and view other settings. - The
roles/storage.objectAdmin
role, to provide permission to stage files on Cloud Storage.
Example role assignment
To illustrate the utility of the different Dataflow roles, consider the following breakdown:
- The developer who creates and examines jobs needs the
roles/iam.serviceAccountUser
role. - For more sophisticated permissions management, the developer interacting with the Dataflow job needs the
roles/dataflow.developer
role.- They need the
roles/storage.objectAdmin
or a related role to stage the required files. - For debugging and quota checking, they need the project
roles/compute.viewer
role. - Absent other role assignments, this role lets the developer create and cancel Dataflow jobs, but not interact with the individual VMs or access other Cloud services.
- They need the
- The worker service account
needs the
roles/dataflow.worker
and theroles/dataflow.admin
roles to process data for the Dataflow service.- To access job data, the worker service account needs other roles such as
roles/storage.objectAdmin
. - To write to BigQuery tables, the worker service account needs the
roles/bigquery.dataEditor
role. - To read from a Pub/Sub topic or subscription, the worker service account needs the
roles/pubsub.editor
role.
- To access job data, the worker service account needs other roles such as
- If you're using a Shared VPC, the Shared VPC
subnetwork needs to be shared with the Dataflow
service account
and needs to have the
Compute Network User role
assigned on the specified subnet.
- To see if the Shared VPC subnetwork is shared with the Dataflow service account, in the Google Cloud console, go to the Shared VPC page and search for the subnet. In the Shared with column, you can see whether the VPC subnetwork is shared with the Dataflow service account. For more information, see Guidelines for specifying a subnetwork parameter for Shared VPC.
- The host project's
Compute Engine service account,
the service project's
Dataflow worker service account,
and the service account used to submit the job need to have the following roles:
roles/dataflow.admin
roles/compute.networkUser
roles/storage.objectViewer
Assigning Dataflow roles
Dataflow roles can currently be set on organizations and projects only.
To manage roles at the organizational level, see Access control for organizations using IAM.
To set project-level roles, see Granting, changing, and revoking access to resources.