数据发现与Azure Synapse Analytics中的分类

数据发现与分类集成在 Azure Synapse Analytics 专用的 SQL 池中。 它具备发现、分类、标记和报告数据库中敏感数据的能力。

数据发现与分类不支持无服务器SQL池。

最敏感的数据可能包括业务、财务、医疗保健或个人信息。 它可以充当基础结构,用于:

  • 满足数据隐私标准和监管合规要求。
  • 支持安全场景,如监控(审计)敏感数据访问。
  • 控制对包含高度敏感数据的数据库的访问,并加强其安全性。

什么是数据发现和分类?

数据发现和分类目前支持以下功能:

  • 发现和建议: 分类引擎扫描数据库,并识别包含潜在敏感数据的列。 使用此功能可以通过 Azure 门户轻松地查看和应用建议的分类。

  • 标签: 您可以通过数据库引擎中的元数据属性,对列以持久方式应用敏感度分类标签。 然后,此元数据可用于基于敏感度的审核方案。

  • 查询结果集敏感度: 出于审核目的实时计算查询结果集的敏感度。

  • 可见性: 可以在 Azure 门户的详细仪表板中查看数据库分类状态。 此外,还可下载用于符合性和审核目的以及其他需求的报表(Excel 格式)。

发现、分类和标记敏感列

本部分介绍以下步骤:

  • 发现、分类和标记数据库中包含敏感数据的列。
  • 查看数据库的当前分类状态并导出报表。

分类包含两种元数据属性:

  • 标签:主要分类属性,用于定义列中存储的数据的敏感度级别。
  • 信息类型:提供有关列中存储的数据类型的更详尽信息的属性。

对数据库分类

Note

以下示例使用了 Azure SQL 数据库,但你应选择合适的产品来配置数据发现与分类。分类。

  1. 转到 Azure 门户。

  2. 转到“Azure SQL 数据库”窗格的“安全”标题下的“数据发现和分类”。 概览标签包含数据库当前分类状态的摘要。 摘要包含所有已分类列的详细列表,您可以筛选为仅显示特定的架构部分、信息类型和标签。 如果你还没有分类任何列, 可以跳到第4步。

  3. 要下载 Excel 格式的报表,请选择窗格顶部菜单中的“导出”。

  4. 若要开始对数据进行分类,请选择“数据发现和分类”页面上的“分类”选项卡。

    分类引擎扫描数据库,寻找包含潜在敏感数据的列,并提供建议的列分类列表。

  5. 查看并应用分类建议:

    • 若要查看建议的列分类列表,请选择窗格底部的“建议”面板。

    • 若要接受针对特定列的建议,请选中相关行左侧列中的复选框。 若要将所有建议标记为已接受,请选中建议表标题中最左侧的复选框。

    • 若要应用所选建议,请选择“接受所选建议”。

  6. 您还可以手动对列进行分类,作为基于建议的分类的替代方案,或与其结合使用:

    1. 选择窗格顶部菜单中的“添加分类”。

    2. 在打开的上下文窗口中,选择要分类的架构、表和列,并选择信息类型和敏感度标签。

    3. 选择上下文窗口底部的“添加分类”。

  7. 若要完成分类并永久使用新分类元数据标记数据库列,请在“分类”页中选择“保存” 。

审计对敏感数据的访问

分类的一个重要方面是能够监控对敏感数据的访问。 Azure Synapse Analytics 的审计在审计日志中包含一个称为 data_sensitivity_information 的字段。 该字段记录查询返回数据的敏感性分类(标签)。

这些 T-SQL 活动可通过敏感性信息进行审计:

  • ALTER TABLE ... DROP COLUMN
  • BULK INSERT
  • SELECT
  • DELETE
  • INSERT
  • MERGE
  • UPDATE
  • UPDATETEXT
  • WRITETEXT
  • DROP TABLE
  • BACKUP
  • DBCC CloneDatabase
  • SELECT INTO
  • INSERT INTO EXEC
  • TRUNCATE TABLE
  • DBCC SHOW_STATISTICS
  • sys.dm_db_stats_histogram

使用 sys.fn_get_audit_file 从 Azure 存储帐户中存储的审核文件返回信息。

Permissions

以下内置角色可读取数据库的数据分类:

  • Owner
  • 读取器
  • 参与者
  • SQL 安全管理器
  • 用户访问管理员

要读取数据库的数据分类,你需要以下操作:

  • Microsoft.Sql/servers/databases/currentSensitivityLabels/*
  • Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*
  • Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*

以下内置角色可修改数据库的数据分类:

  • Owner
  • 参与者
  • SQL 安全管理器

要修改数据库的数据分类,你需要此操作权限:

  • Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*

在 Azure RBAC 中了解有关基于角色的权限的详细信息。

Note

本节中的 Azure SQL 内置角色适用于专用的 SQL 池(前称 SQL DW),但不适用于 Azure Synapse 工作区内的专用 SQL 池和其他 SQL 资源。 对于 Azure Synapse 工作区中的 SQL 资源,可以使用可用的数据分类动作,根据需要创建自定义 Azure 角色以进行标签。 有关 Microsoft.Synapse/workspaces/sqlPools 提供程序操作的详细信息,请参阅 Microsoft.Synapse。

管理分类

可以使用 T-SQL、REST API 或 PowerShell 来管理分类。

使用 T-SQL

可以使用 T-SQL 添加或删除列分类,以及检索整个数据库的所有分类。

Note

当你使用 T-SQL 管理标签时,没有验证你添加到列中的标签是否存在于组织的信息保护策略(门户推荐中出现的标签集合)。 你需要进行验证。

有关使用 T-SQL 进行分类的信息,请参阅以下参考内容:

使用 PowerShell 命令行程序

使用 PowerShell 管理 Azure SQL 数据库 和 Azure SQL 托管实例 的分类与推荐。

适用于 Azure SQL 数据库的 PowerShell cmdlet

使用 REST API

可以使用 REST API 以编程方式管理分类和建议。 已发布的 REST API 支持以下操作:

使用 SQL 驱动程序检索分类元数据

可使用以下 SQL 驱动程序来检索分类元数据: