Openflow Connector for Workdayを設定する

注釈

コネクタには、 コネクタ利用規約 が適用されます。

このトピックでは、Openflow Connector for Workdayを設定する手順について説明します。

前提条件

  1. Openflow Connector for Workday について を確認してください。

  2. Openflowの設定 - BYOC または Openflowの設定 - Snowflakeデプロイメント - タスク概要 があることを確認してください。

認証情報を取得する

Workday管理者として、以下のアクションを実行します。

  1. Workdayでユーザーを作成します。

    1. Workdayに移動し、管理者としてログインします。ワークシートの検索バーで、と入力します Create user.

    2. Create Integration System User: Task をクリックします。

    3. ユーザー名とパスワードを入力します。

  2. セキュリティグループを作成し、ステップ1のユーザーを追加します。

    1. ワークシートの検索バーで、と入力します Create Security Group.

    2. Create Security Group: Task をクリックします。

    3. タイプを Integration System Security Group (Unconstrained) に設定します。

    4. セキュリティグループ名を入力し、 OK をクリックします。

    5. Edit Integration System Security Group (Unconstrained) ウィンドウで、ステップ1で作成した統合システムユーザーを Integration System Users フィールドに追加します。

  3. ステップ2で作成したセキュリティグループにドメインセキュリティポリシーを追加します。

    1. ワークシートの検索バーで、と入力します View Security Group.

    2. Go to Security Group Settings » Maintain Domain Permissions for Security Group.

    3. Integration Permissions セクションのドメインセキュリティポリシーにあるGetアクセスを許可するフィールドで、同期するレポートに関連付けられているセキュリティドメインを選択します。

    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. スコープの検索バーで、 System と入力し、選択します。

    5. OK をクリックします。

    6. クライアント ID とクライアントシークレットをコピーし、 Done をクリックします。

  5. View Integration System Security Group ページで、ドメインセキュリティポリシーにある機能領域をメモします。その後、 API クライアントにこれらをスコープ/機能領域として追加します。

    1. 検索バーに View API Client と入力します。

    2. リストからお使いの API クライアントを選択します。

    3. 上部の青いバーで、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 ユーザーを key-pair auth で構成します。

  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, CREATE PIPE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>;
    
    Copy
  1. Openflowの概要ページに移動します。Featured connectors セクションで、 View more connectors を選択します。

  2. Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。

  3. Select runtime ダイアログで、 Available runtimes ドロップダウンリストからランタイムを選択します。

  4. Add を選択します。

    注釈

    コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。

  5. Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。

  6. Snowflakeアカウント認証情報でランタイムを認証します。

コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。

コネクタを構成する

  1. インポートしたプロセスグループを右クリックし、 Parameters を選択します。

  2. フローパラメーター の説明に従って、必要なパラメーター値を入力します。

フローパラメーター

構成は3つのパラメーターコンテキストに分かれています。Workday宛先パラメーター および Workdayソースパラメーター コンテキストは、SnowflakeおよびWorkdayとの接続を担当します。Workday取り込みパラメーター には、両方の構成に含まれるすべてのパラメーターと、特定レポートに固有のその他のパラメーター(例: Report URL)が含まれます。

Workday取り込みパラメーター*パラメーターコンテキストにはレポート固有の詳細が含まれているため、新しいレポートグループとプロセスグループごとに新しいパラメーターコンテキストを作成する必要があります。新しいパラメーターコンテキストを作成するには、メニューに移動し、:ui:`Parameter Contexts` を選択して新しいコンテキストを追加します。これは、*Workday宛先パラメーターWorkdayソースパラメーター の両方のパラメーターコンテキストから継承する必要があります。

Workday宛先パラメーターパラメーターコンテキスト

パラメーター

説明

必須

宛先データベース

データが永続化されるデータベース。Snowflakeにすでに存在している必要があります。名前は大文字と小文字を区別します。引用符で囲まれていない識別子の場合、名前を大文字で指定します。

有り

宛先スキーマ

データが永続化されるスキーマ。これはSnowflakeにすでに存在している必要があります。名前は大文字と小文字を区別します。引用符で囲まれていない識別子の場合、名前を大文字で指定します。

次の例をご参照ください。

  • CREATE SCHEMA SCHEMA_NAME または CREATE SCHEMA schema_name: SCHEMA_NAME を使用します

  • CREATE SCHEMA "schema_name" または CREATE SCHEMA "SCHEMA_NAME": それぞれ schema_name または SCHEMA_NAME を使用します

