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

重要

Microsoft Purview 统一目录和经典 Microsoft Purview 数据治理功能 (以前称为 Azure Purview) 即将停用。 Microsoft 正在 Microsoft Fabric 中整合其数据治理功能。 无法再创建新帐户,现有功能将保持维护模式直至 2027 年 11 月 12 日。 有关停用时间表、过渡指南和建议的后续步骤,请参阅 Microsoft Purview 数据治理停用公告。

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

支持的功能

扫描功能

元数据提取 完整扫描 增量扫描 特定范围的扫描
是 是 是 是

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

  • 服务器
  • Database
  • Schemas
  • 表(包括列)
  • 视图(包括列)
  • 启用了世系提取的存储过程 () *
  • 在启用世系提取的情况下 (存储过程运行) *

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

* 存储过程世系提取扫描有一些限制。 有关详细信息,请参阅此页面上的已知限制部分。

其他功能

有关 分类、 敏感度标签、 策略、 数据世系和 实时视图,请参阅 受支持的功能列表。

已知限制

对于 (SP) 世系提取的存储过程:

  • 如果 Azure 中的逻辑服务器禁用公共访问或不允许 Azure 服务访问,则不支持 SP 世系提取扫描。

  • 如果您的存储过程包含 INSERT 或 DROP 查询,则当前不支持 SP 世系提取扫描。

  • 如果 Microsoft Purview 帐户禁用公共访问,则不支持 SP 世系提取扫描。

    • 默认情况下,SP 世系提取扫描计划为每六个小时运行一次。 频率无法更改。
    • 仅当存储过程执行将数据从一个表传输到另一个表时,才会捕获世系。 并且临时表不支持它。
    • 函数或触发器不支持世系提取。
    • 由于以下限制,如果有以下情况,则可能会在目录中看到重复的资产:
      • 资产和完全限定名称中的对象名称遵循存储过程语句中使用的大小写,这可能与原始数据源中的对象大小写不一致。
      • 在存储过程中引用 SQL 视图时,当前将其捕获为 SQL 表。

对于扫描的资产:

  • 对于完整扫描,DECIMAL 显示为 SQL 资产属性的数据类型,而不是 INT 和 NUMERIC 数据类型。 如果字段长度为 MAX,则显示为零 (0) 。

  • 对于 nchar 数据类型,列长度以字符计数显示。

注意

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

先决条件

注册数据源

在扫描之前,请务必在 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 资源进行身份验证,而无需管理中间用户或凭据集。

    SAMI 是在创建 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 登录名才能访问 Microsoft Purview 扫描数据库所需的信息。 可以按照 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. 对于 数据库选择方法,选择手动 输入。

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

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

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

为策略配置 Microsoft Purview 帐户

在 Microsoft Purview 中注册数据源

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

注意

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 Server。

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

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

  5. 选择用于 检查 Microsoft Purview 治理的按钮。 等待请求处理完成,这可能需要几分钟时间。

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

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

注意

如果在 Microsoft Purview 中禁用此 Azure SQL 数据库数据源的数据策略强制,请选择“ 检查 Microsoft Purview 治理” ,以将 Microsoft Purview 治理状态更新为“ 不受治理”。 每次 Microsoft Purview 中现有或新访问策略的数据策略强制状态发生更改时,都必须对受影响的数据源执行此步骤。 在为另一个 Microsoft Purview 帐户中的数据源启用 数据策略强制之前 ,请确保 Purview 治理状态显示为“ 不受治理”。 然后,使用新的 Microsoft Purview 帐户重复上述步骤。

创建访问策略

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

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

提取世系 (预览)

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

注意

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

SQL DB 视图的世系

SQL DB 元数据扫描包括视图的世系提取。 仅新扫描包括视图世系提取。 在 L1/L2/L3) (所有扫描级别提取世系。 在增量扫描的情况下,无论作为增量扫描的一部分扫描的元数据,都将提取表/视图的相应静态世系。

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

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

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

  2. 使用 Microsoft Entra 帐户登录到 Azure SQL 数据库,并为 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 语句级别的世系以及列级世系。 使用自承载集成运行时进行扫描时,自版本 5.25.8374.1 起,支持在扫描期间检索世系向下钻取信息。

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

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

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

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

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

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

对存储过程的世系提取问题进行疑难解答

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

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

后续步骤

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