In the , Identity and Access Management (IAM) allows you to control user and group access to your project's resources. This section describes the IAM permissions relevant to and the IAM roles that grant those permissions. To access the IAM console, see https://cloud.google.com/iam.
For more information on the service accounts used by to manage security and permissions while running jobs, see https://cloud.google.com/dataflow/docs/concepts/security-and-permissions#security_and_permissions_for_pipelines_on_google_cloud_platform.
Tools for manage IAM policies:
For more information, see https://cloud.google.com/iam/docs/granting-changing-revoking-access.
To use , the following roles are required. Below, you can review each required role, its purpose, and the permissions that are enabled by it.
|Role||Use||Permissions and roles|
Enables a user to run in a project See below.
Enables the platform to access and modify datasets and storage and to run and manage jobs on behalf of the user within the project
All users of any version of must be assigned the
roles/dataprep.user IAM Role.
This role and its related permissions enable access to all data in a project. Other permissions do not apply.
The following base set of IAM permissions and some additional permissions are required for accessing the product. Below, you can review the required permissions for this product edition.
NOTE: These permissions provide basic access to the . Additional features within the product or available through external integrations are considered optional.
Allow a user to use
Get project details
Run on :
List available machine types for jobs
Create a job
Get job details
Get job details
Read and write to , the base storage for :
List buckets in project
|Required at project level|
|storage.buckets.get||Get bucket metadata||Required for staging bucket only|
|storage.objects.create||Create files||Required for staging bucket only|
|storage.objects.delete||Delete files||Required for staging bucket only|
|storage.objects.get||Read files||Required for staging bucket only|
|storage.objects.list||List files||Required for staging bucket only|
Permissions required to integrate with external services are considered optional.
Read and write to BigQuery, including views and custom SQL:
For Custom SQL query support and launching jobs with BigQuery data sources.
|Required at project level to use BigQuery|
|bigquery.datasets.get||List and get metadata about datasets in project||Can be applied at project level or at individual dataset level|
|bigquery.tables.create||Execute custom queries||Can be applied at project level or at individual dataset level|
|bigquery.tables.get||Create tables in dataset||Can be applied at project level or at individual dataset level|
|bigquery.tables.get||Get table metadata||Can be applied at project level or at individual dataset level|
|bigquery.tables.getData||get table contents||Can be applied at project level or at individual dataset level|
|bigquery.tables.list||List tables in dataset||Can be applied at project level or at individual dataset level|
Additional permissions may be required to use specific features. Individual users may be required to permit access when the feature is first used.
|dataflow.jobs.cancel||Enables users to cancel their jobs in progress. It is not required for the product to work but may be helpful to add via IAM roles.|
The following permissions are required to publish to BigQuery:
|bigquery.datasets.create||Create datasets in BigQuery|
|bigquery.datasets.update||Update datasets in BigQuery|
The following permission is not required to publish to BigQuery.
If this permission is not granted to a user, that user can drop or truncate table data in BigQuery, only if one of the following permissions is enabled in a user's account:
For more information, see Import Google Sheets Data.
In addition to the IAM roles above, users must also be granted the following to enable data access based on their Cloud IAM:
These permissions ensure that users can access the appropriate data within .