Linux DSN の構成
このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、およびFedora のようなRed Hat Linux プラットフォーム。
Linux の最小バージョン
Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。
OS | Min. Version |
Ubuntu | 18.04 |
Debian | 10 |
RHEL | 8 |
Fedora | 28 |
SUSE | 15 |
ドライバー依存関係のインストール
必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。
- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/Fedora:
yum install glibc libstdc++ zlib libgcc
ドライバーのインストール
標準のパッケージ管理システムを使用してドライバーをインストールできます。
Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。
dpkg -i /path/to/driver/setup/WorkdayODBCDriverforUnix.deb
RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。
rpm -ivh /path/to/driver/WorkdayODBCDriverforUnix.rpm
ドライバーのライセンス
次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。
cd /opt/cdata/cdata-odbc-driver-for-workday/bin/
sudo ./install-license.sh <key>
ドライバーマネージャー経由の接続
ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。
本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。
DSN の作成
unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。
Workday への接続
このセクションでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。 各サービス(WQL、Reports、REST、SOAP)には独自のConnectionType があり、接続ごとに使用できる接続タイプは1つだけです。必要なAPI のパラメータを設定し、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。
接続の前提条件
API | 前提条件 | 接続パラメータ |
WQL | WQL サービスを有効化 (下記参照) | ConnectionType: WQL |
Reports as a Service | カタログレポートの設定 (データアクセスのファインチューニング を参照) | ConnectionType: Reports |
REST | 自動で有効化 | ConnectionType: REST |
SOAP | 自動で有効化 | 以下のWorkday SOAP API を参照 |
BaseURL およびTenant の取得
BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURL とTenant の両方を含む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 の場合、 BaseURL はhttps://wd3-impl-services1.workday.com であり、Tenant はmycompany です。
WQL サービスを有効化
Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。- Workday を開きます。
- 検索バーで、View Domain を検索します。
- プロンプトにWorkday Query Language と入力します。
- Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。
Workday への認証
ほとんどのWorkday 接続で、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。SOAP 経由で接続したい場合は、カスタムOAuth アプリケーションを必要としないBasic 認証を使用できます。このセクションでは、両方の認証方法について説明します。
OAuth
このセクションでは、SSO のない環境でOAuth 標準を使用して認証する方法について説明します。この環境で認証を行う前に、カスタムAPI クライアントアプリケーションの作成 で説明するように、はじめにカスタムOAuth アプリケーションを作成する必要があります。Note: これらはWorkday API への認証を容易にするため、このドキュメントではカスタムOAuth アプリケーションをカスタムAPI Clients として頻繁に参照します。
デスクトップアプリケーション
カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。OAuth アクセストークンの取得およびリフレッシュ:
- InitiateOAuth:GETANDREFRESH。OAuthAccessToken を自動的に取得およびリフレッシュするために使用します。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL:アプリケーションの登録時に定義されたリダイレクトURI。
接続すると、本製品 はデフォルトブラウザでWorkday のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。
ヘッドレスマシン
ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、インターネットブラウザに対応した別の端末で認証する必要があります。 以下のいずれかの方法で行います。
- オプション1:OAuthVerifier 値を取得します。
- オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。
オプション1またはオプション2を実行後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにドライバーを設定します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。以下の手順に従います。
-
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得します。
次のプロパティを設定します。
- InitiateOAuth:OFF。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
-
GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャは、カスタムOAuth アプリケーションが登録されたときに構築されたCallbackURL を返します。 (カスタムAPI クライアントアプリケーションの作成 を参照してください。)
このURL をコピーして、新しいブラウザのタブに貼り付けます。
-
ログインして、本製品 にアクセス許可を与えます。OAuth アプリケーションは、code というパラメータを付加したリダイレクトURI にリダイレクトします。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために、後で必要になります。
-
OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
- InitiateOAuth:REFRESH。
- OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
- OAuthSettingsLocation:暗号化されたOAuth 認証値を指定されたファイルに永続化。
- OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
-
接続をテストしてOAuth 設定ファイルを生成します。
-
次のプロパティを再設定して、接続してください。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:暗号化されたOAuth 認証値を含むファイル。アクセストークンの自動リフレッシュを有効にするには、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンでデータに接続するには、次の接続プロパティを設定します。
- InitiateOAuth:REFRESH
- OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルへのパス。アクセストークンの自動リフレッシュを有効にするために、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
- OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
標準ユーザーとして認証
Workday で標準ユーザーとして認証するには、カスタムAPI クライアントアプリケーションの作成 で説明するように、はじめにAPI クライアントを作成する必要があります。API クライアントを設定したら、Workday 認証情報を使用して接続するために以下のプロパティを設定します。
標準OAuth ユーザー
- ConnectionType および関連プロパティ
- AuthScheme:OAuth。
- OAuthClientId:View API Client ページで取得したClient ID。
- OAuthClientSecret:View API Client ページで取得したClient Secret。パブリッククライアントを使う場合には、この値をブランクにします。
- Tenant:アカウントのテナント。
- BaseURL:View API Clients ページにあるREST API Endpoint のベースURL。
AzureAD ユーザー
- ConnectionType および関連プロパティ
- AuthScheme:AzureAD。
- OAuthClientId:View API Client ページで取得したClient ID。
- Tenant:アカウントのテナント。
- BaseURL:View API Clients ページにあるREST API Endpoint のベースURL。
- SSOProperties:AzureTenant、AzureClientId、AzureClientSecret、Resource など、SSO に使用される Azure 固有のプロパティ。
ISU として認証
ISU として認証するには、カスタムAPI クライアントアプリケーションの作成 で説明するように、 はじめにAPI Client またはAPI Client for Integrations のいずれかを作成する必要があります。JWT bearer grant type を使用して、これらのクライアントのいずれかを作成できます。
適切なプロパティを設定したら、接続の準備は完了です。
API Client for Integrations
- ConnectionType および関連プロパティ
- AuthScheme:OAuthISU。
- OAuthClientId:View API Client ページで取得したClient ID。
- OAuthClientSecret:View API Client ページで取得したClient Secret。
- OAuthRefreshToken:Manage Refresh Tokens for Integrations ページで取得したリフレッシュトークン。
- Tenant:アカウントのテナント。
- BaseURL:View API Clients ページにあるREST API Endpoint のベースURL。
API Client(JWT)
- ConnectionType および関連プロパティ
- AuthScheme:OAuthJWT。
- OAuthJWTCertType:証明書の種類。keytool または openssl pkcs12 で証明書を作成した場合、PFXFILE になります。
- OAuthJWTCert:作成した証明書ファイルのパス。
- OAuthJWTCertPassword:作成した証明書ファイルのパスワード。
- OAuthJWTIssuer:View API Client ページで取得したClient ID。
- OAuthJWTSubject:使用しているISU のユーザー名。
- Tenant:アカウントのテナント。
- BaseURL:View API Clients ページにあるREST API Endpoint のベースURL。
SOAP API
SOAP API を使用する接続では、WQL およびレポートサービスと同じ認証スキームがすべてサポートされます。また、カスタムAPI クライアントを設定する必要のないBasic 認証もサポートしています。Basic 認証を使用するには、次の接続パラメータを設定します。
- ConnectionType:SOAP。
- AuthScheme:Basic。
- User:Workday ユーザーアカウント名。
- Password:Workday ユーザーのパスワード。
- Tenant:アカウントのテナント。
- BaseURL:View API Clients ページにあるREST API Endpoint のベースURL。
その他の認証方法は、WQL およびレポーティングサービスの場合と同じ方法で構成されます。
OAuth 値のリフレッシュ
本製品 は、ブラウザベースのOAuth 認証交換中に取得されたテンポラリーOAuth アクセストークンをリフレッシュできます。デフォルトでは、本製品 は暗号化されたトークンを、DSN に対応するodbc.ini ファイルに保存します。System DSN の場合、このodbc.ini ファイルへのアクセスを制限できます。
トークンの自動交換を有効にするには、本製品 にシステムodbc.ini への書き込みアクセス権を与えます。または、OAuthSettingsLocation 接続プロパティを、ドライバーが読み書きアクセス権を持つ別のファイルパスに設定することもできます。
OAuthSettingsLocation=/tmp/oauthsettings.txt
OAuth 認証の依存関係のインストール
OAuth 認証標準は、認証するユーザーにWeb ブラウザを使用したWorkday との通信を要求します。最初のOAuth インタラクションがドライバーがインストールされている同じマシン上で行われる場合(例えばデスクトップアプリケーションの場合)、本製品 はデフォルトブラウザを立ち上げるxdg-open プログラムにアクセスする必要があります。
この依存関係を満たすには、パッケージマネージャーに対応するパッケージをインストールします。
Debian/Ubuntu Package | RHEL/Fedora Package | File |
xdg-utils | xdg-utils | xdg-open |
ドライバーエンコーディングの設定
ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。
また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-workday/lib/cdata.odbc.workday.ini' でコードページを指定できます。
[Driver]
AnsiCodePage = 932