扫描 Snowflake 数据源时,Microsoft Purview 可以提取技术元数据,包括:
- 服务器、数据库、架构和表,包括列;视图,包括列、外键和唯一约束。
- 存储过程,包括参数数据集和结果集。
- 函数,包括参数数据集。
- 管道、阶段和流,包括列。
- 任务和序列。
在数据映射中注册 Snowflake 源
若要在 Microsoft Purview 统一目录 中注册新的 Snowflake 源,请执行以下步骤:
- 登录到 Microsoft Purview 门户。
- 选择数据映射解决方案卡。 如果未显示数据映射解决方案卡,请选择“查看所有解决方案”,然后从“核心”部分选择“数据映射”。
- 选择“注册”。
- 在 “注册源”上,选择“ Snowflake”。
设置数据映射扫描
- 选择已注册的 Snowflake 源。
- 选择“ 新建扫描”。
- 提供以下详细信息:
- 名称:扫描的名称。
- 通过集成运行时进行连接:根据方案选择Azure自动解决的集成运行时、托管虚拟网络 IR 或 SHIR。
- 用于连接的主机:选择用于在扫描期间与 Snowflake 建立连接的终结点。 可以从服务器 URL 或数据源中配置的其他主机中进行选择。
- 凭据:选择要连接到数据源的凭据。 请确保:
- 创建凭据时选择“基本身份验证”。
- 在“用户名”输入字段中提供用于连接到 Snowflake 的用户名。
- 将用于连接到 Snowflake 的用户密码存储在密钥中。
- 仓库:指定用于在大写情况下支持扫描的仓库实例的名称。 分配给凭据中指定的用户的默认角色必须对此仓库具有 USAGE 权限。
- 数据库:指定要以大写形式导入的一个或多个数据库实例名称。 用分号 (;) 分隔列表中的名称。 例如,DB1;DB2。 分配给凭据中指定的用户的默认角色必须对数据库对象具有足够的权限。
- 架构:列出要导入的架构子集,表示为分号分隔列表。
- 选择“测试连接”以验证使用Azure Integration Runtime) 时可用的设置 (。
- 选择 继续。
- 选择用于分类的扫描规则集。 可以在系统默认规则集和现有自定义规则集之间进行选择,也可以内联创建新的规则集。
- 查看扫描并选择“ 保存并运行”。
扫描完成后,Snowflake 中的数据资产可在统一目录搜索中使用。 有关如何在 Microsoft Purview 中连接和管理 Snowflake 的详细信息,请参阅 在 Purview Microsoft 连接到并管理 Snowflake。
重要
从数据源中删除对象时,后续扫描不会自动删除 Microsoft Purview 中的相应资产。
为数据质量扫描设置与 Snowflake 数据源的连接
此时,扫描的资产已准备好进行编目和治理。 将扫描的资产关联到治理域 Sele 中的数据产品。 在“数据质量”选项卡上,添加新Azure SQL数据库连接:获取手动输入的数据库名称。
在 Microsoft Purview 门户中,打开统一目录。
在 “运行状况管理”下,选择“ 数据质量”。
从列表中选择治理域,然后从“管理”下拉列表中选择“连接”。
在“连接”页上配置 连接 :
- 添加连接名称和说明。
- 选择源类型 Snowflake。
- 添加服务器名称、仓库名称、数据库名称、架构名称和表名称。
- 选择身份验证方法:
- 添加用户名。
- 添加凭据:
- 添加Azure订阅
- Key Vault 连接
- 机密名称
- 机密版本
- 如果 Snowflake 在Azure 虚拟网络上运行,请选中“启用托管 V-Net”复选框。
- 选择Azure区域。
- 添加专用链接资源 ID。
- 添加完全限定的域名。
测试连接以确保它正常工作。 如果使用 虚拟网络,则不支持测试连接功能。
目标 Snowflake 专用链接的资源 ID 采用以下格式: /subscriptions/(subscription_id)/resourcegroups/az(region)-privatelink/providers/microsoft.network/privatelinkservices/sf-pvlinksvc-az(region)。
- 若要获取区域 ID 和完全限定的名称,请运行
SYSTEM_WHITE_LIST和SYSTEM_WHITE_LIST_PRIVATELINK获取公共和OCSP_CACHE允许列表主机的SNOWFLAKE_DEPLOYMENT、SNOWFLAKE_DEPLOYMENT_REGIONLESS和 值。 - 若要获取订阅 ID,请运行 以
SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO()ACCOUNTADMIN获取 snowflake-vnet-subnet-ids 值。 从中获取 Snowflake Azure租户专用链接的订阅 ID。
私钥身份验证 (预览版)
可以使用或不使用通行短语创建私钥。 如果使用密码生成私钥,请使用连接配置密钥和密码,如以下屏幕截图所示。 如果在密钥生成过程中未提供通行短语,请在连接中省略它。
通过 openssl 命令生成的私钥包含 headers/footers 指示密钥的 key/encrypted 开始和结束。 将文件的整个内容(包括标头和新行)按原样保存在密钥保管库中作为机密值。 可以使用命令行工具(如 Azure CLI)来实现此目的。 如果没有这些标头和新行,Snowflake 身份验证将失败。
出于安全考虑,你可能会决定定期轮换这些密钥。 在这种情况下,请更新存储在 密钥保管库 中的密钥,并相应地更新 Microsoft Purview 中的连接。 向 密钥保管库 注册的新密钥由之后提交的作业使用。 但是,某些作业可能正在进行中,这些作业使用旧密钥运行。 若要确保这些作业不会失败,请保持旧密钥处于活动状态,直到这些作业完成。
OAuth 身份验证 (预览版)
可以使用 Microsoft Entra ID 作为 OAuth 提供程序来配置基于 OAuth 的连接。 OAuth 访问令牌通常生存期较短。 但数据质量评估作业的运行持续时间较长,具体取决于基础数据源中的数据量。 因此,OAuth 访问令牌的生存期至少与作业运行一样长,平均最长可能需要 6 小时。 如果未将访问令牌的生存期设置为至少作业运行持续时间,则作业会失败。
如果无法延长访问令牌的生存期,或者策略或管理员不允许访问令牌,请使用基于密钥对的身份验证,因为它没有这些约束。
上述参数的示例值:
- 用户名:DB41C9CD-96E7-47B0-ADB6-0A4D080229A0 (
login_name雪花) 的属性值 - 客户端 ID:632ce887-41bb-4975-b6a9-ae798bf41956 (来自 Azure 门户) 的客户端 ID
- 令牌 URL:
https://login.microsoftonline.com/ddfd8861-7cbd-43df-ad13-4f9e958cf53b/oauth2/v2.0/token (Token URL from Azure app) - 作用域:
api://d682fa4a-d784-4d28-93e2-7156ff129ae0/.default (Scope as registered with the Azure app)
连接选择
现在,在启动新评估或配置计划时,不会显式选择连接。 系统根据不同的参数自动选择连接。 通常,它会选择与基础数据源匹配的第一个创建连接。 对于现有客户,已存在基于用户密码的连接。 稍后将创建基于密钥对的连接和 OAuth 连接。 如果存在连接 (密钥对或 OAuth) 的任何其他新类型,则连接选择现在将忽略所有基于用户密码的连接。 如果仅存在基于用户密码的连接,则当前的选择机制将继续按原样工作。
下图显示了前面的选择机制。
假设只有基于用户密码的连接:
- SnowflakeConnectionBob (User-password)
- SnowflakeConnectionAlice (User-password)
- SnowflakeConnectionEve (User-password)
系统选择 SnowflakeConnectionBob 连接。
假设存在所有类型的连接,并按以下顺序创建它们:
- SnowflakeConnectionBob (User-password)
- SnowflakeConnectionAlice (键对)
- SnowflakeConnectionCharlie (OAuth)
- SnowflakeConnectionEve (User-password)
在这种情况下,系统会忽略 SnowflakeConnectionBob 和 SnowflakeConnectionEve。 系统仅考虑以下连接以供选择:
- SnowflakeConnectionAlice (键对)
- SnowflakeConnectionCharlie (OAuth)
通常,系统选择 SnowflakeConnectionAlice 进行评估和计划运行。
重要
- 创建专用终结点连接请求后,请向 Snowflake 支持人员提交支持票证,以批准专用终结点连接。 在此支持票证中提供托管专用终结点资源 ID 的详细信息,供 Snowflake 团队批准。
- 数据质量专员需要对 Snowflake 具有 只读 访问权限才能设置数据质量连接。
- Snowflake 连接器不接受 https://。 添加服务器名称以配置数据源连接时删除 https:// 。
- 如果禁用公共访问,则需要为密钥保管库选择“允许受信任的Microsoft服务”。 此要求仅适用于密钥保管库,不适用于 Snowflake 工作区。
注意
支持 Open Authorization (OAuth) 和用于 Snowflake 数据库连接的密钥对。 使用这些身份验证机制,可以创建多个支持不同身份验证机制的连接。 在这些情况下,选取最后一个创建的连接的逻辑会保持运行。 例如,如果首先创建基于密钥对的连接,然后创建 OAuth 连接,系统会选择 OAuth 连接。 如果要选择密钥对连接,则需要删除 OAuth 连接。 如果要预览新的 Snowflake 身份验证模型以Microsoft Purview 数据质量扫描,请联系Microsoft帐户代表。
Snowflake 中数据的分析和数据质量扫描
设置连接后,可以分析数据、创建和应用规则,并在 Snowflake 中对数据运行数据质量扫描。 遵循以下文档中介绍的分步指南: