适用于:✅ Microsoft Fabric 中的 SQL 分析终结点和仓库
如果工作区角色分配或项权限中的默认权限未提供所需的控制级别,请使用Fabric仓库或 SQL 分析终结点中的标准 SQL 构造进行精细的访问控制。
对于 Microsoft Fabric 中的 SQL 分析终结点和仓库:
在Fabric仓库中配置用户精细权限
- 若要让用户连接到 Fabric 仓库或 SQL 分析终结点,必须将其分配到某个工作区角色,或向其授予该项的 读取 权限。 如果没有最低程度的读取权限,连接将失败。
- 若要在用户连接到仓库之前设置用户的精细权限,请先在 SQL 中定义权限。 然后,通过分配工作区角色或授予项权限来授予他们访问权限。
CREATE USER 限制
- 你不能在 Fabric 仓库或 SQL 分析终结点中显式运行
CREATE USER。 当运行GRANT或DENY时,Fabric 会自动创建数据库用户。 用户在同时具备足够的工作区级权限之前,无法连接。
查看我的权限
用户通过 SQL 连接字符串连接到Fabric仓库或 SQL 分析终结点后,可以使用 sys.fn_my_permissions 函数查看他们可用的权限。
当前用户的数据库作用域权限:
SELECT *
FROM sys.fn_my_permissions(NULL, 'Database');
当前用户的架构范围权限:
SELECT *
FROM sys.fn_my_permissions('<schema-name>', 'Schema');
当前用户的对象范围权限:
SELECT *
FROM sys.fn_my_permissions('<schema-name>.<object-name>', 'Object');
查看向Fabric仓库中的用户显式授予的权限
通过 SQL 连接字符串连接到 Fabric 仓库或 SQL 分析终结点时,具有较高权限的用户可以使用系统视图查询已授予的权限。 此查询不会返回用户通过Fabric工作区角色或项接收的权限。
SELECT DISTINCT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
Fabric仓库中的数据保护功能
在仓库和 SQL 分析终结点中,可以限制对特定列和表中特定行的访问,以及从非管理程序屏蔽敏感数据。