设置 Openflow Connector for Workday

备注

使用该连接器需遵守 连接器条款

本主题介绍设置 Openflow Connector for Workday 的步骤。

先决条件

  1. 确保您已查看 Openflow Connector for Workday

  2. 确保您已 设置 Openflow

获取凭据

作为 Workday 管理员,请执行以下操作:

  1. 在 Workday 中创建用户:

    1. 前往 Workday 并以管理员身份登录。在 Workday 搜索栏中,键入“Create user”。

    2. 点击 Create Integration System User: Task

    3. 输入用户名和密码。

  2. 创建安全组,并将通过第 1 步创建的用户添加到该安全组:

    1. 在 Workday 搜索栏中,键入 Create Security Group

    2. 点击 Create Security Group: Task

    3. 将类型设置为 Integration System Security Group (Unconstrained)

    4. 输入安全组名称,然后点击 OK

    5. Edit Integration System Security Group (Unconstrained) 窗口中,在 Integration System Users 字段中添加第 1 步中创建的集成系统用户。

  3. 向第 2 步中创建的安全组添加域安全策略:

    1. 在 Workday 搜索栏中,键入 View Security Group

    2. 前往 Security Group Settings » Maintain Domain Permissions for Security Group

    3. 在 :extui:`Integration Permissions`部分的“Domain Security Policies permitting Get access”字段中,选择与要同步的报告关联的安全域。

    4. 转到 Activate Pending Security Policy Changes 页面,然后点击 OK

  4. 创建 OAuth 客户端应用程序:

    1. 在 Workday 搜索栏中,键入 Register API Client 并点击 Register API Client for Integrations: Task

    2. 输入客户端名称。

    3. 点击 Non-Expiring Refresh Token

    4. 在“Scope”搜索栏中,键入“System”并将其选中。

    5. 点击 OK

    6. 复制“Client ID”和“Client Secret”,然后点击 Done

  5. View Integration System Security Group 页面中,记下“Domain Security Policies”下的功能区域。然后,将其添加为 API 客户端中的“Scopes/Functional Areas”:

    1. 在搜索栏中键入 View API Client

    2. 从列表中选择您的 API 客户端。

    3. 点击顶部蓝色栏中的三个点,然后选择 API Client » API Clients for Integrations

    4. Scope (Functional Areas) 字段中,搜索并添加您先前记下的功能区域。

  6. 在与之前的 (5c) 相同的菜单中,选择 Manage Refresh Tokens for Integrations

    1. 在表单中,搜索 ISU 用户并将其选中。

    2. 点击 OK

    3. 点击 Generate new token,并复制刷新令牌详细信息,以供稍后使用。

设置 Snowflake 账户

作为 Snowflake 账户管理员,请执行以下任务:

  1. 创建新角色或使用现有角色并授予 数据库权限

  2. 创建类型为 SERVICE 的新 Snowflake 服务用户。

  3. 向该 Snowflake 服务用户授予您在前面步骤中创建的角色。

  4. 为第 2 步中创建的 Snowflake SERVICE 用户配置 密钥对身份验证

  5. Snowflake 强烈建议执行此步骤。配置 Openflow 支持的密钥管理器(例如 AWS、Azure 和 Hashicorp),并将公钥和私钥存储在密钥存储库中。

    备注

    如果您出于任何原因不希望使用密钥管理器,则您有责任根据组织的安全策略保护用于密钥对身份验证的公钥和私钥文件。

    1. 配置密钥管理器后,确定如何对其进行身份验证。在 AWS 中,建议您使用与 Openflow 关联的 EC2 实例角色,因为这样就无需保留其他密钥。

    2. 在 Openflow 中,从右上角的汉堡菜单中配置与此密钥管理器关联的参数提供商。导航到 Controller Settings » Parameter Provider,然后提取您的参数值。

    3. 此时,可以使用关联的参数路径引用所有凭据,无需在 Openflow 中保留敏感值。

  6. 如果任何其他 Snowflake 用户需要访问连接器引入的原始文档和表(例如,在 Snowflake 中进行自定义处理),则授予这些用户在步骤 1 中创建的角色。

  7. 指定一个仓库供连接器使用。从最小的仓库规模开始,然后根据要复制的表数量和传输的数据量来测试规模。相较于扩大仓库规模,采用 多集群仓库 通常能更有效地应对海量表数量的扩展需求。

