适用于:✅Microsoft Fabric 中的仓库和镜像数据库
共享是一种便捷的方式,可为用户提供对数据的读取访问以便进行下游使用。 共享允许组织中的下游用户通过 T-SQL、Spark 或 Power BI 访问仓库。 可以自定义向共享对象授予的权限级别,提供适当的访问级别。
注意
要在 Microsoft Fabric 中共享项,你必须是所在工作区的管理员或成员。
开始
确定要与 Fabric 工作区中的其他用户共享的仓库项后,选择“共享”行中的快速操作。
以下动态 gif 查看选择要共享的仓库、选择要分配的权限,最后向其他用户授予权限的步骤。
共享仓库
您可以通过从OneLake或仓库项目中选择共享以分享您的仓库,此操作可在快速操作中完成,如下图所示。
系统会提示你选择想要与谁共享仓库、授予他们哪些权限,以及是否通过电子邮件通知他们。
填写所有必填字段,选择“授予访问权限”。
共享接受者收到电子邮件后,可以选择“打开”并导航到“仓库 OneLake 目录”页。
根据已授予共享收件人的访问权限级别,共享收件人现在可以连接到 SQL 分析终结点、查询仓库、生成报表或通过 Spark 读取数据。
Fabric 安全角色
下面是有关提供的每个权限的更多详细信息:
如果未选择其他权限 - 默认情况下,共享接受者会收到“读取”权限,这仅允许接收者连接到 SQL 分析终结点,即相当于 SQL Server 中的 CONNECT 权限。 共享接受者将无法查询任何表、视图或执行任何函数或存储过程,除非他们可以使用 T-SQL GRANT 语句访问仓库中的对象。
提示
ReadData(由仓库用于 T-SQL 权限)、ReadAll(由 OneLake 和 SQL 分析终结点使用)以及 Build(由 Power BI 使用)是互不重叠的独立权限。
选择了“使用 SQL 读取所有数据”(“ReadData”权限)- 共享收件人可在只读模式下读取仓库中的所有表和视图。 共享收件人还可以选择复制提供的 SQL 分析终结点并连接到客户端工具以运行这些查询。 ReadData 等效于 SQL Server 中的 db_datareader 角色。 如果要进一步限制和提供对仓库中某些对象的精细访问,可以使用 T-SQL
GRANT
/REVOKE
/DENY
语句执行此操作。- 在 Lakehouse 的 SQL 分析终结点中,“读取所有 SQL 分析终结点数据”等效于“使用 SQL 读取所有数据”。
选择了“使用 Apache Spark 读取所有数据”(“ReadAll”权限)- 只有当共享收件人希望使用 Spark 引擎完全访问仓库的文件时,才应向他们提供 ReadAll。 具有 ReadAll 权限的共享接受者可以从仓库编辑器的“属性”窗格中找到 OneLake 中特定文件 Azure Blob 文件系统 (ABFS) 路径。 然后,共享接受者可以在 Spark Notebook 中使用此路径来读取此数据。 收件人还可以在实时中心订阅数据仓库中生成的 OneLake 事件。
- “订阅事件”(“SubscribeOneLakeEvents”权限) - 具有此权限的共享收件人可以订阅 Fabric Real-Time Hub 中为仓库生成的 OneLake 事件。
例如,具有 ReadAll 权限的用户可以在新笔记本中使用 Spark 查询来查询
FactSale
数据。选择了“基于默认数据集生成报表”(“生成”权限)- 共享收件人可基于连接到仓库的默认语义模型生成报表,从而对 OneLake 目录或 Power BI Desktop 中的数据创建 Power BI 报表。 默认情况下,“生成”框处于选中状态,但可以取消选中。
-
-
监视 - 具有 监视器 权限的用户可以查询动态管理视图(DMV),例如
sys.dm_exec_requests
查询文本、系统连接、会话和 Insights 视图。 通常需要此权限以进行操作监控、故障排除和性能分析。
-
监视 - 具有 监视器 权限的用户可以查询动态管理视图(DMV),例如
审核 - 具有 审核 权限的用户可以启用、配置和查询审核日志。 通过此权限,用户可以访问审核数据来查看活动历史记录、监视合规性和支持安全调查。
管理权限
“管理权限”页显示了通过分配工作区角色或项权限而获得访问权限的用户列表。
如果你是“管理员”或“成员”工作区角色的成员,请转到你的工作区并选择“更多选项”。 然后,选择“管理权限”。
对于获得工作区角色的用户,你将看到相应的用户、工作区角色和权限。
下表列出了每个角色默认具有哪些权限以及该权限是否可共享。
许可 | 默认授予 | 可共享 |
---|---|---|
读取 | 管理员、成员、参与者、观看者 | 是的 |
ReadData | 管理员、成员、参与者、观看者 | 是的 |
ReadAll | 管理员、成员、参与者 | 是的 |
生成 | 管理员、成员、参与者 | 是的 |
写入 | 管理员、成员、参与者 | 否 |
显示器 | 管理员、成员、参与者 | N/A - 不能自行授予 |
审计 | 管理员 | N/A - 不能自行授予 |
重新共享 | 管理员、成员 | N/A - 不能自行授予 |
还原 | 管理员 | 否 |
可以选择使用“管理权限”添加或移除权限:
- “删除访问权限”会删除所有项权限。
- “删除 ReadData 权限”会删除 ReadData 权限。
- “删除 ReadAll”会删除ReadAll权限。
- 移除构建 会取消对相应默认语义模型的 构建权限。
数据保护功能
Microsoft Fabric 数据仓库支持多种技术,管理员可以使用这些技术来保护敏感数据免受未经授权的查看。 通过保护或模糊处理未经授权的用户或角色的数据,这些安全功能可以在仓库和 SQL 分析终结点中提供数据保护,而无需更改应用程序。
- 列级安全性可防止未经授权的查看表中的列。
-
行级安全性可防止使用熟悉的
WHERE
子句筛选器谓词在表中未经授权地查看行。 - 动态数据掩码通过使用掩码防止未经授权查看完整的敏感数据,例如电子邮件地址或数字。
限制
- 如果提供项目权限或删除以前拥有权限的用户,则权限传播最多可能需要两个小时。 新权限会立即在“管理权限”中可见。 再次登录以确保权限反映在 SQL 分析终结点中。
- 共享收件人可以使用所有者的标识(委派模式)访问仓库。 确保不要将仓库的所有者从工作区中删除。
- 共享接收者仅有权访问他们收到的仓库,而不能访问仓库所在同一工作区中的任何其他项目。 如果要为团队中的其他用户提供协作处理仓库(读取和写入访问权限)的权限,请将他们添加为“成员”或“参与者”等工作区角色。
- 目前,当你共享仓库并选择“使用 SQL 读取所有数据”时,共享接受者可以在只读模式下访问仓库编辑器。 这些共享接受者可以创建查询,但当前无法保存其查询。
- 目前,只能通过用户体验共享仓库。
- 如果要提供对仓库中特定对象的精细访问,请在没有额外权限的情况下共享仓库,然后使用 T-SQL GRANT 语句提供对特定对象的精细访问。 有关详细信息,请参阅 GRANT、REVOKE 和 DENY 的 T-SQL 语法。
- 如果在共享对话框中看到 ReadAll 权限和 ReadData 权限已禁用,请刷新页面。
- 被共享者无权再次共享仓库。
- 如果将基于仓库构建的报表与其他收件人共享,则共享收件人需要更多权限才能访问该报表。 这取决于 Power BI 访问语义模型的方式:
- 如果通过直接查询模式访问,则需要向仓库提供对特定表/视图的 ReadData 权限(或精细 SQL 权限)。
- 如果通过 Direct Lake 模式访问,则需要向仓库提供对特定表/视图的 ReadData 权限(或精细权限)。 Direct Lake 模式是使用仓库或 SQL 分析终结点作为数据源的语义模型的默认连接类型。 有关详细信息,请参阅 Direct Lake 模式。
- 如果通过导入模式访问,则不需要其他权限。
- 目前不支持直接与 SPN 共享仓库。
- 仓库的共享对话框提供了订阅 OneLake 事件的选项。 目前,订阅 OneLake 事件的权限与“读取所有 Apache Spark”权限是同时授予的。