Robot→Orchestrator 接続時のプロキシ設定 [v2023.10 版]

GettyImages-669887566

はじめに

  • 本文書では UiPath Robot から Orchestrator(Automation Cloud またはオンプレミス)に接続する際のプロキシ設定について環境パターンごとに解説しております。

  • 本文書は 2023 年 12 月時点の情報、製品バージョン 2023.10 を元に作成しております。今後リリースされる新しいバージョンによって仕様が異なる可能性がありますので、あらかじめご了承ください。最新情報は Robot をプロキシサーバー経由でリダイレクトする をご参照ください。

  • UiPath Studio/Robot をオンラインアクティベーションする際のプロキシ設定については本文書では対象外としております。こちらの設定方法については LicenseTool コマンドの説明 をご参照ください。

  • UiPath Studio にてプロキシサーバー経由でパッケージフィードにアクセスする際の設定は プロキシサーバー経由でフィードに接続する をご参照ください。

想定するネットワーク構成

本文書で想定するネットワーク構成の例を下に示します。

robot-orchestrator-proxy-configuration-v202210 Image 1

Robot はプロキシサーバーを経由して Orchestrator に接続します。

  • Orchestrator が Automation Cloud の場合にはインターネット経由で接続することになります。

  • Orchestrator をオンプレミスで構築している場合には社内ネットワークを経由して接続されることが想定されます。AWS/Azure などのパブリッククラウド環境に構築している場合にはインターネットもしくは VPN または専用線サービスを経由して接続することが想定されます。いずれのネットワーク種類を利用した場合でも Robot 側のプロキシ設定には影響はありません。

プロキシサーバーではユーザー認証を行わない場合と行う場合があります。

  • 認証を行わない場合、匿名アクセスとなります。

  • 認証を行う場合、プロキシ認証方式が複数あります。

  • プロキシ認証にて Active Directory(AD)と連携してドメインユーザーを認証に使用することも可能です。

事前確認すべき観点

プロキシ設定の手順は環境によって異なります。ポイントとなる確認観点は次の3点です。

  1. プロキシ認証方式

  2. Robotバージョン

  3. Robot動作モード

※ プロキシ設定によるRobotの動作はOrchestratorバージョンには依存しません。

プロキシ認証方式

プロキシサーバーでは接続元を区別するための認証方式があらかじめ設定されています。主な認証方式は次の通りです。

  • 認証なし(匿名アクセス)

  • 基本認証

  • NTLM認証

  • Kerberos認証

プロキシサーバーでの認証方式によってRobot側の設定箇所が異なってきます。プロキシ認証方式はユーザーマシンでの動作によって判断することが難しいため、プロキシサーバーの管理者にご確認ください。

以降、NTLM認証およびKerberos認証を合わせてWindows認証と表現します。

Robotバージョン

インストール済みのRobotバージョンは「コントロール パネル \ プログラム \ プログラムと機能」 の一覧にて "UiPath Studio" のバージョンを確認します。

Robot動作モード

Studio/Robotインストール時のオプション により、動作モードを指定することができます。これによってRobotが動作するWindowsプロセスの実行権限が異なってきます。

  1. ユーザーモード

    • 管理者権限にてすべてのユーザーに対してStudio/Robotをインストールし、UiPath RobotサービスをWindowsサービスとして登録していない場合。

    • Robotインストール時にAutomation DeveloperまたはAttended Robotを選択した場合には原則としてユーザーモードで動作します。

    • ただし詳細設定にて「UiPath RobotをWindowsサービスとして登録します」をオンにした場合はAutomation Developer/Attended Robotであってもサービスモードとして動作します。

  2. サービスモード

    • 管理者権限にてすべてのユーザーに対してStudio/Robotをインストールし、UiPath RobotサービスをWindowsサービスとして登録している場合。

    • Robotインストール時にUnattended Robotを選択した場合はサービスモードとして動作します。

環境別設定項目

上記3点 (プロキシ認証方式・Robotバージョン・Robot動作モード) の事前確認によって、設定項目は下表のパターンに整理され、それぞれに応じて適切な設定を行います。

古いRobotバージョンを使用している場合にはプロキシ認証がサポートされていないケースがあります。その場合にはバージョンアップもしくはプロキシサーバーへのホワイトリスト登録を検討します。

robot-orchestrator-proxy-configuration-v202210 Image 2

※ サービスモードにおいてアセット・キューなどのOrchestrator機能を利用する場合、もしくはインターネットアクセスを行うアクティビティを使用する場合には②Configファイル設定に加えて①Windowsプロキシ設定も実施します。

