发现和管理 Microsoft Purview 中的Azure SQL数据库

本文概述了在 Microsoft Purview 中注册Azure SQL数据库源的过程。 它包含对 SQL 数据库进行身份验证和与之交互的说明。

支持的功能

元数据提取 完整扫描 增量扫描 作用域扫描 分类 标记 访问策略 世系沿袭 数据共享 实时视图
是 (预览版) 是 (预览版)

扫描Azure SQL数据库时,Microsoft Purview 支持从以下源中提取技术元数据:

  • 服务器
  • Database
  • Schemas
  • 表,包括列
  • 视图,包括启用了世系提取的列 (,作为扫描)
  • 启用了世系提取的存储过程 ()
  • 存储过程运行 (并启用世系提取)

设置扫描时,可以在提供数据库名称后根据需要选择表和视图来进一步确定扫描范围。

已知限制

  • 对于 存储过程世系提取
    • 如果 Azure 中的逻辑服务器禁用公共访问或不允许 Azure 服务访问,则目前不支持存储过程 (SP) 世系提取扫描。
    • 如果 Microsoft Purview 帐户禁用公共访问,则目前不支持 SP 世系提取扫描。
    • 默认情况下,SP 世系提取扫描计划为每六小时运行一次。 无法更改频率。
    • 仅当存储过程执行将数据从一个表传输到另一个表时,才会捕获世系。 临时表不支持它。
    • 函数或触发器不支持沿袭提取。
    • 请注意,由于以下限制,如果存在此类情况,则当前可能会在目录中看到重复资产。
      • 资产中的对象名称和完全限定的名称遵循存储过程语句中使用的大小写,这可能与原始数据源中的对象大小写不一致。
      • 在存储过程中引用 SQL 视图时,它们当前捕获为 SQL 表。

注意

如果在Azure 数据工厂复制和数据流活动中将Azure SQL表或视图用作源/接收器,也支持沿袭。

先决条件

注册数据源

在扫描之前,请务必在 Microsoft Purview 中注册数据源:

  1. 通过以下方式打开 Microsoft Purview 治理门户:

  2. 导航到 数据映射

    显示用于打开 Microsoft Purview 治理门户的区域的屏幕截图。

  3. 创建 集合层次结构 ,方法是转到 “集合” ,然后选择“ 添加集合”。 根据需要向单个子集合分配权限。

    显示用于向集合层次结构分配访问控制权限的选项的屏幕截图。

  4. 转到“ ”下的相应集合,然后选择“ 注册 ”图标以注册新的 SQL 数据库。

    显示用于注册数据源的集合的屏幕截图。

  5. 选择Azure SQL数据库数据源,然后选择“继续”。

  6. 对于 “名称”,请为数据源提供适当的名称。 选择 Azure 订阅的相关名称、 服务器名称选择集合,然后选择 “应用”。

    显示为注册数据源而输入的详细信息的屏幕截图。

  7. 确认 SQL 数据库显示在所选集合下。

    显示映射到集合以启动扫描的数据源的屏幕截图。

更新防火墙设置

如果数据库服务器启用了防火墙,则需要更新防火墙以允许通过以下方式之一进行访问:

有关防火墙的详细信息,请参阅Azure SQL数据库防火墙文档

允许 Azure 连接

启用 Azure 连接将允许 Microsoft Purview 连接到服务器,而无需更新防火墙本身。

  1. 转到数据库帐户。
  2. 在“ 概述 ”页上,选择服务器名称。
  3. 选择“ 安全>网络”。
  4. 对于 “允许 Azure 服务和资源访问此服务器”,请选择“ ”。

显示Azure 门户中用于允许 Azure 连接到服务器的选择的屏幕截图。

有关允许从 Azure 内部建立连接的详细信息,请参阅 操作指南

安装自承载集成运行时

可以在计算机上安装自承载集成运行时,以连接到专用网络中的资源:

  1. 为方案选择适当的集成运行时
  2. 创建并安装集成运行时:
  3. 检查数据库服务器的网络配置,确认包含自承载集成运行时的计算机可以访问专用终结点。 如果计算机尚未具有访问权限,请添加该计算机的 IP 地址。
  4. 如果逻辑服务器位于专用终结点后面或虚拟网络中,则可以使用 引入专用终结点 来确保端到端网络隔离。

