使用永久外部表查询 Google 云端硬盘数据

使用永久外部表查询 Google 云端硬盘数据

所需的权限和范围

当您使用永久表在 Google 云端硬盘中查询外部数据时,您需要拥有以下权限:在项目级或更高级层运行查询作业的权限、允许您创建指向外部数据的表的权限,以及允许您访问表数据的权限。如果外部数据存储在 Google 云端硬盘中,您还需要有权访问链接到外部表的 Google 云端硬盘文件。

BigQuery 权限

如需在 BigQuery 中创建和查询外部表,您至少需要具备以下权限。

  • bigquery.tables.create
  • bigquery.tables.getData
  • bigquery.jobs.create

以下预定义的 IAM 角色同时具有 bigquery.tables.create 和 bigquery.tables.getData 权限:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

以下预定义的 IAM 角色包含 bigquery.jobs.create 权限:

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

此外,如果用户具有 bigquery.datasets.create 权限,则当该用户创建数据集时,系统会为其授予该数据集的 bigquery.dataOwner 访问权限。具有 bigquery.dataOwner 访问权限的用户可以在数据集中创建外部表,但若要查询数据,用户仍需具备 bigquery.jobs.create 权限。

如需详细了解 BigQuery 中的 IAM 角色和权限,请参阅预定义的角色和权限。

Google 云端硬盘权限

如需查询 Google 云端硬盘中的外部数据,您必须至少对链接到外部表的 Google 云端硬盘文件具有 View 访问权限。

Compute Engine 实例的范围

创建 Compute Engine 实例时,您可以为该实例指定一个范围列表。这些范围用于控制该实例对 Google Cloud 产品(包括 Google 云端硬盘)的访问权限。在虚拟机上运行的应用会使用服务帐号来调用 Google Cloud API。

如果您将某个 Compute Engine 实例设置为以服务帐号身份运行,并且该服务帐号可以访问一个链接到 Google 云端硬盘数据源的外部表,则您必须为该实例添加 Google 云端硬盘 OAuth 范围 (https://www.googleapis.com/auth/drive)。

如需了解如何将范围应用于 Compute Engine 实例,请参阅更改实例的服务帐号和访问权限范围。如需详细了解 Compute Engine 服务帐号,请参阅服务帐号。

发表评论

邮箱地址不会被公开。 必填项已用*标注