①Windowsプロキシ設定

WindowsユーザーごとにInternet Explorerのインターネットオプションにてプロキシ設定を行います。

robot-orchestrator-proxy-configuration-v202210 Image 3

Windows設定(Windows 10 / Windows Server 2016以降)でもプロキシ設定が可能ですが、一部注意点があります。

robot-orchestrator-proxy-configuration-v202210 Image 4

注意点: 対話型サインインではWindows設定でのプロキシ設定が正常に参照されない既知問題が報告されています。この問題を回避するには上述のInternet Explorerのプロキシ設定を使用するか、次のレジストリ値を変更します。 HKEYCURRENTUSER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer の値が http(s):// から始まる場合にはプロキシアドレスのみに変更します。(例: http://proxy.lab.test:8080 → proxy.lab.test:8080)

robot-orchestrator-proxy-configuration-v202210 Image 5

なおWinHTTPプロキシ設定 (Windows Updateなどで使用) はUiPath Robotにおいては参照されません。

②Configファイル設定

Robotをサービスモードで動作させる場合、v2020.10では proxy.config、v2021.10以降では uipath.config を使用してマシン単位でプロキシ設定を行います。設定方法はそれぞれのリンクをご参照ください。

  • v2021.10以降、サービスモードでのプロキシ認証の設定例を下記に示します。UserName, Password, Domainの指定は基本認証で使用されます。Windows認証ではコンピューターアカウントにて認証されるためこれらの指定は不要となります。 <webProxySettings> <add key="ProxyAddress" value="http://proxy.lab.test:8080" /> <add key="UserName" value="myUser" /> <add key="Password" value="myPassword" /> <add key="Domain" value="myDomain" /> </webProxySettings>

  • 設定変更を反映させるためにUiPath Robotサービスを再起動します。

なおConfigファイルを参照するのはWindowsサービスとして動作するWindowsプロセスのみで、ユーザー権限で動作するWindowsプロセスは上記Windowsプロキシ設定が参照されます。

両者の違いについて詳しくは、後述の「【参考】 実行権限におけるプロキシ設定参照の違い」をご参照ください。

③Assistantによるプロキシ設定

基本認証かつユーザーモードでプロキシ認証を行うにはAssistantにてあらかじめ資格情報を登録します。

  • Windows認証を使用する場合には次の④システム環境変数設定を使用します。

この機能を利用可能なRobotの最低バージョンはv2022.10となります。

設定手順:

  1. Assistant初回起動時に基本認証によるプロキシ認証が求められた場合、自動的に「プロキシのサインイン」というダイアログが表示されます。

    robot-orchestrator-proxy-configuration-v202210 Image 6
  2. ユーザー名、パスワードを入力し、保存します。

  3. プロキシ設定を再読み込みするため一旦Windowsからサインアウト(ログアウト)します。

  4. 再度実行ユーザーにてWindowsログインし、プロキシ認証が正常に行われOrchestratorに接続できることを確認します。

入力したプロキシ認証の資格情報は暗号化され %AppData%\UiPath\proxyBasicAuth.json というファイルに保存されます。保存されたプロキシ設定を確認するにはこのファイルの内容を参照します。また再設定する際にはこのファイルを削除します。

④システム環境変数設定

Windows認証でプロキシ認証を行うにはあらかじめシステム環境変数を設定します。

この機能を利用可能なRobotの最低バージョンはv2021.10となります。

設定手順:

  1. 管理者権限PowerShellコンソールにて下記コマンドを実行し、システム環境変数を作成します。 [Environment]::SetEnvironmentVariable("UIPATH_PROXY_USE_DEFAULT_CREDENTIALS", "true", "Machine")

  2. 環境変数が正しく作成されたか確認するには新たにPowerShellコンソールを起動し、下記コマンドを実行します。 $Env:UIPATH_PROXY_USE_DEFAULT_CREDENTIALS

  3. 設定反映のために一旦Windowsからサインアウト(ログアウト)します。

なおこのシステム環境変数が設定されている場合にはプロキシ認証方式がWindows認証の前提でRobotが動作します。基本認証の場合にはこのシステム環境変数が設定されていないことを確認します。

⑤ホワイトリスト登録

ここで言う「ホワイトリスト」とはプロキシサーバーにて認証なしで接続を許可するサイト一覧を意味します。

Robotバージョンの仕様制限によってプロキシ認証が正常に行えず、なおかつ短期的にバージョンアップを行うことが難しい場合、社内のセキュリティポリシーに照らし合わせてOrchestratorに関連するサイトをホワイトリスト登録することが可能か検討します。