为扫描配置身份验证

若要扫描数据源,需要在 Azure SQL 数据库中配置身份验证方法。

重要

如果使用 自承载集成运行时 连接到资源,则系统分配和用户分配的托管标识将不起作用。 需要使用服务主体身份验证或 SQL 身份验证。

Microsoft Purview 支持以下选项:

  • 系统分配的托管标识 (SAMI) ( 建议) 。 这是直接与 Microsoft Purview 帐户关联的标识。 它允许你直接使用其他 Azure 资源进行身份验证,而无需管理用户或凭据集。

    创建 Microsoft Purview 资源时会创建 SAMI。 它由 Azure 管理,并使用 Microsoft Purview 帐户的名称。 SAMI 当前不能与用于Azure SQL的自承载集成运行时一起使用。

    有关详细信息,请参阅 托管标识概述

  • 用户分配的托管标识 (UAMI) (预览) 。 与 SAMI 类似,UAMI 是一种凭据资源,允许 Microsoft Purview 针对Microsoft Entra ID进行身份验证。

    UAMI 由 Azure 中的用户而不是 Azure 本身管理,这让你可以更好地控制安全性。 UAMI 当前不能与用于Azure SQL的自承载集成运行时一起使用。

    有关详细信息,请参阅 用户分配的托管标识指南

  • 服务主体。 服务主体是一个应用程序,可以像任何其他组或用户一样分配权限,而无需直接与人员关联。 服务主体的身份验证具有到期日期,因此它可用于临时项目。

    有关详细信息,请参阅 服务主体文档

  • SQL 身份验证。 使用用户名和密码连接到 SQL 数据库。 有关详细信息,请参阅 SQL 身份验证文档

    如果需要创建登录名,请按照 本指南查询 SQL 数据库。 使用 本指南使用 T-SQL 创建登录名。

    注意

    请务必在页面上选择“Azure SQL数据库”选项。

有关使用 SQL 数据库进行身份验证的步骤,请从以下选项卡中选择所选的身份验证方法。

注意

