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

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

  • 分配给 Microsoft Purview 帐户的托管标识。
  • 存储在 Azure 密钥保管库 中的机密。
  • 服务主体。

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

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

在本系列教程的第 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 包含 Azure Active Directory (Azure AD 的现有 Azure 密钥保管库机密的名称,) 用户名,该用户名可以使用 Azure AD 身份验证登录到Azure Synapse、Azure SQL数据库或Azure SQL 托管实例。 ContosoDevSQLAdmin
SecretNameSQLPassword 包含 Azure AD 用户密码的现有 Azure 密钥保管库机密的名称,该密码可以使用 Azure AD 身份验证登录到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。

验证权限

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

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

运行客户端就绪情况脚本

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

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

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

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

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

    运行命令时,可能会显示两次弹出窗口,提示你使用 Azure Active Directory 凭据登录到 Azure 和 Azure AD。

创建报表可能需要几分钟时间,具体取决于环境中的 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帐户”。
  • 权限。 检查 Microsoft Purview MSI 是否具有读取/执行权限。

Azure SQL 数据库 (AzureSQLDB)

  • SQL Server实例:

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

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

Azure SQL 托管实例 (AzureSQLMI)

  • SQL 托管实例服务器:

    • 网络。 检查是否启用了公共终结点或专用终结点。
    • ProxyOverride。 检查Azure SQL 托管实例是配置为代理还是重定向。
    • 网络。 检查 NSG 是否具有允许 AzureCloud 通过所需端口的入站规则:
      • 重定向:1433 和 11000-11999
      • 代理:3342
    • Azure AD 管理。 检查Azure SQL服务器是否具有 Azure AD 身份验证。
    • Azure AD 管理。 填充Azure SQL服务器 Azure AD 管理员用户或组。
  • SQL 数据库:

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

Azure Synapse (Synapse) 专用池

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

  • Rbac。 检查是否为 Microsoft Purview MSI 分配了所选范围的 读者 角色。

  • SQL Server实例 (专用池) :

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

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

后续步骤

本教程介绍了如何:

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

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