Access control reference

Overview

BigQuery Data Transfer Service uses Cloud Identity and Access Management to manage access to resources. To grant access to a resource, assign one or more BigQuery Cloud IAM roles to an entity. BigQuery Data Transfer Service's permissions are incorporated into the BigQuery Cloud IAM roles.

This page provides details on BigQuery Data Transfer Service Cloud Identity and Access Management permissions and roles. For more information on access controls in BigQuery, see the BigQuery predefined roles and permissions page.

BigQuery Data Transfer Service permissions

The following table describes the permissions available in BigQuery Data Transfer Service.

Permission Description
bigquery.transfers.get Get transfer metadata.
bigquery.transfers.update Create, update, and delete transfers.

Roles

The following table lists the BigQuery predefined Cloud IAM roles with a corresponding list of all the permissions each role includes. BigQuery Data Transfer Service permissions are listed along with the BigQuery permissions. Note that every permission is applicable to a particular resource type.

角色 名称 说明 权限 最低资源要求
roles/bigquery.admin BigQuery 管理 提供管理项目中所有资源的权限。可以管理项目中的所有数据,并可以从其他用户取消在项目中运行的作业。
  • bigquery.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
项目
roles/bigquery.connectionAdmin BigQuery Connection Admin Beta 版
  • bigquery.connections.*
roles/bigquery.connectionUser BigQuery Connection User Beta 版
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.use
roles/bigquery.dataEditor BigQuery 数据编辑者

dataEditor 应用于数据集时,可提供以下权限:

  • 读取数据集的元数据以及列出数据集中的表。
  • 创建、更新、获取和删除数据集的表。

此角色在应用于项目或组织级层时,还可提供创建新数据集的权限。

  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.updateTag
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.create
  • bigquery.tables.delete
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.list
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag
  • resourcemanager.projects.get
  • resourcemanager.projects.list
数据集
roles/bigquery.dataOwner BigQuery 数据所有者

dataOwner 应用于数据集时,可提供以下权限:

  • 读取、更新和删除数据集。
  • 创建、更新、获取和删除数据集的表。

此角色在应用于项目或组织级层时,还可提供创建新数据集的权限。

  • bigquery.datasets.*
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
数据集
roles/bigquery.dataViewer BigQuery 数据查看者

dataViewer 应用于数据集时,可提供以下权限:

  • 读取数据集的元数据以及列出数据集中的表。
  • 从数据集的表中读取数据和元数据。

此角色在应用于项目或组织级层时,还可提供枚举项目中所有数据集的权限。但若要运行作业,还需要具备其他角色。

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
数据集
roles/bigquery.jobUser BigQuery 作业用户 提供在项目中运行作业(包括查询)的权限。 此角色可以检查所有作业是否存在,以及枚举和取消自己的作业。
  • bigquery.jobs.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list
项目
roles/bigquery.metadataViewer BigQuery 元数据查看者

metadataViewer 应用于项目或组织级层时,可提供以下权限:

  • 列出项目中的所有数据集,以及读取所有数据集的元数据。
  • 列出项目中的所有表和视图,以及读取所有表和视图的元数据。

但若要运行作业,还需要具备其他角色。

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.get
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
项目
roles/bigquery.readSessionUser BigQuery 读取会话用户 拥有创建和使用读取会话的权限
  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceAdmin BigQuery Resource Admin Beta 版 管理所有 BigQuery 资源。
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.user BigQuery 用户 提供在项目中运行作业(包括查询)的权限。用户角色可枚举他们自己的作业,取消他们自己的作业,以及枚举项目中的数据集。另外,具有此角色的用户还可以在项目中创建新数据集;对于这些新数据集,系统会为创建者授予 bigquery.dataOwner 角色。
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.config.get
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.jobs.create
  • bigquery.jobs.list
  • bigquery.models.list
  • bigquery.readsessions.*
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.routines.list
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.tables.list
  • bigquery.transfers.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
项目

Custom roles

In addition to the pre-defined roles, BigQuery Data Transfer Service also supports custom roles. For more information, see Creating and managing custom roles in the Cloud IAM documentation.