设置连接器

作为数据工程师,执行以下任务以配置连接器:

安装连接器

  1. 在 Snowflake 中为连接器创建数据库和架构,以存储引入的数据。向第一步中创建的角色授予所需的 数据库权限。用实际值替换角色占位符,然后使用以下 SQL 命令:

    CREATE DATABASE DESTINATION_DB;
    CREATE SCHEMA DESTINATION_DB.DESTINATION_SCHEMA;
    GRANT USAGE ON DATABASE DESTINATION_DB TO ROLE <CONNECTOR_ROLE>;
    GRANT USAGE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>;
    GRANT CREATE TABLE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>;
    
    Copy
  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器

  1. 右键点击导入的进程组并选择 Parameters

  2. 按照 流参数 中所述填充所需的参数值。

流参数

该配置分为三个参数上下文。Workday 目的地参数Workday 源参数 上下文负责连接 Snowflake 与 Workday。Workday 引入参数 包含来自配置的所有参数,以及特定于给定报告的其他参数(例如 Report URL)。

由于 Workday 引入参数 参数上下文包含特定于报告的详细信息,因此必须为每个新报告和进程组创建新的参数上下文。要创建新的参数上下文,请进入菜单,选择“Parameter Contexts”,然后添加新的上下文。它应该继承 Workday 目标参数Workday 源参数 参数上下文。

Workday 目标参数 参数上下文

参数

描述

目标数据库

可在其中创建目标表的目标数据库。它必须由用户创建。

目标架构

可在其中创建目标表的目标架构。它必须由用户创建。

Snowflake 账户标识符

存储从 Workday API 中检索到的数据的 Snowflake 账户(格式为 [organization-name]- [account-name])。

Snowflake 身份验证策略

定义连接器将如何连接到 Snowflake。使用 KEY_PAIR 值指定必须为身份验证提供的私钥。运行 SPCS 时,使用 SNOWFLAKE_SESSION_TOKEN

Snowflake 私钥

用于身份验证的 RSA 私钥。RSA 密钥必须按照 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。请注意,必须定义 Snowflake 私钥文件或 Snowflake 私钥

Snowflake 私钥文件

该文件包含用于对 Snowflake 进行身份验证的 RSA 私钥,该私钥根据 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。头标记行以 ----BEGIN PRIVATE 开头

Snowflake 私钥密码

与 Snowflake 私钥关联的密码

Snowflake 角色

具有目标数据库和架构(USAGECREATE TABLE)的适当权限的 Snowflake 角色。

Snowflake 用户名

被分配 Snowflake Role 参数中指定角色的 Snowflake 用户。

Snowflake 仓库

用于将数据加载到表中的 Snowflake 仓库。

Workday 源参数 参数上下文

参数

描述

授权类型

OAUTHBASIC_AUTH 之间选择。如果选择了 OAUTH,则必须定义 OAuth Client ID、OAuth Client Secret、OAuth Refresh TokenOAuth Token Endpoint。如果选择了 BASIC_AUTH,则必须定义 Workday UsernameWorkday Password

OAuth 客户端 ID

在 Workday 中注册的应用程序的客户端 ID。

OAuth 客户端密钥

与客户端 ID 相关的客户端密钥

OAuth 刷新令牌

在应用程序注册过程中,用户获取的刷新令牌。它与客户端 ID 和客户端密钥一起使用,以获取访问令牌。

OAuth 令牌端点

在应用程序注册过程中,用户获取的令牌端点。

Workday 用户名

用于登录 Workday 账户的用户名。必须仅在选择 BASIC_AUTH 时设置。

Workday 密码

与 Workday 用户名相关联的密码。必须仅在选择 BASIC_AUTH 时设置。

Workday 引入参数 参数上下文

参数

描述

目标表

存储从 Workday 引入的报告数据的目标表。如果不存在,则由连接器创建。

报告 URL

Workday 中创建的报告的 RaaS API URL。

运行计划

运行计划,将根据该计划从 Workday 检索数据并将其保存在 Snowflake 中(默认情况下,使用 Timer driven 计划策略,用户在此指定时间间隔,例如 8h)。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

语言: 中文