共享数据和管理权限

适用于:Microsoft Fabric 中的仓库镜像数据库

共享是一种便捷的方式,可为用户提供对数据的读取访问以便进行下游使用。 共享允许组织中的下游用户使用 T-SQL、Spark 或 Power BI 的仓库。 可以自定义向共享对象授予的权限级别,提供适当的访问级别。

注意

要在 Microsoft Fabric 中共享项,你必须是所在工作区的管理员或成员。

开始使用

确定要与 Fabric 工作区中的其他用户共享的仓库项后,选择“共享”行中的快速操作。

以下动态 gif 查看选择要共享的仓库、选择要分配的权限,最后向其他用户授予权限的步骤。

动态 gif 显示用户与其他用户共享 Microsoft Fabric 中的仓库时与 Fabric 门户的互动。

共享数据仓库

  1. 可以从 OneLake 或仓库项目共享仓库,方法是在快速操作中选择“共享”,如下图所示

  2. 系统会提示你选择想要与谁共享仓库、授予他们哪些权限,以及是否通过电子邮件通知他们。

  3. 填写所有必填字段,选择“授予访问权限”

  4. 共享接受者收到电子邮件后,可以选择“打开”并导航到“仓库数据中心”页。

    显示共享用户有关共享仓库的电子邮件通知的屏幕截图。

  5. 根据已授予共享收件人的访问权限级别,共享收件人现在可以连接到 SQL 分析终结点、查询仓库、生成报表或通过 Spark 读取数据。

Fabric 安全角色

下面是有关提供的每个权限的更多详细信息:

  • 如果未选择其他权限 - 默认情况下,共享接受者会收到“读取”权限,这仅允许接收者连接到 SQL 分析终结点,即相当于 SQL Server 中的 CONNECT 权限。 共享接受者将无法查询任何表、视图或执行任何函数或存储过程,除非他们可以使用 T-SQL GRANT 语句访问仓库中的对象。

提示

ReadData(由仓库用于 T-SQL 权限)、ReadAll(由 OneLake 和 SQL 分析终结点使用)以及 Build(由 Power BI 使用)是互不重叠的独立权限

  • 选择了“使用 SQL 读取所有数据”(“ReadData”权限) - 共享收件人可以读取仓库中的所有对象。 ReadData 等效于 SQL Server 中的 db_datareader 角色。 共享收件人可以从仓库中的所有表和视图中读取数据。 如果要进一步限制和提供对仓库中某些对象的精细访问,可以使用 T-SQL GRANT/REVOKE/DENY 语句执行此操作。

    • 在 Lakehouse 的 SQL 分析终结点中,“读取所有 SQL 分析终结点数据”等效于“使用 SQL 读取所有数据”。
  • 选择“使用 Apache Spark 读取所有数据”(“读取所有”权限) - 共享接受者对 OneLake 中的基础 parquet 文件具有读取访问权限,可以使用 Spark 使用这些文件。 仅当共享接受者希望使用 Spark 引擎完全访问仓库文件时,才应提供 ReadAll。

  • 已选中“基于默认数据集生成报表”复选框(“生成”权限)- 共享收件人可以在连接到仓库的默认语义模型基础上生成报表。 如果共享接受者需要默认语义模型的“生成”权限,则应提供“生成”,以便针对此数据创建 Power BI 报表。 默认情况下,“生成”框处于选中状态,但可以取消选中。

ReadData 权限

使用 ReadData 权限,共享接受者可以在只读模式下打开仓库编辑器,并查询仓库中的表和视图。 共享收件人还可以选择复制提供的 SQL 分析终结点并连接到客户端工具以运行这些查询。

ReadAll 权限

具有 ReadAll 权限的共享接受者可以从仓库编辑器的“属性”窗格中找到 OneLake 中特定文件 Azure Blob 文件系统 (ABFS) 路径。 然后,共享接受者可以在 Spark Notebook 中使用此路径来读取此数据。

例如,在以下屏幕截图中,具有 ReadAll 权限的用户可以使用新笔记本中的 Spark 查询来查询 FactSale 中的数据。

