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

Tools for manage IAM policies:

For more information, see

Required Roles and Their Permissions

To use , the following roles are required. Below, you can review each required role, its purpose, and the permissions that are enabled by it.

RoleUsePermissions and roles

Enables a user to run in a project See below.


  • dataprep.projects.use
  • resourcemanager.projects.get
  • serviceusage.quotas.get

Enables the platform to access and modify datasets and storage and to run and manage jobs on behalf of the user within the project. For more information on this role, see

NOTE: When the product is enabled within a project, this role is granted by the project owner as part of the enablement process. For more information, see Enable or Disable Dataprep.


  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.create

  • storage.objects.delete

  • storage.objects.get

  • storage.objects.getIamPolicy

  • storage.objects.list

  • storage.objects.setIamPolicy

  • storage.objects.update


  • roles/dataflow.developer
  • roles/bigquery.user
  • roles/bigquery.dataEditor
  • roles/storage.objectAdmin
  • roles/iam.serviceAccountUser

roles/dataprep.projects.user IAM Role

All users of any version of must be assigned the roles/dataprep.projects.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.


PermissionProduct Use

Allow a user to use


Get project details

Run on :

PermissionProduct Use

List available machine types for jobs

Create a job

List jobs


Get job details


Get job details

Connection Permissions

These permissions are required for connections that are common in .

Read and write to , the base storage for :

PermissionProduct UseRequirement

List buckets in project

Required at project level
storage.buckets.getGet bucket metadataRequired for staging bucket only
storage.objects.createCreate filesRequired for staging bucket only
storage.objects.deleteDelete filesRequired for staging bucket only
storage.objects.getRead filesRequired for staging bucket only
storage.objects.listList filesRequired for staging bucket only


Read and write to BigQuery, including views and custom SQL:

PermissionProduct UseRequirement

For Custom SQL query support and launching jobs with BigQuery data sources.

Required at project level to use BigQuery
bigquery.datasets.getList and get metadata about datasets in projectCan be applied at project level or at individual dataset level

Execute custom queries

Can be applied at project level or at individual dataset level
bigquery.tables.getCreate tables in datasetCan be applied at project level or at individual dataset level
bigquery.tables.getGet table metadataCan be applied at project level or at individual dataset level
bigquery.tables.getDataget table contentsCan be applied at project level or at individual dataset level
bigquery.tables.listList tables in datasetCan be applied at project level or at individual dataset level

Feature Permissions

Additional permissions may be required to use specific features. Individual users may be required to permit  access when the feature is first used. 

 job cancellation

PermissionProduct Use

This permission is required to cancel jobs on from within the . It is not required for the product to work but may be helpful to add via IAM roles.

NOTE: The ability to cancel a job from within the is temporarily disabled. When it is re-enabled, this permission will be required. You should leave this permission enabled, if possible.

NOTE: A user may be able cancel a job from the , even though the user is not permitted to cancel the job in the running environment. The service account associated with the user's  may have the appropriate permissions, but the user's personal account does not. For more information, see Google Service Account Management

BigQuery publishing options

The following permissions are required to publish to BigQuery:

PermissionProduct Use

Create datasets in BigQuery

NOTE: In some environments, users may not be permitted the bigquery.datasets.create permission, and jobs on BigQuery sources fail. As a workaround, an administrator can define a BigQuery dataset for use for these jobs. This dataset is used by for storing temporary tables of intermediate query results when running jobs on BigQuery sources, which eliminates the need for the bigquery.datasets.create permission in the service account. For more information on defining this BigQuery query dataset, see Dataprep Project Settings Page.

bigquery.datasets.updateUpdate datasets in BigQuery

The following permission is not required to publish to BigQuery.

PermissionProduct Use

If this permission is not granted to a user, that user requires one of the following permissions to drop or truncate table data in BigQuery: 

  • The user is granted editor or owner role on the project.
  • The user is granted bigquery.tables.delete for the project.

NOTE: If a user does not have this permission when publishing to a table, the user receives a warning that the target dataset is read-only.

BigQuery job execution

To enable execution of jobs in BigQuery, the following permission must be enabled. Additional configuration may be required. For more information on this feature, see BigQuery Running Environment.

PermissionProduct Use permission enables execution of jobs within BigQuery. It is also used for custom SQL queries, which is enabled by default. In most projects, this permission is enabled by default.

BigQuery job execution on  files

If you have enabled execution of jobs in BigQuery, you can extend that capability to execute jobs for data sources hosted in . GCS execution in BigQuery requires that external tables be enabled in BigQuery. The following permissions are required to create and use external tables.

Tip: In most projects, these permissions are enabled by default.

PermissionProduct Use


Enabled in the default role.


Enabled in the default role. for job execution in BigQuery. See previous section.

Google Sheets access

For more information, see Import Google Sheets Data.

Additional Permissions for Cloud IAM

NOTE: Any change in a user's permissions in must be reflected in the service account assigned to the user.

Run  jobs

Every  job requires the use of a service account through which the job is submitted to  for execution. Each project user must have access to a service account. For more information, see Google Service Account Management.

Data access

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 .