UiPath Orchestrator の資格情報ストアで Azure Key Vault を使用する方法
はじめに
この記事では、RPAソフトである「UiPath」の一製品、「UiPath Orchestrator」 × 「Azure Key Vault」の設定方法についてまとめてみました
公式ドキュメントでは情報が不足しており、具体的にどのように設定すればいいのかわからず試行錯誤した際の結果になります。
【使用する製品】
ことの発端
- 元々、2020年10月頃にUiPath Orchestratorの資格情報ストア[3] にて、[Azure Key Vault] を設定し、正常に稼働していた
- 2021年6月3日頃より、急にOrchestrator側から実行しているジョブがエラーを吐くようになった
- 「ユーザー名またはパスワードが正しくありません。」というエラー内容
弊社の作業メンバーでは何か変更したわけではないということだったので、改めて確認することに。
原因
調査の結果、以下のことが判明しました。
-
UiPath側の仕様変更により、資格情報ストアで「Azure Key Vault」を使用する際の必須項目に追加があった
-
UiPath側の仕様変更に伴い、Azure Key Vault(キーコンテナー)のアクセスポリシーの設定で、「承認されているアプリケーション」に設定が入っていると認証エラーを吐くようになった
[資格情報ストアを追加] の設定項目
項目名 | 変更前 | 変更後 |
---|---|---|
種類 | ◯ | ◯ |
名前 | ◯ | ◯ |
Key Vault Uri | ◯ | ◯ |
Directory Id | ✕ | ◯ |
Client Id | ◯ | ◯ |
Client Secret | ◯ | ◯ |
対応内容
以下のように設定すると正しく動くようです。
Azure側
1. アプリの登録の設定
-
[AzurePortal] > [AzureActiveDirectory] > [アプリの登録] > [新規登録] をクリックする
-
アプリの名前を入力し、[登録] をクリックする
-
登録したアプリを開き、[証明書とシークレット] > [新しいクライアントシークレット] をクリックする
-
説明欄に [UiPath Orchestrator] と入力し、有効期限を設定して [追加] をクリックする
-
追加された シークレットの値 をコピーして控えておく
-
[概要] > [アプリケーション(クライアント)ID] をコピーして控えておく
-
[概要] > [ディレクトリ(テナント)ID] をコピーして控えておく
2. キーコンテナーの設定
-
[AzurePortal] > [キーコンテナー] > [作成] をクリックする
-
基本情報を設定して [確認および作成] > [作成] をクリックする
-
作成したキーコンテナーを開き、[アクセスポリシー] をクリックし、[コンテナーのアクセスポリシー] にチェックを入れて、[アクセスポリシーの追加] をクリックする
-
テンプレートからの構成で、[キー、シークレット、および証明書の管理] をクリックする
-
プリンシパルの選択で、1で登録したアプリを選択する
-
[概要] > [コンテナーのURI] をコピーして控えておく
UiPath側
-
UiPath Automation Cloud にログインし、[Orchestrator] をクリックする
-
[テナント] > [資格情報ストア] をクリックする
-
[資格情報ストアを追加] をクリックする
-
以下のように設定して [作成] をクリックする
項目名 | 設定内容 | 設定例 |
---|---|---|
種類 | AzureKeyVault | AzureKeyVault |
名前 | hogehoge | Azure Key Vault |
Key Vault Uri | 2-8を貼り付け | https://hogehoge.vault.azure.net/ |
Directory Id | 1-9を貼り付け | abcdefgh-ijkl-mnop-qrst-u0v1w2x3y4z5 |
Client Id | 1-8を貼り付け | 12345678-910a-bcde-fghi-jklmnopqrstu |
Client Secret | 1-7を貼り付け | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
Discussion