Fabric 门户屏幕截图,显示用户打开 Spark 笔记本,以查询仓库快捷方式。

生成权限

使用“生成”权限,共享接受者可以在连接到仓库的默认语义模型的基础上创建报表。 共享接受者可以从数据中心创建 Power BI 报表,也可以使用 Power BI Desktop 执行相同的操作。

管理权限

“管理权限”页显示通过分配工作区角色或项权限获得访问权限的用户列表(如本文前面所述)。

如果你是“管理员”或“成员”工作区角色的成员,请转到你的工作区并选择“更多选项”。 然后,选择“管理权限”。

屏幕截图显示用户在仓库菜单中选择“管理权限”。

对于获得工作区角色的用户,你将看到相应的用户、工作区角色和权限。 “管理员”、“成员”和“参与者”工作区角色的成员对该工作区中的项具有读/写访问权限。 查看者具有 ReadData 权限,可以查询该工作区中仓库中的所有表和视图。 可以向用户提供“读取”、“ReadData”和“ReadAll”权限。

屏幕截图显示 Fabric 门户中仓库的“管理权限”页。

可以选择使用“管理权限”添加或移除权限:

  • “删除访问权限”会删除所有项权限。
  • “删除 ReadData 权限”会删除 ReadData 权限。
  • “删除 ReadAll”会删除 ReadAll 权限。
  • “删除生成”会删除对相应默认语义模型的生成权限。

屏幕截图显示用户删除共享接受者的 ReadAll 权限。

数据保护功能

Microsoft Fabric 数据仓库支持多种技术,管理员可以使用这些技术来保护敏感数据免受未经授权的查看。 通过保护或模糊处理未经授权的用户或角色的数据,这些安全功能可以在仓库和 SQL 分析终结点中提供数据保护,而无需更改应用程序。

  • 列级安全性可防止未经授权的查看表中的列。
  • 行级安全性可防止使用熟悉的 WHERE 子句筛选器谓词在表中未经授权地查看行。
  • 动态数据掩码通过使用掩码防止未经授权的查看敏感数据,以防止访问完成,例如电子邮件地址或数字。

限制

  • 如果提供项目权限或删除以前拥有权限的用户,则权限传播最多可能需要两个小时。 新权限会立即在“管理权限”中可见。 再次登录以确保权限反映在 SQL 分析终结点中。
  • 共享收件人可以使用所有者的标识(委派模式)访问仓库。 确保不会从工作区中删除仓库的所有者。
  • 共享收件人只能访问他们接收的仓库,而不能访问与仓库位于同一工作区中的其他任何项。 如果要为团队中的其他用户提供协作处理仓库(读取和写入访问权限)的权限,请将他们添加为“成员”或“参与者”等工作区角色
  • 目前,当你共享仓库并选择“使用 SQL 读取所有数据”时,共享接受者可以在只读模式下访问仓库编辑器。 这些共享接受者可以创建查询,但当前无法保存其查询。
  • 目前,只能通过用户体验共享仓库。
  • 如果要提供对仓库中特定对象的精细访问,请在没有额外权限的情况下共享仓库,然后使用 T-SQL GRANT 语句提供对特定对象的精细访问。 有关详细信息,请参阅 GRANTREVOKEDENY 的 T-SQL 语法。
  • 如果在共享对话框中看到 ReadAll 权限和 ReadData 权限已禁用,请刷新页面。
  • 共享收件人无权重新共享仓库。
  • 如果将基于仓库构建的报表与其他收件人共享,则共享收件人需要更多权限才能访问该报表。 这取决于 Power BI 访问语义模型的方式
    • 如果通过直接查询模式访问,则需要向仓库提供对特定表/视图的 ReadData 权限(或精细 SQL 权限)。
    • 如果通过 Direct Lake 模式访问,则需要向仓库提供对特定表/视图的 ReadData 权限(或精细权限)。 Direct Lake 模式是使用仓库或 SQL 分析终结点作为数据源的语义模型的默认连接类型。 有关详细信息,请参阅 Direct Lake 模式
    • 如果通过导入模式访问,则不需要其他权限。
    • 目前不支持直接与 SPN 共享仓库。