访问权限控制示例

场景示例

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

拥有对数据集中的数据的读写访问权限

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

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

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

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

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

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

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

拥有组织的完整访问权限

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

拥有组织的完整访问权限
在组织 CompanyA 上

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

拥有同一项目中数据的读取访问权限

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

拥有同一项目中数据的读取访问权限
在项目 CompanyProject 上
  • 将 OperationsServiceAccount 添加到预定义角色 bigquery.user
  • 将 AnalystGroup 添加到预定义角色 bigquery.user
在数据集 CompanyProject:AppLogs 上

拥有不同项目中的数据的读取访问权限

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

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

拥有不同项目中的数据的读取访问权限
在项目 CompanyLogs 上
在项目 CompanyAnalytics 上
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面