读取受 OneLake 安全机制保护的数据

当你对OneLake中的表应用 行级安全(RLS)列级安全(CLS )时,是否以及如何读取数据取决于你查询时使用的引擎。 本文介绍了哪些引擎可以读取安全数据、每种引擎的要求,以及作为数据消费者可以预期的执法行为。

要了解如何定义安全规则,请参阅 创建和管理OneLake安全角色。 关于底层概念,请参见 OneLake中的表、列和行级安全

能够读取安全数据的引擎

Fabric 引擎可以读取应用了 RLS 或 CLS 规则的表。 访问OneLake的数据有两种方式之一:

  • 通过查询引擎:Fabric 引擎和授权的第三方引擎会应用 RLS 和 CLS 过滤,所以你只看到允许看到的行和列。
  • 通过用户访问: 来自未经授权的外部引擎的查询被视为用户访问。 如果你不能看到表格中的所有行或列,查询就会被阻塞。

下表列出了支持RLS和CLS过滤的引擎:

Engine RLS/CLS 筛选 地位
Eventhouse 仅限 RLS 公开预览
Fabric中的图 是的 GA
Lakehouse 是的 GA
在 OneLake 模式下使用 Direct Lake 的语义模型 是的 GA
Spark 笔记本 是的 GA
用户身份访问模式下的SQL分析端点 是的 GA
经授权的第三方引擎 是(当引擎实现该功能时) 公开预览

发动机特定需求

有些引擎在读取安全数据前需要额外配置:

访问授权第三方引擎的数据

授权的第三方引擎通过使用 授权引擎 API 为用户获取 OneLake 的有效访问权限,并在查询时强制执行 RLS 和 CLS。 OneLake 会为发出请求的用户返回与引擎无关、预先计算的有效访问权限,而引擎则在其自身的计算层中实施这些策略。 OneLake仍然是唯一的真实来源,因此OneLake编写的安全定义在Fabric引擎和授权外部引擎中会一致应用。

有关详细信息,请参阅 将第三方引擎与 OneLake 安全性集成