JDBC Driver for Workday

Build 23.0.8839

接続の確立

JDBC データソースの作成

Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for Workday に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。

  • ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
  • ドライバークラスを入力します。次に例を示します。
    cdata.jdbc.workday.WorkdayDriver
  • JDBC URL を入力します。次に例を示します。
    jdbc:workday:ConnectionType=SOAP;User=myuser;Password=mypassword;Tenant=mycompany;BaseURL=https://wd3-impl-services1.workday.com
    
    or
    
    jdbc:cdata:workday:ConnectionType=SOAP;User=myuser;Password=mypassword;Tenant=mycompany;BaseURL=https://wd3-impl-services1.workday.com

    上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:workday:" または"jdbc:cdata:workday:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。

Workday への接続

このセクションでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。

接続の前提条件

API 前提条件 接続パラメータ
WQL WQL サービスを有効化
(下記参照)
ConnectionTypeWQL
Reports as a Service カタログレポートの設定
データアクセスのファインチューニング を参照)
ConnectionTypeReports
REST 自動で有効化 ConnectionTypeREST
SOAP 自動で有効化 以下のWorkday SOAP API への認証を参照

BaseURL およびTenant の取得

BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURLTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。

REST API Endpoint のフォーマットは、 https://domain.com/subdirectories/mycompany です。ここで、

  • https://domain.com/subdirectories/BaseURL です。
  • mycompany(URL の最後のスラッシュの後の部分)はTenant です。

例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURLhttps://wd3-impl-services1.workday.com であり、Tenantmycompany です。

WQL サービスを有効化

Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。

  1. Workday を開きます。
  2. 検索バーにView Domain と入力します。
  3. プロンプトにWorkday Query Language と入力します。
  4. Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。

Workday への認証

Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。

以下のコンテンツでは、非SSO 環境(アクセスするアプリケーションごとに個別のログイン)での認証方法について説明します。この場合、カスタムOAuth API クライアントが必要になります。SSO 環境での認証に関する詳細と、Workday に接続するための2種類のカスタムAPI クライアントアプリケーションの作成に関する情報については、カスタムAPI クライアントアプリケーションの作成 を参照してください。

カスタムOAuth アプリケーションの作成

このセクションでは、OAuth ベースのAPI クライアントを使用して、SSO のない環境で認証を行う方法について説明します。

OAuth 接続では、カスタムOAuth アプリケーションを作成する必要があります。カスタムOAuth アプリケーションの作成については、カスタムAPI クライアントアプリケーションの作成 を参照してください。

Workday で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

Note: SOAP 経由で接続したい場合は、カスタムOAuth アプリケーションを必要としないBasic 認証を使用できます。Workday SOAP API への認証を参照してください。

デスクトップアプリケーション

カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

OAuth アクセストークンの取得およびリフレッシュ:

  • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します。
  • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
  • CallbackURL:アプリケーションの登録時に定義されたリダイレクトURI。

接続すると、本製品 はデフォルトブラウザでWorkday のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

アプリケーションにアクセス許可を与えると、本製品 はOAuth プロセスを完了します。

  1. 本製品 はWorkday からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます。

アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。

Web アプリケーション

Web 経由で認証する場合は、カスタムAPI クライアントアプリケーションの作成 で説明するようにWorkday にカスタムOAuth アプリケーションを作成および登録する必要があります。それから本製品 を使用してOAuth トークンの値を取得および管理します。

このセクションでは、OAuth アクセストークンの取得方法、ドライバーにOAuth アクセストークンを自動的に更新させる方法、OAuth アクセストークンを手動で更新する方法について説明します。

OAuth アクセストークンの取得:

  1. 次の接続プロパティを設定し、OAuthAccessToken を取得します。
    • OAuthClientId:アプリケーション設定のクライアントId。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

  2. ストアドプロシージャを呼び出し、OAuth 交換を完了します。
    • GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL をアプリケーション設定で指定したリダイレクトURI に設定します。 ストアドプロシージャは、OAuth エンドポイントへのURL を返します。
    • ステップ1でストアドプロシージャが返したURL に移動します。ログインしてWeb アプリケーションを認可します。コールバックURL にリダイレクトされます。
    • GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、リダイレクトURI のクエリ文字列のcode パラメータに設定します。

アクセストークンとリフレッシュトークンを取得したのち、データに接続してOAuth アクセストークンを自動的にリフレッシュできます。

OAuth アクセストークンの自動リフレッシュ:

本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには、次のように設定します。

  1. はじめてデータに接続する前に、次の接続プロパティを設定します。
    • InitiateOAuthREFRESH
    • OAuthClientId:アプリケーション設定のクライアントId。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレット。
    • OAuthAccessTokenGetOAuthAccessToken によって返されたアクセストークン。
    • OAuthSettingsLocation:本製品 がOAuth 値を保存する場所のパス。これは接続間で維持されます。
  2. その後のデータ接続では、以下を設定します。
    • InitiateOAuth
    • OAuthSettingsLocation

OAuth アクセストークンの手動リフレッシュ:

OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。

  1. ExpiresIn 期間(GetOAuthAccessToken が返す)が経過した後にOAuthAccessToken を手動でリフレッシュするには、RefreshOAuthAccessToken ストアドプロシージャを呼び出します。
  2. 次の接続プロパティを設定します。

    • OAuthClientId:アプリケーション設定のクライアントId。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

  3. RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを設定します。
  4. 新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定します。これで新規接続が開かれます。

OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

ヘッドレスマシン

ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、インターネットブラウザに対応した別の端末で認証する必要があります。 以下のいずれかの方法で行います。

  • オプション1:OAuthVerifier 値を取得します。
  • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。

オプション1またはオプション2を実行後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにドライバーを設定します。

オプション1:Verifier code を取得および交換

Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。以下の手順に従います。

  1. インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得します。

    次のプロパティを設定します。

    • InitiateOAuthOFF
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

  2. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャは、カスタムOAuth アプリケーションが登録されたときに構築されたCallbackURL を返します。 (カスタムAPI クライアントアプリケーションの作成 を参照してください。)

    このURL をコピーして、新しいブラウザのタブに貼り付けます。

  3. ログインして、本製品 にアクセス許可を与えます。OAuth アプリケーションは、code というパラメータを付加したリダイレクトURI にリダイレクトします。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために、後で必要になります。

  4. OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。

    • InitiateOAuthREFRESH
    • OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を指定されたファイルに永続化。
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。

  5. 接続をテストしてOAuth 設定ファイルを生成します。

  6. 次のプロパティを再設定して、接続してください。

    • InitiateOAuthREFRESH
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を含むファイル。アクセストークンの自動リフレッシュを有効にするには、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

オプション2:OAuth 設定を転送

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンでデータに接続するには、次の接続プロパティを設定します。

  • InitiateOAuthREFRESH
  • OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルへのパス。アクセストークンの自動リフレッシュを有効にするために、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
  • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

OAuth 認証

接続の前に、以下の変数を設定します。
  • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

Workday への接続 をクリックして、デフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

ドライバーは、以下のようにOAuth プロセスを完了します。

  • コールバックURL からアクセストークンを取得します。
  • 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  • OAuth 値を保存し、接続間で永続化します。

標準ユーザーとして認証

Workday で標準ユーザーとして認証するには、カスタムAPI クライアントアプリケーションの作成 で説明するように、はじめにAPI クライアントを作成する必要があります。

API クライアントを設定したら、Workday 認証情報を使用して接続するために以下のプロパティを設定します。

  • ConnectionType および関連するすべてのプロパティ
  • AuthSchemeOAuth
  • OAuthClientIdView API Client ページで取得したClient ID。
  • OAuthClientSecretView API Client ページで取得したClient Secret。パブリッククライアントを使う場合には、この値をブランクにします。
  • Tenant:アカウントのテナント。
  • BaseURLView API Clients ページにあるREST API Endpoint のベースURL。

AzureAD で使用するAPI クライアントを作成した場合は、以下のプロパティを設定します。

  • ConnectionType および関連するすべてのプロパティ
  • AuthSchemeAzureAD
  • OAuthClientIdView API Client ページで取得したClient ID。
  • Tenant:アカウントのテナント。
  • BaseURLView API Clients ページにあるREST API Endpoint のベースURL。
  • SSOProperties:AzureTenant、AzureClientId、AzureClientSecret、Resource など、SSO に使用される Azure 固有のプロパティ。

ISU として認証

ISU として認証するには、カスタムAPI クライアントアプリケーションの作成 で説明するように、はじめにAPI Client またはAPI Client for Integrations のいずれかを作成する必要があります。 API Client for Integrations またはAPI Client using the JWT bearer grant type のいずれかを作成できます。

API Client for Integrations を作成した場合、接続するには次のプロパティを設定します。

  • ConnectionType および関連するすべてのプロパティ
  • AuthSchemeOAuthISU
  • OAuthClientIdView API Client ページで取得したClient ID。
  • OAuthClientSecretView API Client ページで取得したClient Secret。
  • OAuthRefreshTokenManage Refresh Tokens for Integrations ページで取得したリフレッシュトークン。
  • Tenant:アカウントのテナント。
  • BaseURLView API Clients ページにあるREST API Endpoint のベースURL。

JWT でAPI Client を作成した場合、接続するには次のプロパティを設定します。

  • ConnectionType および関連するすべてのプロパティ
  • AuthSchemeOAuthJWT
  • OAuthJWTCertType:証明書の種類。keytool または openssl pkcs12 で証明書を作成した場合、PFXFILE になります。
  • OAuthJWTCert:作成した証明書ファイルのパス。
  • OAuthJWTCertPassword:作成した証明書ファイルのパスワード。
  • OAuthJWTIssuerView API Client ページで取得したClient ID。
  • OAuthJWTSubject:使用しているISU のユーザー名。
  • Tenant:アカウントのテナント。
  • BaseURLView API Clients ページにあるREST API Endpoint のベースURL。

Workday SOAP API への認証

SOAP API を使用する接続では、Basic 認証に加えて、WQL およびレポートサービスと同じ認証スキームがすべてサポートされます。 上記の各構成をSOAP で使用するには、UseWQL プロパティをfalse に設定します。

Basic 認証

Basic 認証(APIクライアントを設定する必要はありません)を使用するには、次の接続パラメータを設定します。

  • ConnectionTypeSOAP
  • AuthSchemeBasic
  • User:Workday ユーザーアカウント名。
  • Password:ユーザーの認証に使用するパスワード。
  • Tenant:アカウントのテナント。
  • BaseURLView API Clients ページにあるREST API Endpoint のベースURL。

その他の認証方法は、WQL およびレポーティングサービスの場合と同じ方法で構成されます。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839