OneLake 数据访问角色使你可以将基于角色的访问控制 (RBAC) 应用到 OneLake 中存储的数据。 可以定义安全角色,这些角色授予对 Fabric 项中特定文件夹的读取访问权限,然后将这些角色分配给用户或组。 访问权限决定了用户通过湖屋 UX、笔记本或 OneLake API 访问数据湖视图时看到的文件夹。
具有管理员、成员或参与者角色的 Fabric 用户可以从创建 OneLake 数据访问角色开始,仅授予对湖屋中特定文件夹的访问权限。 若要授予对湖仓中数据的访问权限,请将用户添加到数据访问角色中。 不属于数据访问角色的用户无法看到该湖屋中的数据。
注意
数据访问角色安全性仅适用于直接访问 OneLake 的用户。 SQL 分析终结点、语义模型和仓库等 Fabric 项有自己的安全模型,通过委派身份访问 OneLake。 这意味着,如果用户有权访问多个项,则可以看到每个工作负载中的不同项。
先决条件
若要为湖屋配置安全性,你必须是工作区的管理员、成员或参与者。 角色创建和成员资格分配会在保存角色后立即生效,因此请确保在将某人添加到角色之前授予访问权限。
只有湖屋项支持 OneLake 数据访问角色。
如何选择加入
默认情况下,数据访问角色预览功能处于禁用状态。 预览功能是基于每个湖屋配置的。 选择加入控制允许单个湖屋试用预览,而无需在任何其他湖屋或 Fabric 项上启用预览。
若要启用预览,你必须是工作区的管理员、成员或参与者。
预览功能一旦启用就无法关闭。
- 导航到湖屋并选择“管理 OneLake 数据访问(预览版)”。
- 查看确认对话框。 数据访问角色预览与外部数据共享预览不兼容。 如果对更改满意,请选择“继续”。
为了确保顺利加入体验,拥有对湖屋中数据的读取权限的所有用户继续通过名为 DefaultReader 的默认数据访问角色进行读取访问。 使用虚拟化角色成员身份,具有查看湖屋中数据所需权限(ReadAll 权限)的所有用户都作为此默认角色的成员包含在内。 若要限制这些用户的访问,请删除 DefaultReader 角色或从这些用户中移除 ReadAll 权限。
重要
确保将任何包含在数据访问角色中的用户从 DefaultReader 角色中移除。 否则,他们将保留对数据的完全访问权限。
哪些类型的数据可以得到保护?
使用 OneLake 数据访问角色管理对湖屋中文件夹的 OneLake 读取访问权限。 可向湖屋中的任何文件夹授予读取访问权限,默认状态是无法访问文件夹。 数据访问角色设置的安全性仅适用于针对 OneLake 或 OneLake 特定 API 的访问。 有关更多信息,请参阅数据访问控制模型。
创建角色
使用以下步骤在 OneLake 中创建数据访问角色。
打开要在其中定义安全性的湖屋。
从“湖屋”菜单中选择“管理 OneLake 数据访问(预览版)”。
在“管理 OneLake 数据访问”窗格中,选择“新建”。
为新角色提供符合以下准则的名称:
- 角色名称只能包含字母数字字符。
- 角色名称必须以字母开头。
- 名称不区分大小写,且必须唯一。
- 名称最大长度为 128 个字符。
如果希望此角色应用于此湖屋中的所有表和文件,请选择“所有数据”切换开关。
此选择还提供对将来添加的任何文件夹的访问权限。
如果希望此角色仅应用于选定的一组表和文件夹,请选择“所选数据”切换按钮。 然后,使用以下步骤定义此角色的已批准数据。
选择“浏览湖屋”。
展开“表”和“文件”目录,查看湖屋中的数据。
选中要应用角色的表和文件旁边的框。
选择“添加数据”,将所选项添加到角色。
使用“将成员添加到角色”文本框,手动输入要包含在角色中的用户的姓名或电子邮件地址。 或者,选择“高级配置”,并按照“分配虚拟成员”中的指南进行操作。
手动添加成员:
- 输入用户的姓名或电子邮件地址。
- 从建议列表中选择正确的名称。
- 选择复选图标确认所选内容,或选择“X”图标清除所选内容。
查看“预览角色”摘要。
- 若要编辑数据预览,请选择“浏览湖屋”并更新所选的表和文件夹。
- 若要从成员预览中删除用户,请选择其姓名旁边的更多选项 (...),然后选择“从角色中删除”。
选择“创建角色”并等待已成功发布角色的通知。
编辑角色
使用以下步骤在 OneLake 中编辑现有的数据访问角色。
打开要在其中定义安全性的湖屋。
从“湖屋”菜单中选择“管理 OneLake 数据访问(预览版)”。
在“管理 OneLake 数据访问”窗格中,选择要编辑的角色。
此操作将打开角色详细信息页,其中包括两个选项卡:“角色中的数据”、“角色中的成员”。
在“角色中的数据”选项卡中查看信息:
此选项卡显示角色的成员可以访问的所有数据。
“数据”列显示属于角色访问的表或文件夹的名称。 可以展开和折叠架构来查看它下面的项。 将鼠标悬停在条目上会显示表或文件夹的完整路径。
“类型”列指示选定项目的类型。 值有:“架构”、“表”或“文件夹”。
“权限”列显示角色向每个项授予哪些权限。 目前仅支持“读取”。
“数据访问”列指示是否对项应用任何行级别或列级别限制。 带锁和水平线的图标指示应用了行级别安全性,而带锁和垂直线的图标表示应用了列级安全性。
若要编辑角色中包含的数据,请选择“添加数据”。
此操作将打开表和文件夹选择对话框。
选中和取消选中表或文件夹,以在角色中添加或删除它们。
选择“添加数据”确认选择。
选择“角色中的成员”选项卡以查看角色的成员。
“成员”列显示成员的个人资料图片和姓名。
“类型”列指示成员是用户还是组。
“添加途径”列表示用户是通过电子邮件添加为角色的成员还是作为湖屋权限组的一部分添加。 有关使用湖屋权限添加用户的详细信息,请参阅分配虚拟成员。
若要编辑角色的成员,请选择“添加成员”。
若要手动添加成员,请在“将成员添加到角色”文本框中输入姓名或电子邮件。 从建议列表中选择正确的名称。 然后,选择复选图标确认所选内容,或选择“X”图标清除所选内容。
若要从角色中删除用户,请选择其姓名旁边的更多选项 (...),然后选择“从角色中删除”。
对角色成员身份进行任何更改会立即更新角色。 通知会指出任何更改的成功或失败。
删除角色
使用以下步骤删除 OneLake 数据访问角色。
打开要在其中定义安全性的湖屋。
从“湖屋”菜单中选择“管理 OneLake 数据访问(预览版)”。
在“管理 OneLake 数据访问”窗格中,选中要删除的角色旁边的框。
选择“删除”并等待角色成功删除的通知。
分配成员或组
OneLake 数据访问角色支持将用户添加到角色的两种方法。 主要方法是使用“分配角色”页上的“添加人员或组”框将用户或组直接添加到角色。 第二种方法是使用“高级配置”控件创建具有权限组的虚拟成员身份。
将用户直接添加到角色会将用户添加为角色的显式成员。 这些用户在“成员”列表中显示其姓名和图片。
虚拟成员允许根据用户的 Fabric 项权限动态调整角色的成员资格。 选择“高级配置”并选择权限,可以将 Fabric 工作区中具有所有选定权限的任何用户添加为该角色的隐式成员。 例如,如果选择“ReadAll, Write”,则 Fabric 工作区中对项具有 ReadAll 和 Write 权限的任何用户都将作为该角色的成员包含在内。 可以通过查看角色中的成员选项卡中的“添加途径”列,来了解哪些用户是由权限组添加的。这些成员无法通过直接手动操作删除。 若要删除通过权限组添加的成员,请从角色中删除该权限组。
无论使用哪种类型的成员身份,数据访问角色都支持添加单个用户、Microsoft Entra 组和安全主体。
分配虚拟成员
可用于虚拟成员的权限包括:
- 读取
- 写入
- 重新共享
- 执行
- 全部读取
若要分配具有权限组的用户,请使用以下步骤:
选择您要将成员分配到的角色名称。
在角色详细信息页上,选择“角色中的成员”选项卡。
选择“添加成员”。
选择“高级配置”。
在“权限组”框中,选中要包含用户的每个权限旁边的复选框。
每个权限组显示该组中包含的用户数的计数。
选择多个权限组会包含具有全部所选必需权限的用户。
选择“添加”以将组添加进去并保存角色。
已知问题
外部数据共享预览版功能与数据访问角色预览版不兼容。 在湖屋上启用数据访问角色预览时,任何现有的外部数据共享都可能会停止工作。
OneLake 安全性不适用于跨区域 OneLake 快捷方式。