教程:大规模检查数据源就绪情况
若要扫描数据源,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 订阅所有者共享报表,以便他们可以采取建议的操作。
先决条件
- 数据源所在的 Azure 订阅。 如果没有 Azure 订阅,请在开始之前 创建一个免费帐户 。
- Microsoft Purview 帐户。
- 每个订阅中的 Azure 密钥保管库资源,其中包含 Azure SQL Database、Azure Synapse Analytics 或 Azure SQL 托管实例 等数据源。
- Microsoft Purview 数据源就绪情况清单脚本。
注意
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 计算机运行脚本:
在计算机上,在 Windows 任务栏上的搜索框中输入 PowerShell 。 在搜索列表中,选择并按住 (或右键单击) Windows PowerShell然后选择“以管理员身份运行”。
在 PowerShell 窗口中,输入以下命令。 (将 替换为
<path-to-script>
提取的脚本文件的文件夹路径。)dir -Path <path-to-script> | Unblock-File
输入以下命令以安装 Azure cmdlet:
Install-Module -Name Az -AllowClobber -Scope CurrentUser
如果看到提示 NuGet 提供程序需要继续,请输入 Y,然后选择 Enter。
如果看到“不受信任的存储库”提示,请输入 A,然后选择 Enter。
重复上述步骤以安装
Az.Synapse
和AzureAD
模块。
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 密钥保管库机密用户 |
运行客户端就绪情况脚本
通过完成以下步骤运行脚本:
使用以下命令转到脚本的文件夹。 将 替换为
<path-to-script>
提取的文件的文件夹路径。cd <path-to-script>
运行以下命令,为本地计算机设置执行策略。 当系统提示更改执行策略时,输入 A作为“是”到“全部 ”。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
使用以下参数运行脚本。
DataType
替换 、PurviewName
和SubscriptionID
占位符。.\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
- 重定向:1433 和 11000-11999
- 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 设置所需的身份验证和网络规则: