数据发现与分类集成在 Azure Synapse Analytics 专用的 SQL 池中。 它具备发现、分类、标记和报告数据库中敏感数据的能力。
数据发现与分类不支持无服务器SQL池。
最敏感的数据可能包括业务、财务、医疗保健或个人信息。 它可以充当基础结构,用于:
- 满足数据隐私标准和监管合规要求。
- 支持安全场景,如监控(审计)敏感数据访问。
- 控制对包含高度敏感数据的数据库的访问,并加强其安全性。
什么是数据发现和分类?
数据发现和分类目前支持以下功能:
发现和建议: 分类引擎扫描数据库,并识别包含潜在敏感数据的列。 使用此功能可以通过 Azure 门户轻松地查看和应用建议的分类。
标签: 您可以通过数据库引擎中的元数据属性,对列以持久方式应用敏感度分类标签。 然后,此元数据可用于基于敏感度的审核方案。
查询结果集敏感度: 出于审核目的实时计算查询结果集的敏感度。
可见性: 可以在 Azure 门户的详细仪表板中查看数据库分类状态。 此外,还可下载用于符合性和审核目的以及其他需求的报表(Excel 格式)。
发现、分类和标记敏感列
本部分介绍以下步骤:
- 发现、分类和标记数据库中包含敏感数据的列。
- 查看数据库的当前分类状态并导出报表。
分类包含两种元数据属性:
- 标签:主要分类属性,用于定义列中存储的数据的敏感度级别。
- 信息类型:提供有关列中存储的数据类型的更详尽信息的属性。
对数据库分类
Note
以下示例使用了 Azure SQL 数据库,但你应选择合适的产品来配置数据发现与分类。分类。
转到 Azure 门户。
转到“Azure SQL 数据库”窗格的“安全”标题下的“数据发现和分类”。 概览标签包含数据库当前分类状态的摘要。 摘要包含所有已分类列的详细列表,您可以筛选为仅显示特定的架构部分、信息类型和标签。 如果你还没有分类任何列, 可以跳到第4步。
要下载 Excel 格式的报表,请选择窗格顶部菜单中的“导出”。
若要开始对数据进行分类,请选择“数据发现和分类”页面上的“分类”选项卡。
分类引擎扫描数据库,寻找包含潜在敏感数据的列,并提供建议的列分类列表。
查看并应用分类建议:
若要查看建议的列分类列表,请选择窗格底部的“建议”面板。
若要接受针对特定列的建议,请选中相关行左侧列中的复选框。 若要将所有建议标记为已接受,请选中建议表标题中最左侧的复选框。
若要应用所选建议,请选择“接受所选建议”。
您还可以手动对列进行分类,作为基于建议的分类的替代方案,或与其结合使用:
选择窗格顶部菜单中的“添加分类”。
在打开的上下文窗口中,选择要分类的架构、表和列,并选择信息类型和敏感度标签。
选择上下文窗口底部的“添加分类”。
若要完成分类并永久使用新分类元数据标记数据库列,请在“分类”页中选择“保存” 。
审计对敏感数据的访问
分类的一个重要方面是能够监控对敏感数据的访问。
Azure Synapse Analytics 的审计在审计日志中包含一个称为 data_sensitivity_information 的字段。 该字段记录查询返回数据的敏感性分类(标签)。
这些 T-SQL 活动可通过敏感性信息进行审计:
ALTER TABLE ... DROP COLUMNBULK INSERTSELECTDELETEINSERTMERGEUPDATEUPDATETEXTWRITETEXTDROP TABLEBACKUPDBCC CloneDatabaseSELECT INTOINSERT INTO EXECTRUNCATE TABLEDBCC SHOW_STATISTICSsys.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 进行分类的信息,请参阅以下参考内容:
- 添加/更新一个列或多个列的分类:添加敏感度分类
- 删除一个列或多个列的分类:删除敏感度分类
- 查看数据库上的所有分类:sys.sensitivity_classifications
使用 PowerShell 命令行程序
使用 PowerShell 管理 Azure SQL 数据库 和 Azure SQL 托管实例 的分类与推荐。
适用于 Azure SQL 数据库的 PowerShell cmdlet
- Get-AzSqlDatabaseSensitivityClassification
- Set-AzSqlDatabaseSensitivityClassification
- 移除-AzSql数据库敏感性分类
- Get-AzSqlDatabaseSensitivityRecommendation
- Enable-AzSqlDatabaseSensitivityRecommendation
- 禁用-AzSql数据库敏感性建议
使用 REST API
可以使用 REST API 以编程方式管理分类和建议。 已发布的 REST API 支持以下操作:
- 创建或更新:创建或更新指定列的敏感度标签。
- 删除:删除指定列的敏感度标签。
- 禁用建议:禁用指定列的敏感度建议。
- 启用建议:启用指定列的敏感度建议。 (默认对所有列启用建议功能。)
- 获取:获取指定列的敏感度标签。
- 按数据库列出当前敏感度:获取指定数据库的当前敏感度标签。
- 按数据库列出建议项:获取特定数据库的建议敏感度标签。
使用 SQL 驱动程序检索分类元数据
可使用以下 SQL 驱动程序来检索分类元数据:
相关内容
- 考虑配置 Azure Synapse Analytics 审计,以监控和审计机密敏感数据的访问。