你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
数据发现和分类
适用于:
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
数据发现和分类内置于 Azure SQL 数据库、Azure SQL 托管实例和 Azure Synapse Analytics 中。 它提供用于发现、分类、标记和报告数据库中的敏感数据的基本功能。
最敏感的数据可能包括业务、财务、医疗保健或个人信息。 它可以充当基础结构,用于:
- 帮助满足数据隐私标准和法规符合性要求。
- 各种安全方案,如监视(审核)对敏感数据的访问。
- 控制对包含高度敏感数据的数据库的访问并增强其安全性。
注意
若要了解本地 SQL Server,请参阅 SQL 数据发现和分类。
什么是数据发现和分类?
数据发现和分类目前支持以下功能:
发现和建议: 分类引擎扫描数据库,并识别包含潜在敏感数据的列。 使用此功能可以通过 Azure 门户轻松地查看和应用建议的分类。
标记: 可通过使用已添加到 SQL Server 数据库引擎的新元数据属性,将敏感度分类标签永久应用于列。 然后,此元数据可用于基于敏感度的审核方案。
查询结果集敏感度: 出于审核目的实时计算查询结果集的敏感度。
可见性: 可以在 Azure 门户的详细仪表板中查看数据库分类状态。 此外,还可下载用于符合性和审核目的以及其他需求的报表(Excel 格式)。
发现、分类和标记敏感列
本部分介绍用于以下方案的步骤:
- 发现、分类和标记数据库中包含敏感数据的列。
- 查看数据库的当前分类状态并导出报表。
分类包含两种元数据属性:
- 标签:主要分类属性,用于定义列中存储的数据的敏感度级别。
- 信息类型:提供有关列中存储的数据类型的更详尽信息的属性。
信息保护策略
Azure SQL 在数据分类中同时提供 SQL 信息保护策略和 Microsoft 信息保护策略,你可以根据自己的需求在这两种策略中进行选择。
SQL 信息保护策略
数据发现 & 分类附带一组内置的敏感度标签和信息类型,以及 SQL 逻辑服务器原生的发现逻辑。 你可以继续使用默认策略文件中提供的保护标签,也可以自定义此分类。 可以专门针对你的环境定义分类构造的集合和级别。
定义和自定义分类
可在一个中心位置针对整个 Azure 组织定义和自定义分类。 该位置在 Microsoft Defender for Cloud中,是你的安全策略的一部分。 仅对组织根管理组具有管理权限的人员可以执行此任务。
作为策略管理的一部分,你可定义自定义标签,对其进行分级,并将其与选定的一组信息类型相关联。 还可以添加自己的自定义信息类型,并使用字符串模式对其进行配置。 这些模式已添加到用于识别数据库中的此类型数据的发现逻辑。
有关详细信息,请参阅在 Microsoft Defender for Cloud 中自定义 SQL 信息保护策略(预览版)。
定义组织范围的策略后,可以继续使用自定义策略对各个数据库进行分类。
在 SQL 信息保护策略模式下对数据库进行分类
注意
下面的示例使用的是 Azure SQL 数据库,但你应选择要配置数据发现和分类的适当产品。
转到 Azure 门户。
转到“Azure SQL 数据库”窗格的“安全”标题下的“数据发现和分类”。 “概述”选项卡中包含数据库当前分类状态的摘要。 该摘要包含所有分类列的详细列表,你还可以对其进行筛选,以便仅显示特定的架构部分、信息类型和标签。 如果尚未对任何列进行分类,请跳到步骤 4。

若要下载 Excel 格式的报表,请选择窗格顶部菜单中的“导出”。
若要开始对数据进行分类,请选择“数据发现和分类”页面上的“分类”选项卡。
分类引擎扫描数据库,寻找包含潜在敏感数据的列,并提供建议的列分类列表。
查看并应用分类建议:
若要查看建议的列分类列表,请选择窗格底部的“建议”面板。
若要接受针对特定列的建议,请选中相关行左侧列中的复选框。 若要将所有建议标记为已接受,请选中建议表标题中最左侧的复选框。
若要应用所选建议,请选择“接受所选建议”。

还可以手动对列进行分类,这是基于建议分类的替代选项:
选择窗格顶部菜单中的“添加分类”。
在打开的上下文窗口中,选择要分类的架构、表和列,并选择信息类型和敏感度标签。
选择上下文窗口底部的“添加分类”。