ホワイトリスト登録が必要となるサイトは ロボットが接続するサービス をご参照ください。利用する機能を制限することによりサイトのリストを制限できる可能性があります。

動作確認

Robotでプロキシ設定が正常に行えているか次の手順を確認します。

Orchestrator接続

RobotからOrchestratorへの接続方式は①対話型サインイン②マシンキー③クライアント資格情報(v2022.4以降)のいずれかを使用しますが、いずれの方式でもプロキシ設定箇所に違いはありません。

接続方式を選択し、Orchestrator URLとそれぞれの接続方式に応じた認証情報を入力し、Orchestratorに接続できることを確認します。

プロセス実行

Robotマシン上の任意のプロセスパッケージのキャッシュ(%UserProfile%\.nuget\packages\<Process Name>)を削除して、該当プロセスを実行します。これによってパッケージダウンロードもプロキシサーバー経由で正常に動作するかも確認することができます。

アセットやキューなどOrchestrator機能を使用するプロセスが存在する場合には、それらも実行できるか動作確認します。

トラブルシューティング

Orchestratorへの接続、あるいはプロキシ設定に起因してプロセス実行が失敗する場合には、トラブルシューティングのために次の情報を採取し、弊社の技術窓口にお問い合わせください。

  • エラー発生時に行った操作・手順

  • エラーメッセージのスクリーンショット

  • Studio/Robotマシンのアプリケーションイベントログ

  • 環境情報

    • プロキシ認証方式 (認証なし・基本認証・NTLM認証・Kerberos認証など)

    • Robotバージョン (例: v2023.10.1)

    • 動作モード (ユーザーモード・サービスモード)

【参考】 実行権限におけるプロキシ設定参照の違い

このセクションはトラブルシューティングの際に役立つ参考情報です。取り急ぎプロキシ設定手順のみを知りたい方は特にご参照いただく必要はありません。

まず一般的なWindowsプロセスにおけるユーザーモードとサービスモードの違いについて説明します。

  • 一般的なユーザーモードとは、現在ログインしているWindowsユーザー権限で実行されるWindowsプロセスを指します。これらはWindowsログイン後に自動または手動で起動され、Windowsログアウト時にすべて終了されます。

  • 一般的なサービスモードとは、現在ログインしているWindowsユーザーとは無関係に、OS起動後に自動または管理者によって手動で起動されるWindowsプロセスを指します。これらはSYSTEM、Local ServiceまたはNetwork ServiceなどWindowsビルトインアカウント(サービス権限)にて動作します。これらのWindowsプロセスはOSシャットダウン時または管理者によって手動で停止された時に終了します。

※ UiPath Robotにおける動作モードは前述の通りインストール時に選択します。

次にUiPath Robotの実際の動作について説明します。UiPath Robotは内部的にいくつかのWindowsプロセスから構成されています。このうちOrchestratorとの接続が発生するのは下記のWindowsプロセスです。

  1. UiPath.Service.Host.exe: サービスモードにおけるRobotサービスのWindowsプロセス

  2. UiPath.Service.UserHost.exe: ユーザーモードにおけるRobotサービスのWindowsプロセス

  3. UiPath.Executor.exe: 自動化プロセス(ワークフロー)実行を行うWindowsプロセス

  4. UiPath.UpdateService.Worker.exe: Studio/Robotの自動更新を行うためのUpdateサービスのWindowsプロセス (v2021.10以降)

    • Robot動作モードがユーザーモード・サービスモードがいずれの場合でもサービス権限で動作します。

    • 現在のユーザーのみにStudio/Robotをインストールした場合はユーザー権限で動作します。

※ 上記以外にもUiPath.Assistant.exeなどが動作しますが、プロキシ設定に関連してOrchestrator接続を行うのは上記のWindowsプロセスとなります。

それぞれのWindowsプロセスが実行される権限とプロキシ設定参照の違いを整理したものが次の表となります。

robot-orchestrator-proxy-configuration-v202210 Image 7

つまりは各Windowsプロセスがどの権限で実行されるかに着目します。

  • 現在ログインのWindowsユーザー権限で実行されるのであればインターネットオプションまたはWindows設定のプロキシ設定および基本認証の資格情報(%AppData%\UiPath\proxyBasicAuth.json)が参照されます。

  • SYSTEMまたはLocal Serviceなどのサービス権限で実行されるのであればConfigファイル(uipath.configまたはproxy.config)が参照されます。