UiPath Orchestratorのバージョンは2020.10.x以降になりIISのバージョンも10になったことで、自己証明書の作成がより難しくなった。チャレンジはしたが、かなりハードルは高く覚えていられないレベルだった。
まず、前提条件:
UiPath Orchestratorサーバ用のADサーバがありDNSサーバも持っていること。
UiPath OrchestratorサーバはUniversalInstallerを起動する前までの設定が済んでいること。
それぞれの手順はググると出てくるからとりあえず省きUiPath Orchestrator用の証明書を作るポイントだけメモした。
1、ADサーバの機能を追加でAD CSのエンタープライズ&ルートCAサーバを追加する
ポイント1:このAD CSで発行される証明書はWebサーバテンプレートのキーが1024bitなので2048bit以上のテンプレートを作らないといけない
ポイント2:このAD CSで発行される証明書はSAN属性が有効になっていないので有効にする
2、OrchestratorサーバのIISで証明書発行要求から完了までブラウザでAD CSへアクセスして証明書を発行する
ポイント1:WindowsServer2016ではhttpでcertsvrページにアクセス可能。(これは同じドメイン内限定)
ポイント2:2048bitキーのテンプレートを選ぶこと
ポイント3:SAN属性を追加する※属性のIPはAD CSで指定するとエラーになる。名称のみ。
ポイント4:ダウンロードファイルはcer属性のファイル以外は証明書発行の完了が出来ないので注意。
3、OrchestratorサーバでUniversalInstallerを起動する
ポイント1:2020.10.8からサーバ証明書が信頼できるかどうかのチェックが動く※この証明書だと警告も出ないで動く
ポイント2:証明書発行の完了が出来ていればバインド、80削除もインストーラーがやってくれる。
ポイント3:Identityなる設定画面が追加されている。ここでも証明書の確認がされる
4、SQLServerのスキーマは自作する必要がある。既存は無理でInsightとか入れるならSQLServer認証にする
ポイント1:あらかじめSQLServerにはUiPath社のインストール手順通りスキーマを空で作っておくとスムーズ
5、インストールが終わるとIISにバインドされているのでFullFQDNアクセスするとSSL警告も出ない
ポイント1:IE、Chrome、Edgeは警告が出なくなる。同じドメイン内のマシンは証明書も配布されるので警告は特に何もしなくとも出なくなる。
ポイント2:警告も出ないのでStudio、Robotも問題なく認証が行われる。
6、UiPath Orchestratorをクライアントが接続出来るようにライセンスを導入し設定変更する。
ポイント1:ドメイン外のクライアントは、Orchestratorが所属するドメインのDNSサーバを参照させるようにすると名前解決は出来る。DNSを向けるのが難しい場合は、hostsファイルにエントリを書くと解決出来る
ポイント2:証明書は自動で配布されないので、手動でインストールする。
ポイント3:インストールする証明書はサーバ上のブラウザで正常に表示される証明書をコピーすることで作成したものを使う。※これによりドメイン外はURLを知っていても繋がらないので必要な人にしか提供できないように出来る。
7、クライアント側の設定とStudio、AssistantをOrchestratorへ接続する
ポイント1:ここまで繋がればあとは認証するだけ。
UiPath社的にはおそらくCloudを使うようにしてもらいたいのであろう。滅茶苦茶構築のハードルが上がっている。お客様的には社内でしか使わない全く社外がら繋がれないOrchestratorシステムの証明書を10万円近く掛けて買わなければならないのは負担であるし当然のように自己証明書(いわゆる俺俺証明書)を使うと思われ、IISでSSLはIP使えないとかそういうのはやめて欲しいところなのですが、セキュリティ的には買うべき論が多いのか、これらのネタは一連では無かったので備忘の意味も込めて残す。