访问权限控制参考文档

概览

BigQuery Data Transfer Service 使用 Identity and Access Management 来管理对资源的访问权限。如需授予对某项资源的访问权限,请为实体分配一个或多个 BigQuery IAM 角色。BigQuery IAM 角色包含 BigQuery Data Transfer Service 的权限。

本页面详细介绍了 BigQuery Data Transfer Service Identity and Access Management 权限和角色。如需详细了解 BigQuery 中的访问权限控制,请参阅 BigQuery 预定义的角色和权限页面。

BigQuery Data Transfer Service 权限

下表介绍了 BigQuery Data Transfer Service 中可用的权限。

权限 说明
bigquery.transfers.get 获取转移作业元数据。
bigquery.transfers.update 创建、更新和删除转移作业。

角色

下表列出了 BigQuery 预定义的 IAM 角色以及每个角色包含的所有权限的列表。BigQuery Data Transfer Service 权限与 BigQuery 权限一同列出。请注意,每个权限适用于特定资源类型。

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

此角色在应用于表或视图时,可提供以下权限:

  • 读取和更新表或视图的数据和元数据。
  • 删除表或视图。

此角色无法应用于单个模型或例程。

此角色在应用于数据集时,可提供以下权限:

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

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

  • 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.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag
  • resourcemanager.projects.get
  • resourcemanager.projects.list
表或视图
roles/bigquery.dataOwner BigQuery Data Owner

此角色在应用于表或视图时,可提供以下权限:

  • 读取和更新表或视图的数据和元数据。
  • 共享表或视图。
  • 删除表或视图。

此角色无法应用于单个模型或例程。

此角色在应用于数据集时,可提供以下权限:

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

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

  • bigquery.datasets.*
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
表或视图
roles/bigquery.dataViewer BigQuery Data Viewer

此角色在应用于表或视图时,可提供以下权限:

  • 从表或视图中读取数据和元数据。

此角色无法应用于单个模型或例程。

此角色在应用于数据集时,可提供以下权限:

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

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

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.export
  • 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.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
表或视图
roles/bigquery.jobUser BigQuery Job User 提供在项目中运行作业(包括查询)的权限。
  • bigquery.jobs.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list
项目
roles/bigquery.metadataViewer BigQuery Metadata Viewer

此角色在应用于表或视图时,可提供以下权限:

  • 从表或视图中读取元数据。

此角色无法应用于单个模型或例程。

此角色在应用于数据集时,可提供以下权限:

  • 列出数据集中的表和视图。
  • 从数据集的表和视图中读取元数据。

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

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

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

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.get
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
表或视图
roles/bigquery.readSessionUser BigQuery Read Session User 拥有创建和使用读取会话的权限
  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceAdmin BigQuery Resource Admin 管理所有 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.resourceEditor BigQuery Resource Editor 管理所有 BigQuery 资源,但不能做出购买决定。
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceViewer BigQuery Resource Viewer 可查看所有 BigQuery 资源,但不能执行更改或做出购买决定。
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.user BigQuery User

此角色应用于数据集时,让您可以读取数据集的元数据并列出数据集中的表。

应用于项目时,此角色还提供在项目内运行作业(包括查询)的能力。具有此角色的成员可以枚举自己的作业、取消自己的作业,还可以枚举项目中的数据集。此外,具有此角色的用户还可以在项目中创建新数据集;对于这些新数据集,系统会为创建者授予 BigQuery Data Owner 角色 (roles/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
数据集

自定义角色

除了预定义角色外,BigQuery Data Transfer Service 还支持自定义角色。如需了解详情,请参阅 IAM 文档中的创建和管理自定义角色