有り

Snowflakeアカウント識別子

以下を使用する場合:

  • Session Token Authentication Strategy: 空白にする必要があります。

  • KEY_PAIR: データが永続化される[organization-name]-[account-name]形式のSnowflakeアカウント名。

有り

Snowflake認証ストラテジー

以下を使用する場合:

  • Snowflake Openflow Deployment:SNOWFLAKE_SESSION_TOKEN を使用します。このトークンはSnowflakeによって自動的に管理されます。

  • BYOC: 認証戦略の値として KEY_PAIR を使用します。

有り

Snowflake秘密キー

以下を使用する場合:

  • Session Token Authentication Strategy: 空白にする必要があります。

  • KEY_PAIR:認証に使用される RSA プライベートキーである必要があります。

    その RSA キーは PKCS8 標準に従ってフォーマットされ、標準の PEM ヘッダーとフッターを持つ必要があります。SnowflakeプライベートキーファイルまたはSnowflakeプライベートキーのいずれかを定義する必要があることに注意してください。

無し

Snowflake秘密キーファイル

以下を使用する場合:

  • Session token authentication strategy:プライベートキーファイルは空白である必要があります。

  • KEY_PAIR:Snowflakeへの認証に使用される RSA プライベートキーを含むファイルをアップロードします。これは、PKCS8 標準に従ってフォーマットされ、標準の PEM ヘッダーとフッターを含んでいる必要があります。ヘッダー行は -----BEGIN PRIVATE で始まります。プライベートキーファイルをアップロードするには、Reference asset チェックボックスを選択します。

無し

Snowflake秘密キーパスワード

以下を使用する場合

  • Session Token Authentication Strategy: 空白にする必要があります。

  • KEY_PAIR: Snowflakeプライベートキーファイルに関連付けられたパスワードを提供します。

無し

Snowflakeロール

以下を使用する場合

  • Session Token Authentication Strategy:ランタイムロールを使用します。ランタイムの View Details に移動すると、Openflow UI でランタイムロールを見つけることができます。

  • KEY_PAIR Authentication Strategy:サービスユーザーのために構成された有効なロールを使用します。

有り

Snowflakeのユーザー名

以下を使用する場合

  • Session Token Authentication Strategy: 空白にする必要があります。

  • KEY_PAIR:Snowflakeインスタンスへの接続に使用するユーザー名を提供します。

有り

Snowflakeウェアハウス

クエリの実行に使用されるSnowflakeウェアハウス。

有り

Workdayソースパラメーターパラメーターコンテキスト

パラメーター

説明

認証タイプ

OAUTH または BASIC_AUTH のいずれかを選択します。OAUTH を選択した場合、 OAuth クライアント ID、 OAuth クライアントシークレット、 OAuth 更新トークンOAuth トークンエンドポイント を定義する必要があります。BASIC_AUTH を選択した場合、 Workdayユーザー名 および Workdayパスワード を定義する必要があります。

OAuth クライアント ID

Workdayに登録されているアプリケーションのクライアント ID。

OAuth クライアントシークレット

クライアント ID に関連するクライアントシークレット。

OAuth 更新トークン

更新トークンは、ユーザーがアプリ登録時に取得します。これは、クライアント ID、クライアントシークレットとともに、アクセストークンを取得するために使用されます。

OAuth トークンエンドポイント

トークンエンドポイントは、ユーザーがアプリの登録プロセスで取得します。

ユーザー名

ユーザー名はWorkdayアカウントにログインするために使用します。BASIC_AUTH を選択した場合のみ設定する必要があります。

Workday パスワード

パスワードはWorkdayのユーザー名に関連付けられています。BASIC_AUTH を選択した場合のみ設定する必要があります。

Workday取り込みパラメーターパラメーターコンテキスト

パラメーター

説明

宛先テーブル

Workdayから取得したレポートデータが格納される宛先テーブル。コネクタが存在しない場合は、コネクタによって作成されます。

レポート URL

Workdayで作成されたレポートへの RaaS API URL。

スケジュールを実行する

Workdayからデータを取得し、Snowflakeに保存するスケジュールを実行します。この値は、数値とそれに続く時間単位で指定された時間です。例: 1 second または 5 mins

フローを実行する

  1. プレーンを右クリックし、 Enable all Controller Services を選択します。

  2. インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。