教程:大规模检查数据源就绪情况

若要扫描数据源,Microsoft Purview 需要访问这些数据源。 它使用凭据获取此访问权限。 凭据是可供 Microsoft Purview 用来对已注册的数据源进行身份验证的身份验证信息。 有几种方法设置 Microsoft Purview 凭据的方法,包括:

  • 分配到 Microsoft Purview 帐户的托管标识。
  • Azure Key Vault 中存储的机密。
  • 服务主体。

在这个两部分的教程系列中,我们将帮助你大规模地为 Azure 订阅中的 Azure 数据源验证和配置所需 Azure 角色分配和网络访问。 然后,可以在 Microsoft Purview 中注册和扫描 Azure 数据源。

部署 Microsoft Purview 帐户后运行 Microsoft Purview 数据源就绪情况清单,然后在注册前扫描 Azure 数据源。

在本教程系列的第 1 部分中,将执行以下操作:

  • 找到数据源,并准备一个数据源订阅列表。
  • 运行就绪情况清单脚本,在 Azure 中跨数据源配置任何缺失的基于角色的访问控制 (RBAC) 或网络配置。
  • 在输出报表中,查看 Microsoft Purview 托管标识 (MSI) 缺少的网络配置和角色分配。
  • 与数据 Azure 订阅所有者共享报表,使其可以执行建议的操作。

必备条件

注意

Microsoft Purview 数据源就绪情况清单仅适用于 Windows。 Microsoft Purview MSI 当前支持该就绪情况清单脚本。

为数据源准备 Azure 订阅列表

在运行该脚本之前,请创建一个包含四个列的 .csv 文件(例如 C:\temp\Subscriptions.csv):

列名称 说明 示例
SubscriptionId 数据源的 Azure 订阅 ID。 12345678-aaaa-bbbb-cccc-1234567890ab
KeyVaultName 部署在数据源订阅中的现有密钥保管库的名称。 ContosoDevKeyVault
SecretNameSQLUserName 包含 Microsoft Entra 用户名的现有 Azure 密钥保管库机密的名称,可使用 Microsoft Entra 身份验证登录到 Azure Synapse、Azure SQL 数据库或 Azure SQL 托管实例。 ContosoDevSQLAdmin
SecretNameSQLPassword 包含 Microsoft Entra 用户密码的现有 Azure 密钥保管库机密的名称,可使用 Microsoft Entra 身份验证登录到 Azure Synapse、Azure SQL 数据库或 Azure SQL 托管实例。 ContosoDevSQLPassword

示例 .csv 文件:

屏幕截图:显示示例订阅列表。

注意

如果需要,可以更新代码中的文件名和路径。

运行脚本并安装所需的 PowerShell 模块

请按照以下步骤在 Windows 计算机上运行脚本:

  1. Microsoft Purview 数据源就绪情况清单脚本下载到你选择的位置。

  2. 在计算机上,在 Windows 任务栏的搜索框中输入 PowerShell。 在搜索列表中,选择并按住(或右键单击)Windows PowerShell,然后选择“以管理员身份运行” 。

  3. 在 PowerShell 窗口中输入以下命令。 (将 <path-to-script> 替换为提取的脚本文件的文件夹路径。)

    dir -Path <path-to-script> | Unblock-File
    
  4. 输入以下命令来安装 Azure cmdlet:

    Install-Module -Name Az -AllowClobber -Scope CurrentUser
    
  5. 如果看到提示“需要 NuGet 提供程序才能继续”,请输入“Y”,然后按“Enter”。

  6. 如果看到提示“不受信任的存储库”,请输入“A”,然后按“Enter”。

  7. 重复前面的步骤以安装 Az.SynapseAzureAD 模块。

PowerShell 安装所需的模块可能最多需要一分钟时间。

收集运行脚本所需的其他数据

在运行 PowerShell 脚本以验证数据源订阅的就绪状态之前,请获取脚本中要使用的以下参数的值:

  • AzureDataType:选择以下任一选项作为数据源类型,以检查你的订阅中数据类型的就绪情况:

    • BlobStorage

    • AzureSQLMI

    • AzureSQLDB

    • ADLSGen2

    • ADLSGen1

    • Synapse

    • All

  • PurviewAccount:现有的 Microsoft Purview 帐户资源名称。

  • PurviewSub:在其中部署 Microsoft Purview 帐户的订阅 ID。

验证你的权限

请确保用户具有以下角色和权限:

角色或权限 范围
全局读取者 Microsoft Entra 租户
读者 Azure 数据源所在的 Azure 订阅
读者 在其中创建 Microsoft Purview 帐户的订阅
SQL 管理员(Microsoft Entra 身份验证) Azure Synapse 专用池、Azure SQL 数据库实例、Azure SQL 托管实例
访问 Azure 密钥保管库 访问 get/list 密钥保管库的机密或 Azure 密钥保管库机密用户

运行客户端就绪情况脚本

