如何保护常见数据体系结构的数据安全

本文概述了如何为数据网格中心和分支体系结构配置 OneLake 数据的安全性。

安全功能

Microsoft Fabric 使用多层安全模型,在不同的级别提供不同的控制,以便仅提供所需的最低权限。 有关本操作指南中讨论的不同安全类型的详细信息,请参阅 OneLake 中的数据访问控制模型

数据网格的安全性

数据网格是一种体系结构范例,它将数据视为产品,而不是服务或资源。 数据网格旨在跨不同域和团队分散数据的所有权和治理,同时通过通用平台实现互操作性和可发现性。 在数据网格体系结构中,每个分散式团队管理属于其数据产品一部分的数据所有权。 本部分中提供的安全指南侧重于为其工作区配置访问权限的单个数据产品团队。 每个数据产品团队都应该在自己的工作区中重复这些步骤,因为它们允许下游用户访问。

若要开始构建数据网格,请使用 Microsoft Fabric 的域功能根据其关联的数据产品和所有权标记工作区。

在域中,每个团队都有自己的一个工作区或多个工作区。 工作区存储构建供使用的最终数据产品所需的数据。 使用工作区角色向用户授予对工作区的访问权限。

确定数据产品的下游使用者,并根据实现其目标所需的最低权限授予访问权限。 要使用户与其目标体验保持一致,可以向每种下游用户授予对单个 Fabric 数据项的访问权限。 下表显示了数据网格使用者和相关 Fabric 项的一些常见用例。

用户 Fabric 项
数据科学家 Apache Spark 笔记本或湖屋
数据工程师 Apache Spark 笔记本、数据流或管道
业务分析师 SQL 分析终结点
报表创建者 语义模型
报表使用者 Power BI 报表

中心和分支的安全

中心和分支体系结构与数据网格不同,其不同之处在于所有经过认证的数据产品托管在一个集中拥有的位置。 下游使用者不太专注于构建其他数据产品,而是对中心团队生成的数据执行分析。

确定下游使用者,并根据实现其目标所需的最低权限授予访问权限。 要使用户与其目标体验保持一致,可以向每种下游用户授予对单个 Fabric 数据项的访问权限。 用户角色表显示了中心和分支的一些常见用例,以及相关的 Fabric 项。

用户 Fabric 项
数据科学家 Apache Spark 笔记本或湖屋
业务分析师 SQL 分析终结点
报表创建者 语义模型
报表使用者 Power BI 报表

工作区角色

工作区角色分配对于中心和分支体系结构和数据网格体系结构遵循相同准则。 工作职责表概述了要根据他们在工作区中执行的功能向用户分配哪种工作区角色

工作职责 工作区角色
拥有工作区并管理角色分配 管理员
管理非管理员用户的角色分配 成员
创建 Fabric 项并写入数据 参与者
使用 SQL 创建表和视图 查看器 + SQL 权限

数据科学家

数据科学家需要访问湖屋中的数据才能通过 Apache Spark 使用。 对于数据网格中心和分支,Spark 用户使用与数据驻留的工作区不同的工作区中的数据。 这样,数据科学家就可以访问创建模型和试验,而无需向保存数据的工作区添加待筛选邮件。 数据科学家还可以使用直接连接到 OneLake 数据路径的其他非 Spark 服务,例如 Azure Databricks 或 Dremio。

要为数据科学家预配访问权限,请使用共享按钮以共享湖屋。 选择对话框中的“读取所有 Apache Spark”框。 对于启用了 OneLake 数据访问角色的湖屋,请通过将它们添加到 OneLake 数据访问角色来授予相同的用户访问权限。 使用 OneLake 数据访问角色可以对数据进行更细粒度的访问。 然后,数据工程师可以创建快捷方式来选择湖屋中的表或文件夹。

数据工程师

数据工程师需要访问湖屋中的数据来构建下游数据产品。 数据工程师需要访问 OneLake 中的数据,以便创建管道或笔记本来读取数据。 在真正的中心和分支模型中,数据工程师角色仅存在于中央中心团队的层中。 但是,对于数据网格,数据工程师将跨各个域的数据产品组合在一起,以生成新的数据集。

使用共享按钮与数据工程师共享湖屋。 选中对话框中的“读取所有 Apache Spark”框。 对于启用了 OneLake 数据访问角色的湖屋,请通过将它们添加到 OneLake 数据访问角色来授予相同的用户访问权限。 使用 OneLake 数据访问角色可以对数据进行更细粒度的访问。 然后,数据工程师可以创建快捷方式来选择湖屋中的表或文件夹。

业务分析师

业务分析师(有时称为数据分析师)通过 SQL 查询数据来回答业务问题。

使用“共享”按钮与业务分析师共享湖屋。 选中对话框中的“读取所有 SQL 终结点数据”框。 此设置使业务分析师能够访问湖屋 SQL 分析终结点中的数据,但看不到基础 OneLake 文件。

通过在 SQL 中直接定义行级或列级安全性,可以进一步限制对这些用户的数据访问。

报表创建者

报表创建者生成 Power BI 报表供其他用户使用。

使用共享按钮与报表创建者共享湖屋。 选中对话框中的“在默认语义模型上生成报表”框。 此权限允许报表创建者使用与湖屋关联的语义模型生成报表。 这些用户无法访问 OneLake 中的数据,也不能对 SQL 分析终结点具有完全访问权限。

报表使用者

报表使用者是查看 Power BI 报表中的数据以做出决策的业务领导者或主管。

使用共享按钮与使用者共享报表。 不要选中任何框来授予读取报表的权限,而不是查看任何基础数据。 若要防止用户访问 SQL 分析终结点和查看表,请确保未定义任何将授予这些用户访问权限的 SQL 权限。

你还可以使用应用与报表使用者共享数据。 应用使用户能够访问预定义的报表或报表集,而无需访问基础工作区。 请注意,对于 DirectLake 下的报表,用户需要与他们共享基础湖屋才能查看数据。