Openflow Connector for Workdayを設定する¶
注釈
コネクタには、 コネクタ利用規約 が適用されます。
このトピックでは、Openflow Connector for Workdayを設定する手順について説明します。
前提条件¶
Openflow Connector for Workday を確認してください。
Openflowを設定した ことを確認します。
認証情報を取得する¶
Workday管理者として、以下のアクションを実行します。
Workdayでユーザーを作成します。
Workdayにアクセスし、管理者としてログインします。Workdayの検索バーに「Create user」と入力します。
Create Integration System User: Task をクリックします。
ユーザー名とパスワードを入力します。
セキュリティグループを作成し、ステップ1のユーザーを追加します。
Workdayの検索バーに Create Security Group と入力します。
Create Security Group: Task をクリックします。
タイプを Integration System Security Group (Unconstrained) に設定します。
セキュリティグループ名を入力し、 OK をクリックします。
Edit Integration System Security Group (Unconstrained) ウィンドウで、ステップ1で作成した統合システムユーザーを Integration System Users フィールドに追加します。
ステップ2で作成したセキュリティグループにドメインセキュリティポリシーを追加します。
Workdayの検索バーに View Security Group と入力します。
Security Group Settings » Maintain Domain Permissions for Security Group に移動します。
Integration Permissions セクションのドメインセキュリティポリシーにあるGetアクセスを許可するフィールドで、同期するレポートに関連付けられているセキュリティドメインを選択します。
Activate Pending Security Policy Changes ページにアクセスし、 OK をクリックします。
OAuth クライアントアプリを作成します。
Workdayの検索バーに Register API Client と入力し、 Register API Client for Integrations: Task をクリックします。
クライアント名を入力します。
Non-Expiring Refresh Token をクリックします。
スコープの検索バーに「System」と入力して選択します。
OK をクリックします。
クライアント ID とクライアントシークレットをコピーし、 Done をクリックします。
View Integration System Security Group ページで、ドメインセキュリティポリシーにある機能領域をメモします。その後、 API クライアントにこれらをスコープ/機能領域として追加します。
検索バーに View API Client と入力します。
リストからお使いの API クライアントを選択します。
一番上の青いバーで3つの点をクリックし、 API Client » API Clients for Integrations を選択します。
Scope (Functional Areas) フィールドで、メモした機能領域を検索し、追加します。
前と同じメニュー(5c)で、 Manage Refresh Tokens for Integrations を選択します。
フォームで、 ISU ユーザーを検索し、選択します。
OK をクリックします。
Generate new token をクリックし、後で使用する更新トークンの詳細をコピーします。
Snowflakeアカウントを設定する¶
Snowflakeアカウント管理者として、以下のタスクを実行します。
新しいロールを作成するか、既存のロールを使用して データベース権限 を付与します。
タイプを SERVICE として、新しいSnowflakeサービスユーザーを作成します。
Snowflakeサービスユーザーに、前の手順で作成したロールを付与します。
ステップ2のSnowflake SERVICE ユーザーを key-pair auth で構成します。
Snowflakeではこの手順を強く推奨します。Openflowがサポートするシークレットマネージャ(AWS、Azure、Hashicorpなど)を構成し、公開キーと秘密キーを秘密ストアに格納します。
注釈
何らかの理由でシークレットマネージャを使用したくない場合は、組織のセキュリティポリシーに従って、キーペア認証に使用する公開キーと秘密キーファイルを保護する責任があります。
シークレットマネージャを構成したら、その認証方法を決定します。AWS 上では、Openflowに関連付けられた EC2 インスタンスロールが推奨されます。こうすることで、他の秘密を永続化する必要がなくなるからです。
Openflowで、右上のハンバーガーメニューから、このシークレットマネージャに関連付けられたParameter Providerを構成します。 Controller Settings » Parameter Provider に移動し、パラメーターの値をフェッチします。
この時点で、すべての認証情報を関連するパラメーターパスで参照することができるため、機密性の高い値をOpenflow内で永続化する必要はありません。
他のSnowflakeユーザーが、コネクタによって取り込まれた生の取り込みドキュメントやとテーブルへのアクセスを必要とする場合は(Snowflakeでのカスタム処理のためなど)、それらのユーザーにステップ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>;
Openflowの概要ページに移動します。 Featured connectors セクションで、 View more connectors を選択します。
Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。
Select runtime ダイアログで、 Available runtimes ドロップダウンリストからランタイムを選択します。
Add を選択します。
注釈
コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。
Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。
Snowflakeアカウント認証情報でランタイムを認証します。
コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。
コネクタを構成する¶
インポートしたプロセスグループを右クリックし、 Parameters を選択します。
フローパラメーター の説明に従って、必要なパラメーター値を入力します。
フローパラメーター¶
構成は3つのパラメーターコンテキストに分かれています。 Workday宛先パラメーター および Workdayソースパラメーター コンテキストは、SnowflakeおよびWorkdayとの接続を担当します。 Workday取り込みパラメーター には、両方の構成に含まれるすべてのパラメーターと、特定レポートに固有のその他のパラメーター(例: Report URL)が含まれます。
Workday取り込みパラメーター のパラメーターコンテキストにはレポート固有の詳細が含まれるため、新しいレポートおよびプロセスグループごとに新しいパラメーターコンテキストを作成する必要があります。新しいパラメーターコンテキストを作成するには、メニューから「Parameter Contexts」を選択し、新しいコンテキストを追加します。 Workday宛先パラメーター および Workdayソースパラメーター の両方のパラメーターコンテキストを継承する必要があります。
Workday宛先パラメーター の パラメーターコンテキスト
パラメーター |
説明 |
---|---|
宛先データベース |
宛先テーブルが作成される宛先データベース。ユーザーが作成する必要があります。 |
宛先スキーマ |
宛先テーブルが作成される宛先スキーマ。ユーザーが作成する必要があります。 |
Snowflakeアカウント識別子 |
Workday API から取得したデータが格納されるSnowflakeアカウント([organization-name]- [account-name] 形式)。 |
Snowflake認証ストラテジー |
コネクタとSnowflakeの接続方法を定義します。認証のために秘密キーの提供が必要であることを指定するには、値 |
Snowflake秘密キー |
認証に使用する RSA 秘密キー。RSA キーは、 PKCS8 標準に従って書式設定され、標準的な PEM ヘッダーとフッターを持つ必要があります。Snowflake秘密キーファイルまたはSnowflake秘密キーのどちらかが定義されている必要があります。 |
Snowflake秘密キーファイル |
Snowflakeへの認証に使用される RSA 秘密キーを含むファイル。 PKCS8 標準に従って書式設定され、標準的な PEM ヘッダーとフッターを持ちます。ヘッダー行は ----BEGIN PRIVATE で始まります |
Snowflake秘密キーパスワード |
Snowflake秘密キーに関連付けられたパスワード |
Snowflakeロール |
宛先データベースおよびスキーマ(USAGE および CREATE TABLE)上で適切な権限を持つSnowflakeロール。 |
Snowflakeのユーザー名 |
Snowflake Role パラメーターで指定されたロールを持つ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に保存する実行スケジュール(デフォルトでは タイマー駆動 スケジュールストラテジーが使用され、ここでユーザーは8時間などの間隔を指定します)。 |
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。