通过完成以下步骤来运行该脚本:

  1. 使用以下命令前往该脚本的文件夹。 将 <path-to-script> 替换为提取文件的文件夹路径。

    cd <path-to-script>
    
  2. 执行以下命令以设置本地计算机的执行策略。 当系统提示你更改执行策略时,输入“A”表示“全部更改”。

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted
    
  3. 使用以下参数运行脚本。 替换 DataTypePurviewNameSubscriptionID 占位符。

    .\purview-data-sources-readiness-checklist.ps1 -AzureDataType <DataType> -PurviewAccount <PurviewName> -PurviewSub <SubscriptionID>
    

    运行该命令时,可能会出现两次弹出窗口,提示你使用 Microsoft Entra 凭据登录到 Azure 和 Microsoft Entra ID。

创建报表可能需要几分钟,具体取决于环境中 Azure 订阅和资源的数量。

完成此过程后,请查看输出报告,其中演示了 Azure 订阅或资源中检测到的缺失配置。 结果可能显示为“已通过”、“未通过”或“感知”。 你可以与组织中的相应订阅管理员共享结果,以便他们可以配置所需设置。

详细信息

脚本支持哪些数据源?

脚本目前支持以下数据源:

  • Azure Blob 存储 (BlobStorage)
  • Azure Data Lake Storage Gen2 (ADLSGen2)
  • Azure Data Lake Storage Gen1 (ADLSGen1)
  • Azure SQL 数据库 (AzureSQLDB)
  • Azure SQL 托管实例 (AzureSQLMI)
  • Azure Synapse (Synapse) 专用池

运行脚本时,可以选择所有这些数据源或任一数据源作为输入参数。

结果中包含哪些检查?

Azure Blob 存储 (BlobStorage)

  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内的每个订阅中分配了“存储 Blob 数据读取者”角色。
  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内分配了“读取”角色。
  • 服务终结点。 请检查服务终结点是否打开,并检查是否启用“允许受信任的 Microsoft 服务访问此存储帐户”。
  • 网络:检查是否为存储创建了专用终结点,并且为 Blob 存储启用专用终结点。

Azure Data Lake Storage Gen2 (ADLSGen2)

  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内的每个订阅中分配了“存储 Blob 数据读取者”角色。
  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内分配了“读取”角色。
  • 服务终结点。 请检查服务终结点是否打开,并检查是否启用“允许受信任的 Microsoft 服务访问此存储帐户”。
  • 网络:检查是否为存储创建了专用终结点,并且为 Blob 存储启用专用终结点。

Azure Data Lake Storage Gen1 (ADLSGen1)

  • 联网。 请检查服务终结点是否打开,并检查是否启用“允许所有 Azure 服务访问此 Data Lake Storage Gen1 帐户”。
  • 权限。 Purview MSI 是否具有读取/执行权限。

Azure SQL 数据库 (AzureSQLDB)

  • SQL Server 实例:

    • Network. 检查是否启用了公共终结点或专用终结点。
    • 防火墙。 检查是否启用“允许 Azure 服务和资源访问此服务器”。
    • Microsoft Entra 管理。 检查 Azure SQL Server 是否具有 Microsoft Entra 身份验证。
    • Microsoft Entra 管理。 向 Azure SQL Server 填充 Microsoft Entra 管理员用户或组。
  • SQL 数据库:

    • SQL 角色。 检查 Microsoft Purview MSI 是否分配了“db_datareader”角色。

Azure SQL 托管实例 (AzureSQLMI)

  • SQL 托管实例服务器:

    • Network. 检查是否启用了公共终结点或专用终结点。
    • ProxyOverride。 检查 Azure SQL 托管实例是否已配置为“代理”或“重定向”。
    • 联网。 检查 NSG 是否具有入站规则以允许 AzureCloud 通过所需端口:
      • 重定向:1433 和 11000-11999
      • 代理:3342
    • Microsoft Entra 管理。 检查 Azure SQL Server 是否具有 Microsoft Entra 身份验证。
    • Microsoft Entra 管理。 向 Azure SQL Server 填充 Microsoft Entra 管理员用户或组。
  • SQL 数据库:

    • SQL 角色。 检查 Microsoft Purview MSI 是否分配了“db_datareader”角色。

Azure Synapse (Synapse) 专用池

  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内的每个订阅中分配了“存储 Blob 数据读取者”角色。

  • RBAC。 检查 Microsoft Purview MSI 是否在所选范围内分配了“读取”角色。

  • SQL Server 实例(专用池):

    • 网络:检查是否启用了公共终结点或专用终结点。
    • 防火墙:检查是否启用“允许 Azure 服务和资源访问此服务器”。
    • Microsoft Entra 管理员:检查 Azure SQL Server 是否具有 Microsoft Entra 身份验证。
    • Microsoft Entra 管理:向 Azure SQL Server 填充 Microsoft Entra 管理员用户或组。
  • SQL 数据库:

    • SQL 角色。 检查 Microsoft Purview MSI 是否分配了“db_datareader”角色。

后续步骤

在本教程中,你了解了如何执行以下操作:

  • 在 Microsoft Purview 中注册和扫描 Azure 订阅之前,大规模运行 Microsoft Purview 就绪情况清单以检查 Azure 订阅是否缺少配置。

转到下一教程了解如何确定所需的访问权限,并为 Microsoft Purview 跨 Azure 数据源设置所需的身份验证和网络规则: