访问权限控制示例

场景示例

以下示例涉及一组数据科学家,他们全部属于名为 AnalystGroup 的 Google 群组

对数据集中数据的读写权限

CompanyProject 项目包含 dataset1 和 dataset2 两个数据集。AnalystGroup1 是一个仅处理 dataset1 的数据科学家群组,AnalystGroup2 是一个仅处理 dataset2 的群组。这些数据科学家应该只对其所处理的数据集具有完整访问权限,包括对该数据运行查询的权限。

拥有对数据集的读写访问权限
CompanyProject:dataset1 数据集级层 向 AnalystGroup1 授予对 dataset1 的 WRITER 访问权限。该角色映射到 bigquery.dataEditor 预定义 IAM 角色。
CompanyProject:dataset2 数据集级层 向 AnalystGroup2 授予对 dataset2 的 WRITER 访问权限。该角色映射到 bigquery.dataEditor 预定义 IAM 角色。
CompanyProject 项目 向 AnalystGroup1 和 AnalystGroup2 授予对 CompanyProject 的 bigquery.user 访问权限。

获得数据集级层的 WRITER 访问权限后,数据科学家可以查询数据集表中的数据,但无权在项目中运行查询作业。若想让数据科学家群组能够对其已获访问权限的数据集运行查询作业,必须为该群组授予项目级层预定义角色 bigquery.userbigquery.user 角色会授予 bigquery.jobs.create 权限。

或者,您可以将数据科学家群组添加到授予 bigquery.jobs.create 权限的项目级层 IAM 自定义角色

对项目中数据的完整访问权限

AnalystGroup 是一个处理 BigQuery 的数据科学家群组,负责在一个名为 CompanyProject 的项目中使用 BigQuery 的所有方面。该群组希望所有成员都具有对所有数据的读写权限。 组织的其他群组处理其他 Google Cloud 产品,但其他人都不与 BigQuery 互动。AnalystGroup 不使用任何其他 Google Cloud 服务。

对项目中数据的完整访问权限
CompanyProject 项目 将 AnalystGroup 添加到 bigquery.admin 预定义角色。

对组织的完整访问权限

CompanyA 是一个组织,它希望名为 Admin1 的特定人员成为其所有项目中所有 BigQuery 数据的管理员。MonitoringServiceAccount 是一个服务帐号,它负责监控组织内所有项目中所有表的大小。

对组织的完整访问权限
CompanyA 组织级层

如果公司决定 MonitoringServiceAccount 还需对超过特定大小的表进行缩减并移除早于特定时间段的数据,则需要将 MonitoringServiceAccount 添加到 bigquery.user 预定义角色。

对同一项目中数据的读取权限

AnalystGroup 是一个数据科学家群组,负责一个名为 CompanyProject 的项目中的分析服务。OperationsServiceAccount 是一个服务帐号,负责使用批量加载作业,将应用日志加载到 BigQuery 中特定的 CompanyProject:AppLogs 数据集。分析师不能修改日志。

对同一项目中数据的读取权限
CompanyProject 项目
  • 将 OperationsServiceAccount 添加到 bigquery.user 预定义角色。
  • 将 AnalystGroup 添加到 bigquery.user 预定义角色。
CompanyProject:AppLogs 数据集级层

对不同项目中数据的读取权限

AnalystGroup 包含一组数据科学家,他们负责一个名为 CompanyAnalytics 的项目中的分析服务。但是,他们分析的数据单独位于名为 CompanyLogs 的项目中。OperationsServiceAccount 是一个服务帐号,负责使用批量加载作业,将应用日志加载到 BigQuery 中 CompanyLogs 项目的各个数据集。

AnalystGroup 只能读取 CompanyLogs 项目中的数据,而不能创建其他存储空间或在该项目中运行任何查询作业。分析师可使用项目 CompanyAnalytics 来执行他们的工作,并维护他们在 CompanyAnalytics 项目中的输出。

对不同项目中数据的读取权限
CompanyLogs 项目级层
CompanyAnalytics 项目级层

其他信息

以下主题提供了有关 BigQuery 访问权限控制的更多信息。