在 Fabric 数据仓库中实现列级别安全性

适用于:✅SQL 分析终结点和 Microsoft Fabric 中的仓库

Microsoft Fabric 中的列级安全性 (CLS) 让你能够基于这些表的特定授权来控制对表中列的访问。 有关详细信息,请参阅在 Fabric 数据仓库中实现列级别安全性

本指南介绍在仓库或 SQL 分析终结点中实现列级别安全性的步骤。

先决条件

在开始之前,请确保具有以下各项:

  1. 具有激活容量或试用容量的 Fabric 工作区。
  2. 湖屋上的 Fabric 仓库或 SQL 分析终结点。
  3. 工作区上的管理员、成员或参与者权限,或仓库或 SQL 分析终结点上的提升的权限。

1.连接

  1. 使用对仓库或 SQL 分析终结点具有提升的访问权限的帐户登录。 (工作区的管理员/成员/参与者角色或仓库或 SQL 分析终结点的控制权限)。
  2. 打开 Fabric 工作区,并导航到要在其中应用列级别安全性的仓库或 SQL 分析终结点。

2.定义表的列级别访问权限

  1. 确定要使用列级别安全性保护的用户/角色和数据表。

  2. 使用 GRANT T-SQL 语句和列列表来实现列级别安全性。 为了简化管理,首先将权限分配给角色,而不是使用个人。

    -- Grant select to subset of columns of a table
    GRANT SELECT ON YourSchema.YourTable 
    (Column1, Column2, Column3, Column4, Column5) 
    TO [SomeGroup];
    
  3. YourSchema 替换为架构的名称,将 YourTable 替换为目标表的名称。

  4. SomeGroup 替换为用户/组的名称。

  5. 将逗号分隔的列列表替换为要向角色授予其访问权限的列。

  6. 重复这些步骤,根据需要授予其他表的特定列访问权限。

3.测试列级别访问权限

  1. 以属于具有关联 GRANT 语句的角色成员的用户身份登录。
  2. 查询数据库表以验证列级别安全性是否按预期工作。 用户应仅看到他们有权访问的列,并且应该没法访问其他列。 例如:
    SELECT * FROM YourSchema.YourTable;
    
  3. 用户的类似结果将与使用 Microsoft Entra 身份验证进行数据库访问的其他应用程序一起筛选。 有关详细信息,请参阅 Microsoft Entra 身份验证作为 Microsoft Fabric 中 SQL 身份验证的替代方法

4.监视和维护列级别安全性

随着安全要求的变化,定期监视和更新列级别安全策略。 跟踪角色分配并确保用户具有适当的访问权限。