只有由预配过程创建的服务器级主体登录 () 或 master 数据库中数据库角色的成员 loginmanager 才能创建新的登录名。 Microsoft Purview 帐户应在获取权限后大约 15 分钟能够扫描资源。

  1. 需要具有至少 db_datareader 权限的 SQL 登录名才能访问 Purview 扫描数据库所需的信息Microsoft。 可以按照 CREATE LOGIN 中的说明为 Azure SQL 数据库创建登录。 保存用户名和密码以执行后续步骤。

  2. 转到Azure 门户中的密钥保管库。

  3. 选择 “设置>机密”,然后选择“ + 生成/导入”。

    显示用于生成机密的密钥保管库选项的屏幕截图。

  4. 对于 “名称”“值”,分别使用 sql 数据库中) 用户名和密码 (。

  5. 选择“创建”。

  6. 如果密钥保管库尚未连接到 Microsoft Purview, 请创建新的密钥保管库连接

  7. 使用 密钥创建新的凭据来设置扫描。

    显示用于设置凭据的密钥保管库选项的屏幕截图。

    显示用于创建机密的密钥保管库选项的屏幕截图。

创建扫描

  1. 打开Microsoft Purview 帐户,然后选择“ 打开Microsoft Purview 治理门户”。

  2. 转到 “数据映射>源” 以查看集合层次结构。

  3. 选择前面注册的 SQL 数据库下的 “新建扫描 ”图标。

    显示用于创建新扫描的窗格的屏幕截图。

若要详细了解 Azure SQL 数据库中的存储过程数据世系,请参阅本文的提取世系 (预览版) 部分。

对于扫描步骤,请从以下选项卡中选择身份验证方法。

  1. 对于 “名称”,请提供扫描的名称。

  2. 对于 “数据库选择方法”,请 手动选择 Enter。

  3. 对于 “数据库名称”“凭据”,请输入之前创建的值。

    显示用于运行扫描的 SQL 身份验证选项的数据库和凭据信息的屏幕截图。

  4. 对于 “选择连接”,请选择用于扫描的相应集合。

  5. 选择“ 测试连接 ”以验证连接。 连接成功后,选择“ 继续”。

确定范围并运行扫描

  1. 可以通过在列表中选择相应的项,将扫描范围限定为特定的数据库对象。

    显示用于确定扫描范围的选项的屏幕截图。

  2. 选择扫描规则集。 可以使用系统默认值,从现有自定义规则集中进行选择,或内联创建新规则集。 完成后,选择“ 继续 ”。

    显示用于选择扫描规则集的选项的屏幕截图。

    如果选择“ 新建扫描规则集”,则会打开一个窗格,以便你可以输入源类型、规则集的名称和说明。 完成后,选择“ 继续 ”。

    显示创建新扫描规则集的信息的屏幕截图。

    对于 “选择分类规则”,选择要包含在扫描规则集中的分类规则,然后选择“ 创建”。

    显示扫描规则集的分类规则列表的屏幕截图。

    然后,新的扫描规则集将显示在可用规则集的列表中。

    显示新扫描规则集选择的屏幕截图。

  3. 选择扫描触发器。 可以设置计划或运行扫描一次。

  4. 查看扫描,然后选择“ 保存并运行”。

查看扫描

若要检查扫描的状态,请转到集合中的数据源,然后选择“查看详细信息”。

显示用于查看扫描详细信息的按钮的屏幕截图。

扫描详细信息指示 上次运行状态中的扫描进度,以及扫描和分类的资产数。 上次运行状态 将更新为 “正在进行” ,并在整个扫描成功运行后更新为“ 已完成 ”。

显示上次扫描运行的已完成状态的屏幕截图。

管理扫描

运行扫描后,可以使用运行历史记录对其进行管理:

  1. 在“ 最近的扫描”下,选择扫描。

    显示最近完成的扫描选择的屏幕截图。

  2. 在运行历史记录中,可以选择再次运行扫描、编辑扫描或删除扫描。

    显示用于运行、编辑和删除扫描的选项的屏幕截图。

    如果选择“ 立即运行扫描” 以重新运行扫描,则可以选择 “增量扫描 ”或“ 完全扫描”。

    显示完整或增量扫描选项的屏幕截图。

排查扫描问题

如果在扫描时遇到问题,请尝试以下提示:

有关详细信息,请参阅 排查 Microsoft Purview 中的连接问题

设置策略

此数据资源支持以下类型的Microsoft Purview 策略:

  • 数据所有者策略 - 一组策略语句,用于授予用户和组对数据源的访问权限。
  • 自助服务策略 - 允许用户请求访问注册到 Microsoft Purview 的数据源的策略。
  • 保护策略 - 拒绝所有用户访问使用敏感度标签标记的数据,但策略指定的用户除外。
  • DevOps 策略 - 授予跨多个源对数据库系统元数据的访问权限。 它们简化了 IT 运营和安全审核人员的访问预配。 它们仅授予访问权限,不拒绝访问。

Azure SQL数据库上的访问策略先决条件

区域支持

支持所有 Microsoft Purview 区域

Microsoft Purview 策略的强制执行仅在以下区域可用于Azure SQL数据库:

公有云:

  • 美国东部
  • 美国东部 2
  • 美国中南部
  • 美国中西部
  • 美国西部 3
  • 加拿大中部
  • 巴西南部
  • 西欧
  • 北欧
  • 法国中部
  • 英国南部
  • 南非北部
  • 印度中部
  • 东南亚
  • 东亚
  • 澳大利亚东部

主权云:

  • USGov 弗吉尼亚州
  • 中国北部 3

为来自 Microsoft Purview 的策略配置Azure SQL数据库实例

若要使与 Azure SQL Database 关联的逻辑服务器遵循来自 Microsoft Purview 的策略,需要配置Microsoft Entra管理员。在Azure 门户中,转到托管 Azure SQL 数据库实例的逻辑服务器。 在侧边菜单上,选择“Microsoft Entra ID”。 将管理员名称设置为你喜欢的任何Microsoft Entra用户或组,然后选择“保存”。

然后,在侧边菜单上,选择“ 标识”。 在 “系统分配的托管标识”下,将状态设置为 “打开”,然后选择“ 保存”。

显示系统分配的托管标识分配给与 Azure SQL 数据库关联的逻辑服务器的屏幕截图。

为策略配置 Microsoft Purview 帐户

在 Microsoft Purview 中注册数据源

在 Microsoft Purview 中为数据资源创建策略之前,必须在 Purview Studio Microsoft 注册该数据资源。 本指南稍后会介绍与注册数据资源相关的说明。

注意

Microsoft Purview 策略依赖于数据资源 ARM 路径。 如果数据资源移动到新的资源组或订阅,则需要取消注册,然后在 Microsoft Purview 中再次注册。

配置权限以在数据源上启用数据策略强制实施

注册资源后,但在 Microsoft Purview 中为该资源创建策略之前,必须配置权限。 需要一组权限才能启用 数据策略强制实施。 这适用于数据源、资源组或订阅。 若要启用 数据策略强制实施,必须 资源具有特定的标识和访问管理 (IAM) 特权,以及特定的Microsoft Purview 权限:

  • 必须在资源的 Azure 资源管理器 路径上使用以下 IAM 角色组合之一,或者 (的任何父角色组合之一,即使用 IAM 权限继承) :

    • IAM 所有者
    • IAM 参与者和 IAM 用户访问管理员

    若要配置 Azure 基于角色的访问控制 (RBAC) 权限,请按照 本指南操作。 以下屏幕截图显示了如何访问数据资源Azure 门户中的“访问控制”部分以添加角色分配。

    显示Azure 门户中用于添加角色分配的部分的屏幕截图。

    注意

    数据资源的 IAM 所有者 角色可以从父资源组、订阅或订阅管理组继承。 检查哪些Microsoft Entra用户、组和服务主体持有或正在继承资源的 IAM 所有者角色。

  • 如果启用了) 继承,则还需要具有集合或父集合的 Microsoft Purview 数据源管理员 角色 (。 有关详细信息,请参阅 管理 Microsoft Purview 角色分配的指南

    以下屏幕截图显示了如何在根集合级别分配 数据源管理员 角色。

    显示用于在根集合级别分配数据源管理员角色的选项的屏幕截图。

配置 Microsoft Purview 权限以创建、更新或删除访问策略

若要创建、更新或删除策略,需要在根集合级别获取 Microsoft Purview 中的策略作者角色:

  • 策略作者角色可以创建、更新和删除 DevOps 和数据所有者策略。
  • 策略作者角色可以删除自助服务访问策略。

有关管理 Microsoft Purview 角色分配的详细信息,请参阅在Microsoft Purview 数据映射中创建和管理集合

注意

必须在根集合级别配置策略作者角色。

此外,若要在创建或更新策略的主题时轻松搜索Microsoft Entra用户或组,可以在Microsoft Entra ID中获取目录读取者权限,从而大大受益。 这是 Azure 租户中的用户的常见权限。 如果没有目录读取者权限,策略作者必须键入数据策略主题中包含的所有主体的完整用户名或电子邮件。

为发布数据所有者策略配置 Microsoft Purview 权限

如果将 Microsoft Purview 策略作者数据源管理员 角色分配给组织中的不同人员,则数据所有者策略允许进行检查和平衡。 在数据所有者策略生效之前, (数据源管理员) 的第二个人必须对其进行查看并通过发布来显式批准该策略。 这不适用于 DevOps 或自助访问策略,因为创建或更新这些策略时,这些策略会自动发布。

若要发布数据所有者策略,需要在根集合级别获取 Microsoft Purview 中的数据源管理员角色。

有关管理 Microsoft Purview 角色分配的详细信息,请参阅在Microsoft Purview 数据映射中创建和管理集合

注意

若要发布数据所有者策略,必须在根集合级别配置数据源管理员角色。

将访问预配责任委托给 Microsoft Purview 中的角色

为资源启用 数据策略强制实施后,在根集合级别具有 策略作者 角色的任何Microsoft Purview 用户都可以从 Microsoft Purview 预配对该数据源的访问权限。

注意

任何Microsoft Purview 根 集合管理员可以 将新用户分配到根 策略作者 角色。 任何 集合管理员可以 将新用户分配到集合下的 数据源管理员 角色。 最小化并仔细审查拥有 Microsoft Purview 集合管理员数据源管理员策略作者 角色的用户。

如果删除具有已发布策略的 Microsoft Purview 帐户,这些策略将在依赖于特定数据源的一段时间内停止强制实施。 此更改可能会影响安全性和数据访问可用性。 IAM 中的“参与者”和“所有者”角色可以删除Microsoft Purview 帐户。 可以通过转到 Microsoft Purview 帐户的“访问控制 (IAM) ”部分并选择“角色分配”来检查这些权限。 还可以使用锁来防止通过资源管理器锁删除 Microsoft Purview 帐户。

注册数据源并启用数据策略强制实施

需要先向 Microsoft Purview 注册Azure SQL数据库资源,然后才能创建访问策略。 若要注册资源,请按照对 Microsoft Purview 源启用数据策略强制实施中的“先决条件”和“注册数据源”部分进行操作。

注册数据源后,需要启用 数据策略强制实施。 这是在数据源上创建策略之前必须满足的先决条件。 数据策略强制实施 可能会影响数据的安全性,因为它委托给管理对数据源访问权限的某些 Microsoft Purview 角色。 了解在 Microsoft Purview 源上启用数据策略强制实施中的安全做法。

数据源将 “数据策略强制 ”选项设置为 “已启用”后,如下所示:

显示用于为策略注册数据源的面板的屏幕截图,包括名称、服务器名称和数据策略强制实施区域。

返回到 Azure SQL 数据库的Azure 门户,验证它现在由 Microsoft Purview 管理:

  1. 通过此链接登录到Azure 门户

  2. 选择要配置的Azure SQL服务器。

  3. 转到左窗格中的Microsoft Entra ID

  4. 向下滚动到 Microsoft Purview 访问策略

  5. 选择“ 检查Microsoft Purview 治理”按钮。 等待处理请求。 可能需要几分钟时间。

    显示Azure SQL由 Microsoft Purview 管理的屏幕截图。

  6. 确认 Microsoft Purview 治理状态显示 Governed。 请注意,在 Microsoft Purview 中启用数据策略强制实施,可能需要几分钟才能反映正确的状态。

注意

如果对此Azure SQL数据库数据源禁用数据策略强制实施,则最多可能需要 24 小时,Microsoft Purview 治理状态才会自动更新为 Not Governed。 可以通过选择“ 检查Microsoft Purview 治理”来加速此操作。 在另一个 Microsoft Purview 帐户中为数据源启用 数据策略强制 实施之前,请确保 Purview 治理状态显示为 Not Governed。 然后使用新的 Microsoft Purview 帐户重复上述步骤。

创建访问策略

若要为 Azure SQL 数据库创建访问策略,请按照以下指南操作:

若要创建涵盖资源组或 Azure 订阅内所有数据源的策略,请参阅 发现和管理 Microsoft Purview 中的多个 Azure 源

#Protection 策略

保护访问控制策略 (保护策略) 使组织能够跨数据源自动保护敏感数据。 Microsoft Purview 已扫描数据资产并标识敏感数据元素,并且此新功能允许使用Microsoft Purview 信息保护的敏感度标签自动限制对该数据的访问。

按照以下文档创建保护策略:如何创建Microsoft Purview 信息保护策略。

提取世系 (预览)

Microsoft Purview 支持Azure SQL 数据库中的视图和存储过程的世系。 虽然在扫描过程中支持视图的世系,但设置扫描时,需要打开 世系提取 切换以提取存储过程世系。

注意

目前不支持使用自承载集成运行时或托管 VNET 运行时和Azure SQL专用终结点的世系。 需要启用 Azure 服务才能在 Azure SQL 数据库的网络设置下访问服务器,并且 Microsoft Purview 帐户需要允许公共访问。 详细了解世系提取扫描中的已知限制

SQL DB 视图的世系

从 6/30/24 开始,SQL DB 元数据扫描将包括视图的世系提取。 只有新的扫描将包括视图世系提取。 在 L1/L2/L3) 的所有扫描级别 (提取世系。 对于增量扫描,无论作为增量扫描的一部分扫描什么元数据,都将提取表/视图的相应静态世系。

显示 SQL DB 视图的世系详细信息的屏幕截图。

使用 SP 世系提取设置扫描的先决条件

  1. 按照本文 配置扫描身份验证 部分中的步骤,授权 Microsoft Purview 扫描 SQL 数据库。

  2. 使用 Microsoft Entra 帐户登录到 Azure SQL Database,并向 Microsoft Purview 托管标识分配db_owner权限。

    注意

    需要“db_owner”权限,因为世系基于 XEvent 会话。 因此,Microsoft Purview 需要权限来管理 SQL 中的 XEvent 会话。

    使用以下示例 SQL 语法创建用户并授予权限。 将 替换为 <purview-account> 你的帐户名称。

    Create user <purview-account> FROM EXTERNAL PROVIDER
    GO
    EXEC sp_addrolemember 'db_owner', <purview-account> 
    GO
    
  3. 在 SQL 数据库上运行以下命令以创建主密钥:

    Create master key
    Go
    
  4. 确保在网络/防火墙下为Azure SQL资源启用“允许 Azure 服务和资源访问此服务器”。

在启用世系提取的情况下创建扫描

  1. 在用于设置扫描的窗格中,打开 “启用世系提取 ”切换。

    显示用于创建新扫描的窗格的屏幕截图,其中已打开世系提取。

  2. 按照本文 创建扫描 部分中的步骤选择身份验证方法。

  3. 成功设置扫描后,名为世系提取的新扫描类型将每六小时运行一次增量扫描,以从 Azure SQL 数据库中提取世系。 世系是根据 SQL 数据库中的存储过程运行提取的。

    显示每六小时运行一次世系提取的屏幕的屏幕截图。

搜索Azure SQL数据库资产并查看运行时世系

可以浏览数据目录搜索数据目录以查看Azure SQL数据库的资产详细信息。 以下步骤介绍如何查看运行时世系详细信息:

  1. 转到资产的 “世系 ”选项卡。 如果适用,资产世系将在此处显示。

    显示存储过程的世系详细信息的屏幕截图。

    如果适用,可以进一步向下钻取以查看存储过程中 SQL 语句级别的世系以及列级世系。 使用自承载Integration Runtime进行扫描时,自版本 5.25.8374.1 起,支持在扫描期间检索世系向下钻取信息。

    显示存储过程世系向下钻取的屏幕截图。

    有关支持的Azure SQL数据库世系方案的信息,请参阅本文支持的功能部分。 有关一般世系的详细信息,请参阅 Microsoft Purview 中的数据世系Microsoft Purview 数据目录世系用户指南

  2. 转到存储过程资产。 在“ 属性 ”选项卡上,转到 “相关资产 ”,获取存储过程的最新运行详细信息。

    显示存储过程属性的运行详细信息的屏幕截图。

  3. 选择“运行”旁边的存储过程超链接,查看Azure SQL存储过程运行概述。 转到“ 属性 ”选项卡,查看存储过程中的增强运行时信息,例如 executedTimerowCount客户端连接

    显示存储过程的运行属性的屏幕截图。

排查存储过程的世系提取问题

以下提示可帮助你解决与世系相关的问题:

  • 如果在成功世系提取运行后未捕获 任何世系 ,则自设置扫描以来,可能没有任何存储过程至少运行过一次。
  • 为成功设置扫描后发生的存储过程运行捕获世系。 不会捕获过去存储过程运行的世系。
  • 如果数据库正在处理大量存储过程运行的繁重工作负载,则世系提取将仅筛选最近的运行。 存储过程在 6 小时时段内提前运行,或者不会提取创建大量查询负载的运行实例。 如果缺少任何存储过程运行的世系,请联系支持人员。
  • 如果存储过程包含 drop 或 create 语句,则当前不会在世系中捕获这些语句

后续步骤

若要详细了解Microsoft Purview 和数据,请使用以下指南: