API構成
必須構成
DNSレコードを構成する
Blue Prism APIがインストールされたら、API URLを関連するIPアドレスにマッピングするためにDNSレコードを構成する必要があります。
これを行う方法の詳細については、DNS解決およびBlue Prismネットワーク接続を参照してください。
データベースへのWindows認証アクセス用にIISアプリケーションプールを構成する
APIがBlue Prismデータベースとの通信に使用するアカウントがWindows認証を使用する場合、IISのBlue Prism APIアプリケーションプールを更新して、Blue Prismデータベースへの適切なアクセス権を持つユーザーとして実行する必要があります。データベース接続にWindows認証を使用する場合は、次の手順に従います。
- Windowsの[スタート]メニューから[Internet Information Services Manager]を起動します。
-
[接続]パネルで[アプリケーションプール]ノードを展開し、[Blue Prism API]を選択します。
- [アプリケーションプール]ページで[詳細設定]を選択します。
- [詳細設定]ダイアログで、[プロセスモデル]を展開し、[アプリケーションプールアイデンティティ]の横にある省略記号(...)をクリックします。
- [アプリケーションプールID]ダイアログで、[カスタムアカウント]オプションを選択し、[設定...]をクリックします。
-
[認証情報の設定]ダイアログで、Blue PrismデータベースにアクセスできるユーザーのWindowsログイン認証情報を入力し、[OK]をクリックします。
Blue Prismデータベースへの接続に必要なデータベースユーザーは、db_datareaderとdb_datawriterの許可を持っている必要があります。
- [接続]パネルで[サイト]ノードを展開し、[Blue Prism API]を選択します。
- [Webサイトの管理]の[アクション]パネルで、[再起動]をクリックします。
プライベートキーを読み取るようにSSL証明書を構成する
SSL証明書を生成してBlue Prism APIに関連付けたら、APIでプライベートキーを読み取れるようにする必要があります。
これには、以下の操作を行います。
- WebサーバーのWindowsの[スタート]メニューから、[コンピューター証明書の管理]を起動します。
- [個人]>[証明書]に移動し、Blue Prism API証明書を探します。
-
証明書を右クリックし、[すべてのタスク]>[プライベートキーの管理]を選択します。
- [アクセス許可]ダイアログで、[追加]をクリックします。
-
[ユーザーまたはグループの選択]ダイアログで、「IIS AppPool\AppPoolName」と入力します。AppPoolNameは、Blue Prism APIアプリケーションプールの名前で、たとえば「IIS AppPool\Blue Prism API」のようになります(APIの初期インストール後に変更されない限り)。[名前の確認]をクリックし、[OK]をクリックします。
-
[アクセス許可]ダイアログで、[読み取り]の[許可]オプションを選択し、[適用]をクリックします。
これで、APIはプライベートキーを読み取るように構成されました。
APIに対する認証を有効にする
Blue Prism APIと直接対話するには、Blue Prism APIに対する許可を持つサービスアカウントを少なくとも1つBlue Prism Hubに作成し、ユーザーがリクエストの認証のためにAuthentication Serverに提供する必要のあるクライアントIDとシークレットを保存する必要があります。ユーザーがAPIとのインタラクションに異なるレベルの許可を必要とする場合は、適切なレベルの許可を割り当てることができるように、別のサービスアカウントを作成する必要があります。
下図は、Authentication ServerとBlue Prism API間の認証フローを示しています。
Blue Prism APIに対する認証を有効にするには、Authentication ServerをBlue Prism Hubインストーラー(バージョン4.6以降)でインストールし、Blue Prism環境で構成して有効にする必要があります。以下の構成は、HubのControl Roomプラグイン以外のBlue Prism APIと接続する場合にのみ必要です。APIを使用してHub内のブラウザーベースのControl Roomで使用されているデータをAPI経由で直接呼び出す場合、ユーザー認証は、Authentication Server APIにアクセスできるサービスアカウントによって処理されます。詳細については、「Authentication Server」「」を参照してください。
以下の手順は、作成するサービスアカウントごとに実行する必要があります。
- Blue Prism Hubで、プロファイルアイコンをクリックして設定画面を開き、ユーザー管理で[サービスアカウント]をクリックします。
- [サービスアカウント]画面で、[アカウントを追加]をクリックします。
-
クライアントアプリケーションのIDとAuthentication Serverデータベースのクライアントの名前を入力します。後で使用するために、クライアントIDを注記しておきます。
-
[アクセス許可]で[Blue Prism API]を選択します。
-
[サービスアカウントを作成]をクリックします。
[サービスアカウントを追加]画面に、生成されたシークレットが表示されます。
-
[クリップボードにコピー]アイコンをクリックして、生成されたシークレットをクリップボードにコピーします。これは、クライアントIDとともに、APIの呼び出しに使用されるシステム(SwaggerやPostmanなど)がAuthentication Server APIに認証リクエストを行う際に使用されます。
APIで使用する認証トークンを発行するAuthentication Server APIのURLは次のとおりです。
https://<authenticationserverhostname>/connect/token、例:https://authentication.local/connect/token
-
Blue Prismインタラクティブクライアントで、[システム]>[セキュリティ - ユーザー]に移動します。
Hubで作成したユーザーをBlue Prism環境で同期して表示するには、環境内の少なくとも1つのアプリケーションサーバーをAuthentication Serverに接続して実行するように構成する必要があります。詳細については、「Authentication Server」「」を参照してください。
-
[ユーザー]を選択し、バーガーメニューのオプションから[ユーザーをAuthentication Serverと同期]を選択します。
これで、サービスアカウントがユーザーリストに表示されます。
-
サービスアカウントをダブルクリックして、接続しているユーザーが使用可能なAPIを介して実行できるアクションに必要な役割と許可を割り当てます。
サービスアカウントの役割と許可は、他のBlue Prismユーザーアカウントと同様に設定および適用できます。
-
Authentication ServerをホストしているWebサーバー上のAuthentication Serverインストールディレクトリ(例:C:\Program Files (x86)\Blue Prism\Authentication Server)に移動し、appsettings.jsonファイルを開きます。
-
ファイルの[AllowedOrigins]セクションで、Blue Prism APIインストールのURL(例:https://BluePrismAPI.local)を追加し、変更を保存します。
このステップは、Blue Prism APIを外部に公開して、Swaggerでテストする場合、またはカスタムサードパーティアプリケーションなどの他の外部インターフェイスに対して公開する場合のみ必要です。
-
Windowsの[スタート]メニューから[Internet Information Services Manager](IIS)を起動します。
- [接続]パネルで、[サイト]ノードを展開し、[Blue Prism - Authentication Server]を選択します。
-
[Webサイトの管理]の[アクション]パネルで、[再起動]をクリックします。
このプロセスの一環としてサービスアカウントに関連付けられたユーザーの役割を変更した場合は、Blue Prism APIアプリケーションプールをリサイクルして、変更が直ちに適用されるようにすることをお勧めします。
Active Directoryドメインの自動キャッシュ生成を許可するAPIを構成する
検出されたActive Directoryドメインを保存するキャッシュの生成は、サーバー上でBlue Prism APIのウェブサイトが起動した後にユーザーがリクエストを行った場合にのみ発生します。これにより、Active DirectoryユーザーがHub Control Roomで想定どおりにデータを表示できなくなる可能性があります。これは、Blue Prism APIでアカウントが認証されていないことが原因で、Active Directoryのキャッシュはバックグラウンドでまだ生成中です。
このシナリオを回避するには、Blue Prism APIアプリケーションプールの開始モードを次のように[常時実行]に設定する必要があります。
オプションの構成
Blue Prism APIでサーバーベースの暗号化キーを使用できるようにする
この構成は、暗号化スキームをBlue Prismアプリケーションサーバーに保存し、Blue Prism APIで使用する必要がある場合に必要です。
Blue Prismアプリケーションサーバーの構成名をBluePrism APIの構成ファイルに追加する
-
Windows PowerShellを管理者として開き、次のコマンドを実行して、API web.configファイル(デフォルトでは、C:\Program Files (x86)\Blue Prism Limited\Blue Prism APIにあります)を復号化します。
コピーC:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
-
復号したら、テキストエディターでAPI web.configファイルを開き、<appSettings>セクションで「BPServerConfigName」キーを探し、Blue Prismアプリケーションサーバーの構成名を値パラメーターに入力します。
これは、アプリケーションサーバーを構成するときに設定される名前です。初めてアプリケーションサーバーを構成するときは、構成名は「Default」ですが、必要に応じて変更できます。
-
Windows PowerShellを管理者として開き、次のコマンドを実行して、API web.configファイルを再暗号化します。
コピーC:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
次のステップは、Blue Prism APIとBlue Prismアプリケーションサーバーが同じマシンで実行されているかどうかによって異なります。
Blue Prism APIとBlue Prismアプリケーションサーバーが同じマシンで実行されている
- Blue Prism APIアプリケーションプールを実行中のユーザーにAutomate.configファイルの読み取り許可を付与します。
- Automate.configファイル(C:\ProgramData\Blue Prism Limited\Automate V3)を探し、右クリックして[プロパティ]を選択します。
- [セキュリティ]タブで、[編集]をクリックします。
- [アクセス許可]ダイアログで、[追加]をクリックします。
- [ユーザーまたはグループの選択]ダイアログで、アプリケーションプールを実行しているIDを入力します。たとえば、アプリケーションプールIDでアプリケーションプールを実行している場合は、「IIS AppPool\AppPoolName」と入力します。AppPoolNameは、Blue Prism APIアプリケーションプールの名前で、たとえば「IIS AppPool\Blue Prism API」のようになります(APIの初期インストール後に変更されない限り)。
- [名前の確認]をクリックし、[OK]をクリックします。
- [アクセス許可]ダイアログで、[読み取り]オプションを選択し、[適用]をクリックします。
- 外部BPKファイルに暗号化キーを保存する場合、Blue Prism APIアプリケーションプールを実行中のユーザーにこれらのファイルの読み取り許可を付与します。
- 暗号化キーの場所を参照し、BPKファイルを右クリックして、[プロパティ]を選択します。
[セキュリティ]タブで、[編集]をクリックします。
[ユーザーまたはグループの選択]ダイアログで、アプリケーションプールを実行しているIDを入力します。たとえば、アプリケーションプールIDでアプリケーションプールを実行している場合は、「IIS AppPool\AppPoolName」と入力します。AppPoolNameは、Blue Prism APIアプリケーションプールの名前で、たとえば「IIS AppPool\Blue Prism API」のようになります(APIの初期インストール後に変更されない限り)。
[名前の確認]をクリックし、[OK]をクリックします。
[アクセス許可]ダイアログで、[読み取り]オプションを選択し、[適用]をクリックします。
-
Automate.configファイルが証明書で暗号化されている場合、Blue Prism APIアプリケーションプールを実行中のユーザーに暗号化証明書のプライベートキーへの読み取りアクセスを許可します。
-
WebサーバーのWindowsの[スタート]メニューから、[コンピューター証明書の管理]を起動します。
-
[個人]>[証明書]に移動し、Blue Prism API証明書を探します。
-
証明書を右クリックし、[すべてのタスク]>[プライベートキーの管理]を選択します。
-
[アクセス許可]ダイアログで、[追加]をクリックします。
-
[ユーザーまたはグループの選択]ダイアログで、アプリケーションプールを実行しているIDを入力します。たとえば、アプリケーションプールIDでアプリケーションプールを実行している場合は、「IIS AppPool\AppPoolName」と入力します。AppPoolNameは、Blue Prism APIアプリケーションプールの名前で、たとえば「IIS AppPool\Blue Prism API」のようになります(APIの初期インストール後に変更されない限り)。
-
[名前の確認]をクリックし、[OK]をクリックします。
-
[アクセス許可]ダイアログで、[読み取り]オプションを選択し、[適用]をクリックします。
-
Internet Information Services(IIS)マネージャーで、Blue Prism APIアプリケーションプールを右クリックし、[リサイクル]を選択します。
これで、APIはプライベートキーを読み取るように構成されました。
または、ファイルがあるフォルダーに許可を適用することもできます。
-
Blue Prism APIとBlue Prismアプリケーションサーバーが異なるマシンで実行されている
- Blue Prismアプリケーションサーバーがインストールされ構成されているマシンから、APIが実行されているマシンの%PROGRAMDATA%\Blue Prism Limited\Automate V3に、Automate.configファイルをコピーします。
- 上記のように、Blue Prism APIアプリケーションプールが実行されているユーザーに対してAutomate.configファイルのコピーの読み取り許可を付与します。
- 外部BPKファイルに暗号化キーを保存する場合は、Blue PrismサーバーマシンからAPIが実行されているマシンの同じ場所にBPKファイルをコピーします。
- 上記のように、Blue Prism APIアプリケーションプールが実行されているユーザーに、コピーしたBPKファイルの読み取り許可を付与します。
-
Automate.configファイルが証明書で暗号化されている場合は、Blue Prismアプリケーションサーバーが実行されているマシンから暗号化証明書をエクスポートし、APIが実行されているマシンにインポートします。
Blue Prismアプリケーションサーバーマシンから暗号化された証明書をエクスポートするには:
-
管理者としてログインします。
-
コマンドプロンプトまたは実行メニューで「mmc」と入力します。
-
ローカルコンピューター証明書を開きます([ファイル]>[スナップインの追加と削除...]>[証明書]>[コンピューターアカウント]>[次へ]>[ローカルコンピューター]>[終了]>[OK]の順にクリックします)。
-
[証明書(ローカルコンピューター)]>[個人用]>[証明書]の順に選択します。
-
エクスポートする証明書を右クリックし、[すべてのタスク]>[エクスポート]>[次へ]を選択します。
-
[はい、秘密キーをエクスポートします]を選択してから[次へ]を選択します。
-
[PKCS#12]を選択します。
-
[証明のパスにある証明書を可能であればすべて含む]を選択します。
-
[すべての拡張プロパティをエクスポートする]を選択します。
-
[次へ]をクリックします。
-
プロンプトが表示されたら、プライベートキーのパスワードを入力します。
-
ファイルに「certname.pfx」など意味のある名前を付けて、安全な場所に保存します。
Blue Prism APIが実行されているマシンに暗号化された証明書をインポートするには:
-
APIが実行されているマシンにエクスポートしたファイルをコピーします。*.pfxファイルはPKCS#12形式で、証明書とプライベートキーの両方が含まれています。
-
コマンドプロンプトまたは実行メニューで「mmc」と入力します。
-
ローカルコンピューター証明書を開きます([ファイル]>[スナップインの追加と削除...]>[証明書]>[コンピューターアカウント]>[次へ]>[ローカルコンピューター]>[終了]>[OK]の順にクリックします)。
-
[証明書(ローカルコンピューター)]>[個人用]>[証明書]の順に選択します。
-
エクスポートする証明書を右クリックし、[すべてのタスク]>[インポート]>[次へ]を選択します。
-
[参照]をクリックして、保存場所から証明書を選択します。
-
[次へ]をクリックします。
-
証明書を配置する証明書ストアを指定し、[次へ]をクリックします。
-
[終了]をクリックします。
-
-
上記のように、Blue Prism APIアプリケーションプールが実行されているユーザーに、インポートした証明書のプライベートキーへの読み取りアクセスを許可します。
Blue Prismアプリケーションサーバーが実行されているマシンの暗号化キーに変更を加えた場合は、Blue Prism APIが実行されているマシンにそれらがコピーされていることを確認する必要があります。
-
Internet Information Services(IIS)マネージャーで、Blue Prism APIアプリケーションプールを右クリックし、[リサイクル]を選択します。
これで、APIはプライベートキーを読み取るように構成されました。
アプリケーションサーバーが使用するサーバー暗号化方式、または設定ファイルの暗号化に使用する証明書に変更を加えた場合は、これらの手順をすべて再度実行する必要があります。
Swagger UIを有効にする
Blue Prism APIと連携できるようにするため、Blue Prism APIのインストールにはSwagger UIが含まれています。Swagger UIはデフォルトで無効になっており、管理者がユーザーにこのツールを使用してBlue Prism APIと連携させる場合は、有効にする必要があります。
Swagger UIを有効にするには、次の手順に従います。
-
管理者としてWindows PowerShellを実行し、次のコマンドを使用して、API web.configファイル(C:\Program Files (x86)\Blue Prism Limited\Blue Prism APIにある)を復号します。
コピーC:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
- 復号されたら、API web.configファイルを開き、Swagger.Enableプロパティをtrueに変更します。このプロパティはデフォルトではfalseに設定されています。
-
管理者としてWindows Powershellを実行し、次のコマンドを使用して、API web.configファイルを再暗号化します。
コピーC:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
-
次の形式のリンクを使用して、Swagger UIを起動します。
https://[hostname]:[portnumber]/swagger/ui/index、例:https://bpapi.local:443/swagger/ui/index。
非本番環境用の自己署名SSL証明書を生成する
自己署名証明書は使用できますが、本番環境ではなく、POC、POV、Dev環境でのみ使用することをお勧めします。適切な証明書を取得する方法については、ITセキュリティチームにお問い合わせいただくことをお勧めします。
自己署名証明書を生成するには、以下の手順に従います。
-
Webサーバーの管理者としてPowerShellを実行し、[Website]と[ExpiryYears]を適切な値に置き換えて以下のコマンドを使用します。
コピーNew-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "[Website].local" -FriendlyName "MySiteCert[Website]" -NotAfter (Get-Date).AddYears([ExpiryYears])
例:
コピーNew-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "blueprismapi.local" -FriendlyName "MySiteCertAPI" -NotAfter (Get-Date).AddYears(10)
この例は、MySiteCertAPIという自己署名証明書を個人証明書ストアに作成し、blueprismapi.localを件名として、作成時点から10年間有効です。
-
Webサーバーで[コンピューター証明書の管理]アプリケーションを開きます(検索バーに「manage computer」と入力します)。
-
証明書を[個人] > [証明書]からコピーして[信頼されたルート証明書] > [証明書]に貼り付けます。
これは、Webサイトで使用するときにSSL証明書が信頼されるための要件に準拠するためです。
API URLをHubデータベース接続に追加する
HubでブラウザーベースのControl Roomプラグインを使用する場合は、API URLをHubデータベース接続に追加する必要があります。
Blue Prism APIは、Blue Prism Hub内のブラウザーベースのControl Roomに情報を提供します。Control Roomが環境から情報を取得できるようにするには、Hubの環境管理内でAPIの場所を定義する必要があります。 Blue Prism Hubそうすると、Control RoomはAPIを使用してデータを取得し、Control Roomを通じて開始されるアクションをトリガーします。Hubにログインすると、Control Room内でBlue Prism Enterpriseと同じ許可が与えられます。
-
Blue Prism Hubで、プロファイルアイコンをクリックして[設定]ページを開き、[プラットフォーム管理]の[環境管理]をクリックします。
管理者ユーザーのみがこのオプションにアクセスできます。
-
[環境管理]ページで、更新するデータベース接続の[編集]アイコンをクリックします。
[接続を編集]ページが表示されます。
-
[API構成]セクションの下にURLを入力します。
http://やhttps://など、プロトコルを含むURLの全体を入力する必要があります。例:https://bpapi.yourdomain.com
-
[保存]をクリックします。
-
[環境管理]ページで、更新した接続の更新アイコンをクリックします。これにより、Hub内の情報が、データベースに保持されているデジタルワーカーとキューで更新されます。
詳細については、Hub環境管理ガイドを参照してください。