OneLake对两架飞机进行安全管理:
- 控制平面权限:管理 你对物品 的权限,比如创建、配置、共享或管理。 通过工作区角色在工作区级别设置控制平面权限,并通过共享和项的管理权限页面在项级别设置权限。
- 数据平面权限:管理你能看到或更改 的数据 。 对OneLake来说,这架飞机就是OneLake的安保。 在某个项上定义这些角色,并将其作用范围限定到文件夹、表、架构、行和列。
下表比较了这两种飞机:
| 轴 | 控制平面 | 数据平面 |
|---|---|---|
| 它管理的内容 | 对项目进行管理操作,如创建、配置、分享和删除。 | 访问数据本身,比如对表和文件的读写。 |
| 设定地点 | 工作区角色和物品权限。 | 定义在一个项目上,然后作用域扩展到文件夹、表、行和列。 |
| 粒度 | 项目级功能。 | 细化到每一行每一列。 |
| 影响对象 | 工作区里的每个人。 | 主要是有阅读权限的观众或用户。 管理员、会员和贡献者已经拥有数据访问权限。 |
要控制某人能做什么,可以用控制平面和工作区和物品角色。 要控制某人看到的具体数据,可以使用带有OneLake安全的数据平面。
OneLake 是一个分层数据湖,类似于 Azure Data Lake Storage (ADLS) Gen2 或 Windows 文件系统。 这两个层面分别适用于这一层级结构中的不同层级:
工作区:用于创建和管理项的协作环境。 在此级别,可通过工作区角色管理控制平面安全性。
项:一组捆绑在一起的功能,这些功能捆绑在一个组件中。 Fabric 中的数据项是指存储数据的项目,例如湖屋、仓库或 Fabric 中的 SQL 数据库。 项目继承工作区角色的权限,但可以拥有额外的控制平面权限。 你还会在物品上定义OneLake的安全角色。
文件夹及以下:文件夹,如
Tables/或Files/,连同表格、模式、行和列,用于组织项目内的数据。 OneLake 的安全范围涵盖这些层级的数据平面访问。
项目始终位于工作区中,而工作区始终直接位于 OneLake 命名空间下。
管理控制平面权限,包括工作区和物品角色
OneLake 在工作区级别和项目级别管理权限。 工作区和物品权限是OneLake中物品的 控制平面 安全模型。
通过工作区角色授予访问权限
工作区权限定义用户可以在工作区及其项中执行的操作。 这些权限主要是控制平面权限。 它们确定管理和项目管理能力,而不是直接访问数据。 但是,默认情况下,项目和文件夹通常会继承工作区权限,以授予数据访问权限。 工作区权限适用于该工作区内的所有项目。
四个不同的工作区角色授予不同类型的访问权限。 下表列出了每个工作区角色的默认行为:
| 角色 | 可以添加管理员吗? | 是否可以添加成员? | 是否可以编辑 OneLake 安全性? | 可以写入数据并创建项目吗? | 是否可以在 OneLake 中读取数据? | 是否可以更新和删除工作区? |
|---|---|---|---|---|---|---|
| 管理员 | 是 | 是 | 是 | 是 | 是 | 是 |
| 成员 | 否 | 是 | 是 | 是 | 是 | 否 |
| 参与者 | 否 | 否 | 否 | 是 | 是 | 否 |
| 查看器 | 否 | 否 | 否 | 否 | 不* | 否 |
* 可以使用 OneLake 安全角色向查看者授予对数据的访问权限。
详细了解Fabric工作区中的角色。
通过将 Fabric 工作区角色分配给安全组来简化其管理。 此方法让你可以通过在安全组中添加或删除成员来控制访问。
共享项目并设置项目级权限
通过使用 共享 功能,你可以为用户提供对项的直接访问权限。 用户无法看到工作区中的其他项目,也不是任何工作区角色的成员。 项权限授予连接到该项目及其任何终结点(用户可以访问)的权限。
| 权限 | 查看项元数据? | 查看 SQL 中的数据? | 是否可以查看 OneLake 中的数据? |
|---|---|---|---|
| 写入 | 是 | 是 | 是 |
| 读取 | 是 | 否 | 否 |
| 读取数据 | 否 | 仅在 委派模式下 | 否 |
| 全部阅读 | 否 | 否 | 仅通过 DefaultReader |
通过SQL分析端点的访问也取决于 SQL分析端点模式。 根据所用模式,除对该项具有读取访问权限外,用户可能还需要 SQL 权限或 ReadData 项权限。
你也可以在项目的 “管理权限 ”页面配置权限。 在本页面上,您可以为用户或组添加或移除单个项目权限。 项类型决定了哪些权限可用。
通过OneLake安全角色管理数据访问
OneLake 安全为存储在 OneLake 中的数据提供细粒度的角色安全保障,并在 Fabric 中的所有计算引擎中统一执行该安全措施。 OneLake 安全性是 OneLake 中数据的 数据平面 安全模型。
Fabric管理员或成员工作区角色中的用户可以创建 OneLake 安全角色,以授予用户对项内数据的访问权限。 每个角色有四个组成部分:
- 权限:该角色对数据具有的权限,如读取或读写。
- 类型:角色类型。 OneLake 安全性仅支持授予角色,这些角色用于授予对数据的访问权限。
- 角色中的数据: 角色授权访问的表、文件夹或模式。 你还可以在表上定义带有行级和列级安全性的数据访问。
- 角色成员:分配给该角色的 Microsoft Entra 身份,如用户、群组或非用户身份。
OneLake 安全角色为 查看器 工作区角色的用户或对项具有 读取 权限的用户提供数据访问权限。 工作区管理员、成员和贡献者已经拥有工作区中所有数据的读写权限,因此他们不受 OneLake 安全角色的影响。 所有 lakehouse 都配备 DefaultReader 角色,任何具有 ReadAll 权限的用户都可以访问 lakehouse 中的数据。 可以删除或编辑 DefaultReader 角色以删除该访问权限。
若要了解 OneLake 安全性,请参阅以下数据访问相关文章:
- OneLake 安全如何控制数据访问 ,详细介绍了完整的权限模型,以及 OneLake 如何评估角色。
- 创建和管理 OneLake 安全角色,教 你如何创建、编辑和删除角色,分配成员,并为表和文件夹应用行级和列级安全。
- OneLake 中的表级、列级和行级安全 解释了每种类型的数据访问控制的工作原理以及 OneLake 如何执行这些控制。
- 读取受 OneLake 安全性保护的数据介绍了哪些引擎可以读取受保护的数据,以及每种引擎的要求。
在授权第三方引擎中强制执行 OneLake 安全(预览版)
将您的第三方引擎配置为 授权引擎 ,以便它们能够强制执行OneLake的安全角色。 外部查询引擎可以注册为授权引擎,通过 OneLake API 获取安全策略定义和预计算的有效访问,并在查询时强制表权限、行级安全(RLS)和列级安全(CLS)。 OneLake 仍然是安全策略的单一事实来源。 策略只需编写一次,即可在 Fabric 引擎和经授权的外部引擎中统一执行。
更多信息请参见 OneLake 安全集成。
通过快捷方式访问的受保护数据
OneLake 中的快捷方式简化了数据管理。 OneLake 文件夹安全性适用于快捷方式,其依据是存储数据所在 Lakehouse 中定义的角色。
有关快捷方式安全注意事项的更多信息,请参见 OneLake 安全性如何控制数据访问 > 快捷方式。
有关特定快捷方式的访问和身份验证详细信息的信息,请参阅 OneLake 快捷方式的类型。
用 Microsoft Entra ID 认证到 OneLake
OneLake 使用 Microsoft Entra ID 进行身份验证。 使用它向用户标识和服务主体授予权限。 OneLake 会自动从使用 Microsoft Entra 身份验证的工具中提取用户标识,并将其映射到在 Fabric 门户中设置的权限。
注意
若要在 Fabric 租户中使用服务主体,租户管理员必须为整个租户或特定安全组启用服务主体名称 (SPN)。 在租户管理员门户的开发人员设置中详细了解如何启用服务主体。
通过审计日志跟踪OneLake活动
要审计OneLake中的数据访问,请启用 OneLake诊断功能。 OneLake 诊断会记录通过 OneLake API 进行的数据访问。 对于 Fabric 工作负载访问,它记录了对工作负载的访问权限。 事件会被存储在你选择的湖边小屋里。
对于OneLake控制平面活动,如安全角色的变更、快捷方式、共享、生命周期策略和存储层级,请使用Fabric审计日志。 有关操作说明,请参见“在 Fabric 中跟踪用户活动”。
在 OneLake 中加密数据并保护网络连接
OneLake通过加密静态和传输中的数据来保护您的数据,并允许您通过私有链路限制网络访问。 以下章节将介绍这些保障措施。
使用Microsoft管理和客户管理的密钥加密静态数据
默认情况下,使用Microsoft管理的密钥对 OneLake 中存储的数据进行静态加密。 Microsoft 管理的密钥会适当轮换。 OneLake 以透明方式加密和解密数据,符合 FIPS 140-2 标准。
可以通过使用你拥有和控制的客户管理密钥进行静态数据加密,添加一层额外的保护。 有关详细信息,请参阅 Fabric 工作区的客户管理密钥。
通过使用 TLS 加密传输中的数据
Microsoft 服务之间通过公共互联网传输的数据始终至少使用 TLS 1.2 进行加密。 在条件允许的情况下,Fabric 尽可能协商使用 TLS 1.3。 Microsoft 服务之间的流量始终通过 Microsoft 全球网络路由。
入站 OneLake 通信还会强制实施 TLS 1.2,并尽可能协商到 TLS 1.3。 与客户拥有的基础结构的出站 Fabric 通信首选安全协议,但当较新的协议不受支持时,可能会回退到较旧的不安全协议(包括 TLS 1.0)。
使用专用链接保护对 OneLake 的访问
若要在 Fabric 中配置专用链接,请参阅设置和使用专用链接。
允许运行在 Fabric 外部的应用访问数据
您可以使用租户设置“用户可以使用 Fabric 外部的应用访问存储在 OneLake 中的数据”来允许或限制 Fabric 环境外的应用访问 OneLake 数据。 管理员可以在 管理门户租户设置的 OneLake 部分找到此设置。
启用此设置时,用户可以访问来自所有源的数据。 例如,如果你有使用ADLS API或OneLake文件资源管理器的自定义应用,可以开启这个设置。 关闭此设置时,用户仍可以从内部应用(如 Spark、数据工程和数据仓库)访问数据,但无法访问 Fabric 环境外部运行的应用程序的数据。
注意
必须启用此设置,才能使用带有OneLake安全的快捷方式。