若要完成分类并永久使用新分类元数据标记数据库列,请在“分类”页中选择“保存” 。
Microsoft 信息保护策略
Microsoft 信息保护 (MIP) 标签为用户提供了一种简单且统一的方法,使其可在不同的 Microsoft 应用程序中对敏感数据进行统一分类。 在 Microsoft 365 合规中心创建和管理 MIP 敏感度标签。 若要了解如何在 Microsoft 365 合规中心创建和发布 MIP 敏感度标签,请参阅创建和发布敏感度标签一文。
切换为 MIP 策略的先决条件
- 当前用户具有租户范围的安全管理员权限,可在租户根管理组级别应用策略。 有关详细信息,请参阅为自己授予租户范围的权限。
- 租户具有有效的 Microsoft 365 订阅,并且你为当前用户发布了标签。 有关详细信息,请参阅创建和配置敏感度标签及其策略。
在 Microsoft 信息保护策略模式下对数据库进行分类
转到 Azure 门户。
导航到 Azure SQL 数据库中的数据库
转到“数据库”窗格的“安全”标题下的“数据发现和分类”。
若要选择“Microsoft 信息保护策略”,请选择“概述”选项卡,然后选择“配置”。
在“信息保护策略”选项中选择“Microsoft 信息保护策略”,然后选择“保存”。
如果转到“分类”选项卡,或选择“添加分类”,“敏感度标签”下拉列表现在将显示 M365 敏感度标签。
处于 MIP 策略模式时,信息类型为
[n/a],自动数据发现 & 建议保持禁用状态。如果使用与当前活动策略不同的信息保护策略对列进行分类,则可能会针对已分类的列显示警告图标。 例如,如果先前使用 SQL 信息保护策略通过标签对列进行了分类,而现在你处于 Microsoft 信息保护策略模式。 你将看到针对该特定列的警告图标。 此警告图标不表示任何问题,仅传达信息。
审核对敏感数据的访问
分类的一个重要方面是能够监视对敏感数据的访问。 Azure SQL 审核已得到增强,在审核日志中包括了名为 data_sensitivity_information 的新字段。 此字段记录查询返回的数据的敏感度分类(标签)。 下面是一个示例:
这些活动可使用敏感信息进行实际审核:
- ALTER TABLE ... DROP COLUMN
- BULK INSERT
- 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 存储帐户中存储的审核文件返回信息。
权限
以下内置角色可读取数据库的数据分类:
- 所有者
- 读取器
- 参与者
- SQL 安全管理器
- 用户访问管理员
以下是读取数据库的数据分类所需的操作:
- Microsoft.Sql/servers/databases/currentSensitivityLabels/*
- Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*
- Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*
以下内置角色可修改数据库的数据分类:
- 所有者
- 参与者
- SQL 安全管理器
以下是修改数据库的数据分类所需的操作:
- Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*
在 Azure RBAC 中了解有关基于角色的权限的详细信息。
注意
本部分中的 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 添加或删除列分类,以及检索整个数据库的所有分类。
注意
如果使用 T-SQL 管理标签,则不会验证组织信息保护策略(门户建议中显示的标签集)中是否存在添加到列的标签。 因此,是否要验证这一点完全由你决定。
有关使用 T-SQL 进行分类的信息,请参阅以下参考内容:
- 添加/更新一个列或多个列的分类:添加敏感度分类
- 删除一个列或多个列的分类:删除敏感度分类
- 查看数据库上的所有分类:sys.sensitivity_classifications
使用 PowerShell cmdlet
可使用 PowerShell 管理 Azure SQL 数据库和 Azure SQL 托管实例的分类和建议。
适用于 Azure SQL 数据库的 PowerShell cmdlet
- Get-AzSqlDatabaseSensitivityClassification
- Set-AzSqlDatabaseSensitivityClassification
- Remove-AzSqlDatabaseSensitivityClassification
- Get-AzSqlDatabaseSensitivityRecommendation
- Enable-AzSqlDatabaSesensitivityRecommendation
- Disable-AzSqlDatabaseSensitivityRecommendation
适用于 Azure SQL 托管实例的 PowerShell cmdlet
- Get-AzSqlInstanceDatabaseSensitivityClassification
- Set-AzSqlInstanceDatabaseSensitivityClassification
- Remove-AzSqlInstanceDatabaseSensitivityClassification
- Get-AzSqlInstanceDatabaseSensitivityRecommendation
- Enable-AzSqlInstanceDatabaseSensitivityRecommendation
- Disable-AzSqlInstanceDatabaseSensitivityRecommendation
使用 REST API
可以使用 REST API 以编程方式管理分类和建议。 已发布的 REST API 支持以下操作:
- 创建或更新:创建或更新指定列的敏感度标签。
- 删除:删除指定列的敏感度标签。
- 禁用建议:禁用指定列的敏感度建议。
- 启用建议:启用指定列的敏感度建议。 (默认在所有列上启用建议。)
- 获取:获取指定列的敏感度标签。
- 按数据库列出当前敏感度:获取指定数据库的当前敏感度标签。
- 按数据库列出建议敏感度:获取指定数据库的建议敏感度标签。
使用 SQL 驱动程序检索分类元数据
可使用以下 SQL 驱动程序来检索分类元数据:
常见问题解答 - 高级分类功能
问:是 Azure Purview 会取代 SQL 数据发现和分类,还是 SQL 数据发现和分类即将停用? 答:我们会继续支持 SQL 数据发现和分类,但鼓励你采用功能更丰富的 Azure Purview 来改善高级分类功能和数据治理。 如果我们决定停用任何服务、功能、API 或 SKU,将会向你提前发送包含迁移或转换路径的通知。 在此处详细了解 Microsoft 生命周期策略。
后续步骤
- 请考虑配置 Azure SQL 审核来监视和审核对已分类敏感数据的访问。
- 对于包含数据发现和分类的演示文稿,请参阅发现 SQL 数据并对其进行分类、标记和保护 | 公开的数据。
- 若要通过 T-SQL 命令使用 Azure Purview 标签对 Azure SQL 数据库和 Azure Synapse Analytics 进行分类,请参阅使用 Azure Purview 标签对 Azure SQL 数据进行分类。




