确保您的数据湖安全无虞

本文档介绍了如何保护和管理对 Dataplex 数据湖的访问权限。

借助 Dataplex 安全模型,您可以管理以下任务的用户权限:

  • 管理数据湖(创建和附加资产、区域和其他数据湖)
  • 通过映射资产访问与数据湖关联的数据(例如Google Cloud 资源,例如 Cloud Storage 存储分区和 BigQuery 数据集)
  • 访问与数据湖关联的数据的元数据

数据湖的管理员可以通过授予基本角色和预定义角色来控制对 Dataplex 资源(例如数据湖、区域和资产)的访问权限。

基本角色

角色 说明
Dataplex Viewer
roles/dataplex.viewer
能够查看(但不能修改)数据湖及其配置的区域和资产。
Dataplex Editor
(roles/dataplex.editor)
能够修改数据湖。可以创建和配置数据湖、区域、资产和任务。
Dataplex Administrator
(roles/dataplex.administrator)
能够全面管理数据湖。
Dataplex Developer
(roles/dataplex.developer)
能够在数据湖中运行数据分析工作负载。 *
*如需查询 BigQuery 表,您需要有运行 BigQuery 作业的权限。在您希望将作业的计算支出归因于或向其收取费用的项目中设置此权限。如需了解详情,请参阅 BigQuery 预定义的角色和权限
如需运行 Spark 作业,请在您希望将计算归因到的项目中创建 Dataproc 集群并提交 Dataproc 作业。

预定义角色

Google Cloud 用于管理为 Dataplex 提供精细访问权限的预定义角色。

元数据角色

元数据角色可以查看元数据,例如表架构。

角色 说明
Dataplex Metadata Writer
(roles/dataplex.metadataWriter)
能够更新特定资源的元数据。
Dataplex Metadata Reader
(roles/dataplex.metadataReader)
能够读取元数据(例如,查询表)。

数据角色

向主账号授予数据角色后,他们便可以读取或写入数据湖的资产指向的底层资源中的数据。

Dataplex 会将其角色映射到每个底层存储资源(例如 Cloud Storage 和 BigQuery)的数据角色。

Dataplex 会将 Dataplex 数据角色转换并传播到底层存储资源,为每个存储资源设置正确的角色。您可以在数据湖层次结构(例如数据湖)中授予单个 Dataplex 数据角色,Dataplex 会维护对与该数据湖关联的所有资源中数据的指定访问权限(例如,Cloud Storage 存储分区和 BigQuery 数据集由底层区域中的资产引用)。

例如,向主账号授予数据湖的 dataplex.dataWriter 角色会为该主账号授予对数据湖内所有数据、其底层可用区和资源的写入权限。在较低级别(可用区)授予的数据访问角色会在数据湖层次结构中继承到底层资产。

角色 说明
Dataplex Data Reader
(roles/dataplex.dataReader)
能够从附加到资产的存储空间读取数据,包括存储分区和 BigQuery 数据集及其内容。 *
Dataplex Data Writer
(roles/dataplex.dataWriter)
能够写入资产指向的底层资源。 *
Dataplex Data Owner
(roles/dataplex.dataOwner)
向底层资源授予 Owner 角色,包括管理子资源的权限。例如,作为 BigQuery 数据集的数据所有者,您可以管理底层表。

确保您的数据湖安全无虞

您可以保护和管理对数据湖及其附加数据的访问权限。在 Google Cloud 控制台中,使用以下任一视图:

  • 权限标签页上的 Dataplex 管理视图
  • Dataplex Secure 视图

使用管理视图

借助权限标签页,您可以管理数据湖资源的所有权限,并以未经过滤的方式查看所有权限(包括继承的权限)。

如需保护您的数据湖,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Dataplex。

    进入 Dataplex

  2. 前往管理视图。

  3. 点击您创建的数据湖的名称。

  4. 点击权限标签页。

  5. 点击按角色查看标签页。

  6. 点击添加以添加新角色。添加 Dataplex Data ReaderData WriterData Owner 角色。

  7. 验证是否显示了 Dataplex Data ReaderData WriterData Owner 角色。

使用安全视图

Google Cloud 控制台中的 Dataplex 安全视图提供以下功能:

  • 可过滤的视图,仅显示以特定资源为中心的 Dataplex 角色
  • 将数据角色与数据湖资源角色分开
未从更高级别的数据湖资源继承的数据权限示例
图 1:在此数据湖示例中,两个正文对名为Cloud Storage 数据 (GCS 数据)的资产都有数据权限。 这些权限不会从更高级别的数据湖资源继承。


未从上层数据湖资源继承权限的示例
图 2:此示例展示了:
  1. 从项目继承 Dataplex 管理员角色的服务账号。
  2. 从项目继承 Dataplex Editor 和 Viewer 角色的主账号(电子邮件地址)。这些角色适用于所有资源。
  3. 从项目继承 Dataplex 管理员角色的主账号(电子邮件地址)。

政策管理

您指定安全政策后,Dataplex 会将权限传播到托管资源的 IAM 政策。

在数据湖级别配置的安全政策会传播到该数据湖中管理的所有资源。Dataplex 在 Dataplex 的管理 > 权限标签页中提供传播状态,并可让您查看这些大规模传播。它会持续监控受管理的资源,以便在 Dataplex 之外检测 IAM 政策的任何更改。

在资源附加到 Dataplex 数据湖后,对该资源拥有权限的用户仍会保有这些权限。同样,在将资源附加到 Dataplex 后创建或更新的非 Dataplex 角色绑定保持不变。

设置列级、行级和表级政策

Cloud Storage 存储分区资产附加了关联的 BigQuery 外部表

您可以升级 Cloud Storage 存储分区资产,这意味着 Dataplex 会移除已附加的外部表,改为附加 BigLake 表

您可以使用 BigLake 表(而非外部表)来实现精细的访问权限控制,包括行级控制列级控制列数据遮盖

元数据安全

元数据主要指与数据湖管理的资源中存在的用户数据相关联的架构信息。

Dataplex Discovery 会检查托管资源中的数据,并提取表格架构信息。这些表会发布到 BigQuery、Dataproc Metastore 和 Data Catalog 系统。

BigQuery

每个发现的表都有一个在 BigQuery 中注册的关联表。对于每个数据区,都有一个关联的 BigQuery 数据集,所有与在该数据区中发现的表关联的外部表都会在该数据集下注册。

发现的 Cloud Storage 托管表会在为该区域创建的数据集下注册。

Dataproc Metastore

数据库和表会在与 Dataplex 数据湖实例关联的 Dataproc Metastore 中提供。每个数据区域都有一个关联的数据库,每个素材资源可以有一个或多个关联的表。

通过配置 VPC-SC 网络,可保护 Dataproc Metastore 服务中的数据。在创建数据湖期间,Dataproc Metastore 实例会提供给 Dataplex,这已使其成为用户管理的资源。

Data Catalog

每个发现的表在 Data Catalog 中都有一个关联的条目,以便进行搜索和发现。

在创建条目时,Data Catalog 需要 IAM 政策名称。因此,Dataplex 会提供应与条目关联的 Dataplex 资产资源的 IAM 政策名称。因此,Dataplex 条目的权限取决于资产资源的权限。向资产资源授予 Dataplex Metadata Reader 角色 (roles/dataplex.metadataReader) 和 Dataplex Metadata Writer 角色 (roles/dataplex.metadataWriter)。

后续步骤