概要
接続データソース設定において、セキュリティポリシー上の理由などでデータベースへの資格情報(ユーザー名、パスワード)を埋め込みできないケースがあります。
本記事では、資格情報が保存されていないデータ接続をAutomation Servicesが利用する場合に必要な設定手順を解説します。
データ接続のプロファイル設定手順
データ接続に資格情報を埋め込まずにAutomation Servicesで利用する場合、「プロファイル(Profile)」という機能を使用して資格情報を紐付けます。
以下の3つのステップで設定を行います。
Step 1: Spotfire application for Windowsでのプロファイル指定
データ > データ接続の管理をクリックします。
設定したい接続データソースを右クリックし、接続データソースの編集を選択します。
接続データソースのログイン情報を入力し、ログインします。
資格情報タブに移動し、いいえ。ただし、資格情報プロファイルを保存しますにチェックを入れ、任意のプロファイル名を設定して保存します。ここで指定した名前は、後述のサーバー設定(Step2)および動作確認タスク設定(Step3)で完全に一致させる必要があります。
Step 2: サーバー設定ファイルの編集
Automation Servicesの設定ファイルをエクスポートします。設定ファイルは、以下のパスにエクスポートされます。C:\spotfire\spotfireserver\14.6.0\tomcat\spotfire-bin\config\root
上記フォルダに生成されたSpotfire.Dxp.Worker.Host.exe.configをメモ帳等で開き、以下の変更を加えます。
DataAdapterCredentials内に資格情報を追加します。
プロファイル名にはStep1で設定したプロファイル名を記入します。
この設定により、該当プロファイルが呼び出された際に使用される接続データソースの資格情報が定義されます。
<setting name="DataAdapterCredentials" serializeAs="Xml">
<value>
<credentials>
<entry profile="プロファイル名">
<username>DBユーザー名</username>
<password>DBパスワード</password>
</entry>
</credentials>
</value>
</setting>続いて、WebAuthenticationMode内において、使用するデータベースの認証方法をWebConfigに変更します。
この変更により、Automation Servicesのジョブを実行するユーザーがプロファイルに保存された資格情報を使用してログインするようになります。
以下はPostgreSQLをデータベースとして使用する場合の設定例です。
<setting name="WebAuthenticationMode" serializeAs="Xml">
<value>
<adapters>
~省略~
<adapter name="Spotfire.PostgreSqlAdapter" mode="WebConfig" />
~省略~
</adapters>
</value>
</setting>
Automation Services設定ファイルのエクスポート、インポート手順は弊社記事:Automation Servicesサービス設定変更手順をご参照ください。
Step 3: Automation Services ジョブ動作確認
動作確認の一例として、本記事ではビジュアライゼーションの画像を出力する簡単なジョブを作成します。
事前準備として、以下2つの手順を行ってください。既に作成済みの場合、これらの操作は必要ありません。
- 画像の出力先となる任意のフォルダをNode Managerサーバー内に作成
- Step1でプロファイルを作成した接続データソースを使ったダッシュボードの作成とライブラリーへの保存
上部バーのツールから、Automation Services Job Builderを開きます。
追加 > ライブラリーから分析を開くを選択します。
参照をクリックし、ライブラリー内の外部接続を持つ分析を指定します。
既に分析を開いている場合は現在に設定をクリックすることでその分析を指定することができます。
追加 > イメージのエクスポートを選択します。
エクスポートの設定を行います。
移行先パスに以下のフォーマットに従い入力します。
<事前に作成した出力先フォルダ>\<出力ファイル名>.png続いてエクスポートしたいビジュアライゼーションをドロップダウンリストより選択します。
また、画像の幅および高さ等の設定もこの画面で行うことができます。
エクスポートの設定完了後、ツール > サーバーで実行するをクリックします。
ビジュアライゼーションが正しく出力され、接続データソースプロファイルの資格情報を使用した認証が成功していることを確認します。
補足:プロファイルに登録したユーザー以外で認証を行う場合
Automation Servicesジョブに外部認証設定タスクを追加することで、プロファイルに設定した資格情報を一時的に上書きし、別の資格情報を使って認証することができます。
(任意)keytool.exeによる自己署名証明書の生成
Node Managerに同梱されているkeytool.exeを使用して自己署名証明書生成します。
自己署名証明書は以下の手順で生成することができます。
管理者権限でコマンドプロンプトを開き、任意の場所で以下のコマンドを実行します。
<Node Manager インストール先>\jdk\bin\keytool.exe -storepass <証明書パスワード> -keystore <証明書ファイル名>.pfx -genkeypair -keyalg RSA -keysize 2048 -validity <証明書の有効期限日数> -alias <証明書名> -ext ku:c=dig -ext eku:c=codeSigningコマンドを実行した場所に自己署名証明書が生成されます。
証明書のインストール
事前準備として秘密鍵を持つ証明書を発行し、Automation Services Job builderを実行するPCおよびNode Managerサーバーに対して証明書のインストールを行ってください。
使用可能な証明書の種類: サーバー証明書、クライアント証明書、コードサイニング証明書、自己署名証明書
Automation Servicesジョブに資格情報を指定するタスクを追加
上部バーのツールから、Automation Services Job Builderを開きます。
追加 > 外部接続の資格情報を設定 を選択します。
資格情報を設定します。
以下に設定例を示します。
| 設定項目 | 値 |
|---|---|
| X.509 認証の件名 | クライアントおよびAutomation Servicesが稼働しているサーバーにインストールした証明書名 |
| 資格情報プロファイル | 一時的にログイン情報を上書きしたい接続データソースプロファイル名 |
| ユーザー名 | データベースのユーザー名 |
| パスワード | データベースのパスワード |
以降は本記事 データ接続のプロファイル設定手順 > Step3に従って、上記で設定した”外部接続の資格情報を設定”の後にタスクを追加し、動作確認を行ってください。