UiPath Documentation
integration-service
latest
false
Integration Service 用户指南
重要 :
请注意,此内容已使用机器翻译进行了本地化。 Integration Service 中提供的连接器包采用的是机器翻译的译文。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

Snowflake 身份验证

使用 OAuth 2.0 授权代码、含有 Microsoft Entra ID 的 OAuth 2.0 客户端凭据、RSA 密钥对或程序化访问令牌身份验证将 UiPath 连接到 Snowflake。

重要提示:

Snowflake 正在为所有用户强制执行多重身份验证 (MFA),这是其强身份验证推出计划第 3 阶段的一部分,将于 2026 年 8 月至 10 月期间推出。

“自定义身份验证(基于密码)”选项不再可用。当 Snowflake 对您的帐户强制执行 MFA 时,使用自定义身份验证的现有连接将停止工作。使用下面列出的受支持方法之一重新创建它们。

先决条件

根据您选择的身份验证类型,您可能需要以下凭据之一:

  • OAuth 2.0 授权代码Snowflake OAuth 授权流程
    • 客户端 ID
    • 客户端密码
    • 数据库主机
    • 仓库
    • 数据库架构名称
    • 数据库名称
    • 角色
  • 具有 Microsoft Entra ID 的 OAuth 2.0 客户端凭据(具有 Microsoft Entra ID 的 Snowflake 外部 OAuth ):
    • 数据库主机 - Snowflake 主机名 URL,例如 https://hostname.snowflakecomputing.com
    • Warehouse - 用于处理查询的 Snowflake 仓库
    • 数据库名称
    • 数据库架构名称 - 可选。如果留空,则使用 PUBLIC
    • 客户端 ID - Microsoft Entra ID 应用程序注册“概述”部分中的应用程序(客户端)ID
    • 客户端密码 - 来自 Microsoft Entra ID 应用程序注册的“证书和密码”部分
    • 租户 ID - Microsoft Entra ID 应用程序注册“概述”部分中的目录(租户)ID
    • “作用域”- 表示 Snowflake 的 Microsoft Entra ID 资源应用程序的应用程序 ID URI,带有后缀 /.default,例如 api://<application-id-uri>/.default
    • 角色 - 可选。必须是授予映射到 Microsoft Entra ID 服务主体的 Snowflake 用户的现有角色。留空以使用用户的默认角色。
  • RSA(密钥对身份验证和密钥对轮换
    • 数据库主机
    • 用户名
    • RSA 私钥
    • 仓库
    • 数据库架构名称
    • 数据库名称

已知限制

  • 要使用 RSA 进行身份验证,您必须使用未加密的 RSA 私钥。
  • 不支持通过 AWS PrivateLink 进行连接。
  • 无论选择哪种身份验证方法,如果您的 Snowflake 实例限制按 IP 访问,则必须为 Integration Service 使用的 IP 配置允许列表。有关详细信息,请参阅《Automation Cloud 管理员指南》中的配置防火墙
  • The Snowflake connector does not support Relay (private connections). Relay supports only HTTP-based connections, and this connector uses the Snowflake JDBC driver.

从 Snowflake 检索凭据

要从 Snowflake 检索凭据,请执行以下步骤:

  1. 数据库主机在用于连接到 Snowflake 应用程序的 URL 中可用:注意:数据库主机格式可能因您的帐户标识符类型而异。要了解更多信息,请参阅此页面上有关数据库主机的部分以及Snowflake 官方文档

    例如,对于以下 URL https://app.snowflake.com/east-us-2.azure/za96341/dashboardsaccountIDza96341regioneast-us-2.azure

    要构建数据库主机,您必须使用accountID.region.snowflakecomputing.com格式。 因此,对于之前的 URL,构造的数据库主机将是za96341.east-us-2.azure.snowflakecomputing.com

  2. Once you are logged in, on the left-side menu, select Data, then Databases.

    • Database name: A list of databases is displayed:

    • Database schema name - Select a database to view the list of database schema names:

  3. To retrieve the Warehouse, on the left-side menu, go to Admin > Warehouses:

使用 OAuth 2.0 授权代码身份验证方法

备注:

只有具有 ACCountADMIN 角色的用户才能创建 OAuth2 凭据。默认情况下,系统会阻止具有 ACCountADMIN、ORGADMIN 和 SECURITYADMIN 角色的用户使用 OAuth 2.0 身份验证创建连接。有关详细信息,请参阅Snowflake OAuth 授权流程

要为 Snowflake 创建 OAuth 2.0 客户端,请执行以下步骤:

  1. 运行以下查询以创建 OAuth 集成。

    此查询不显示客户端 ID。您必须运行第二个查询才能查看客户端详细信息。确保在查询中包含正确的重定向 URL: https://{baseURL}/provisioning_/callback (例如,对于 Automation Cloud https://cloud.uipath.com/provisioning_/callback )。

    CREATE SECURITY INTEGRATION my_oauth_integration_uipath
       TYPE=OAUTH
       OAUTH_CLIENT= CUSTOM
       OAUTH_REDIRECT_URI='https://cloud.uipath.com/provisioning_/callback'
       OAUTH_CLIENT_TYPE='CONFIDENTIAL'
       OAUTH_ISSUE_REFRESH_TOKENS=true
       OAUTH_REFRESH_TOKEN_VALIDITY= 86400
       ENABLED=true;
    CREATE SECURITY INTEGRATION my_oauth_integration_uipath
       TYPE=OAUTH
       OAUTH_CLIENT= CUSTOM
       OAUTH_REDIRECT_URI='https://cloud.uipath.com/provisioning_/callback'
       OAUTH_CLIENT_TYPE='CONFIDENTIAL'
       OAUTH_ISSUE_REFRESH_TOKENS=true
       OAUTH_REFRESH_TOKEN_VALIDITY= 86400
       ENABLED=true;
    
  2. 运行以下查询以查看客户端详细信息。复制OAUTH_CLIENT_ID

    DESCRIBE SECURITY INTEGRATION my_oauth_integration_uipath
    DESCRIBE SECURITY INTEGRATION my_oauth_integration_uipath
    
  3. 运行以下查询以查看客户端密码。复制OAUTH_CLIENT_SECRET

    此查询输出两个项目: OAUTH_CLIENT_SECRETOAUTH_CLIENT_SECRET_2 。必须使用OAUTH_CLIENT_SECRET

    select system$show_oauth_client_secrets('MY_OAUTH_INTEGRATION_UIPATH');
    select system$show_oauth_client_secrets('MY_OAUTH_INTEGRATION_UIPATH');
    

有关详细信息,请参阅为自定义客户端配置 Snowflake OAuth

将 OAuth 2.0 客户端凭据与 Microsoft Entra ID 身份验证方法一起使用

此方法通过Snowflake 外部 OAuth 使用 Microsoft Entra ID而非 Snowflake 自己的 OAuth 端点进行身份验证:连接器会交换 Microsoft Entra ID 应用程序的客户端 ID 和密码以获取访问令牌,然后将该令牌发送到 Snowflake。

如果您的组织不允许直接连接到 Snowflake,并通过 Microsoft Entra ID 申请获得所有访问权限,请使用此方法。

要设置此身份验证方法,请同时配置 Microsoft Entra ID 和 Snowflake:

  1. 在 Microsoft Entra ID 中,注册一个应用程序并为其创建客户端密码。“概述”部分提供客户端 ID租户 ID“证书和密码”部分提供“客户端密码”
  2. 在 Microsoft Entra ID 中,识别或注册表示 Snowflake 的资源应用程序,并记下其应用程序 ID URI。使用它来构建作用域值: api://<application-id-uri>/.default
  3. 在 Snowflake 中,为外部 OAuth 创建安全集成,将应用程序类型设置为 Azure,将受众设置为第 2 步中的应用程序 ID URI,将 Snowflake 用户映射到服务主体的令牌声明。
  4. (可选)向该 Snowflake 用户授予您打算在角色中输入的角色。如果将“角色”留空,则连接将使用用户的默认角色。

有关确切的配置语法,请参阅 Snowflake 文档中的“使用 Microsoft Entra ID 的 Snowflake 外部 OAuth”

添加 Snowflake 连接

  1. 从产品启动器中选择“Orchestrator”。

  2. 选择一个文件夹,然后导航到“连接”选项卡。

  3. 选择“添加连接”

  4. 要打开连接创建页面,请从列表中选择连接器。您可以使用搜索栏查找连接器。

  5. 选择身份验证类型: OAuth 2.0 授权代码使用 Microsoft Entra ID 的 OAuth 2.0 客户端凭据RSA程序访问令牌

  6. 输入所需的 Snowflake 凭据,然后选择“连接”

    在可用的情况下,选择字段旁边的菜单,然后选择“使用凭据资产”“使用 Orchestrator 资产”以引用 Orchestrator 资产,而不是直接输入值。有关更多信息,请参阅使用凭据资产进行连接

权限

连接将允许 UiPath 代表您读取、写入、修改和删除 Snowflake 数据。

连接到 Snowflake 所需的角色

从 Integration Service 为 Snowflake 创建连接时,连接器始终选择用户的默认角色,如下图所示。

Snowflake 管理员可以为用户设置自定义角色,因为出于安全原因,并非所有人都拥有管理员角色。

以下示例显示了 Snowflake 中究竟需要什么,才能确保 Integration Service 连接流程顺利进行。在此示例中,您将使用 DEAL\_AMOUNT 数据库架构和 JULY\_DEMO 数据库创建连接。

第一步是确保默认角色(在本例中为SAMRAT )对 Snowflake 中的数据库 ( JULY\_DEMO ) 和数据库架构 ( DEAL\_AMOUNT ) 具有USAGE权限。

Snowflake 的成功身份验证取决于这些设置。 角色始终可以拥有管理员分配的其他权限。

有关详细信息,请参阅 Snowflake 文档中的访问控制权限

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新