HashiCorp Credential Retrieval事例
- 最終更新日2024/11/14
HashiCorp Credential Retrieval事例
ブートストラップ、システム、自動ログイン、オートメーションの事例では HashiCorp 資格情報を取得することができます。
Control Room ブートストラップ資格情報の取得
Automation 360 Control Room は、ブートストラップ資格情報を使用して、データベース、サービス アカウント、Active Directory (AD) などのサポート サービスにアクセスします。 これらの資格情報は、初期オンプレミスインストール時、またはインストール後 (Key Vault ユーティリティを使用) に、シークレット名を指定することで構成されます。
Control Room次の画像は、HashiCorp で ブートストラップ資格情報を取得するプロセスを示しています。
ブーストラップ シーケンスや通常操作 (サービス認証の更新など) で必要な場合、Control Room は、キー Vault の接続を使用して資格情報を取得し、必要な認証を実行します。
Control Room システム資格情報の取得
初期インストール時に外部キー Vault を構成した場合、Automation 360 ユーザー インターフェース (インストール後) を使用して、SMTP および Active Directory (AD) の資格情報を設定できます。
- Automation 360 Control Room に管理者としてログインします。
- Control Room から、次のように移動します。 。
Active Directory 資格情報を構成するには:
- Automation 360 Control Room に管理者としてログインします。
- Control Room から、次のように移動します。 。
- 外部キー Vault から AD プライマリー アカウントの資格情報をマッピングしたり、外部資格情報を設定したり、手動に設定したり (AD プライマリー アカウントの資格情報取得のモードを切り替える) することができます。
自動ログイン資格情報の取得
自動ログイン資格情報は、Automation 360 Bot エージェント デバイスの認証とアクティブな Windows セッションの開始に使用されます。 ロボティック・プロセス・オートメーション (RPA) が機能するためには、Windows セッションをアクティブにする必要があります。 オートメーションがリモート Bot エージェント デバイスから起動した場合、オートメーションが実行される前に自動ログインが実行されます。
次の画像は、HashiCorp で自動ログイン資格情報を取得するプロセスを示しています。
Control Room 管理者は、次の詳細を指定することで、Bot エージェント デバイス上でオートメーションを起動するジョブを手動で起動またはスケジュールできます。
- オートメーション (Bot) 名
- デバイス名
- ユーザー コンテキスト
システムは、ユーザー コンテキストに関連付けられたユーザー名とパスワードを使用して指定されたデバイスに自動ログインを実行し、デバイス上でオートメーションを実行します。
自動ログイン資格情報を外部キー Vault から取得する各 Control Room ユーザーに、シークレットを設定する必要があります。そして、HashiCorp Vault のシークレット名は ユーザー名とControl Room一致する必要があります。
外部キー Vault からの自動ログイン資格情報の取得を構成するには、次の手順を実行します。
- Automation 360 Control Room に管理者としてログインします。
- Control Room から、 の順に移動します。
- [編集] をクリックします。
- 以前に HashiCorp Vault を外部キー Vault の接続として構成したことがある場合は、[有効] をクリックして、その外部キー Vault から自動ログイン資格情報を取得します。
このオプションが無効な場合、外部キー Vault 接続は構成されません。
注: 外部キー Vault からの自動ログインを無効にすると、AAI Credential Vault と保存された資格情報を使用して資格情報が取得されます。注: 外部キーVaultとAutomation 360サーバーを統合して自動ログインを行う際、Control Room設定を使用してユーザー名とキー保管庫のオブジェクト名のマッピングを構成できるようになりました。Automation 360の命名規則に従う代わりに、 「カスタムシークレットマッピング」を参照してください。 - HashiCorp のVaultは、組織コンテナを持たないフラットな名前空間であるため、Safe名を入力する必要はありません。 [変更を保存] をクリックします。
成功すると、自動ログイン設定が正常に保存されたことを示すメッセージが表示されます。
自動ログインの命名規則
Control Room は、外部キーVault内のシークレット命名規則に基づいて、自動ログイン資格情報を取得します。 Control Room は、シークレット名 (外部キーVaultの資格情報名) が、自動ログインを実行している Control Room ユーザー名と一致するオブジェクトを検索します。
プレフィックス autologin_ は、すべての外部キー Vault の自動ログイン資格情報の命名規則の一部として必要です。 CyberArk、AWS、HashiCorp、および Azure。 外部キー Vault の自動ログイン資格情報の名前には、autologin_ の後に Control Room ユーザー名が続く必要があります。 場合によっては、特定のキー Vault には、資格情報シークレット名に使用できる文字が制限される場合があります。 また、さまざまな使用事例での資格情報のエンコード方法をサポートするために、Automation 360 は、特定の文字を予約したりエンコードしたりすることを要求します。
次の表に、Control Room で想定されるシークレットの命名規則の例を示します。
Control Room ユーザー名 | シークレット名の想定形式 |
---|---|
ABCD\user123 | autologin_ABCD--user123 |
user123@rpa.abcd.com | autologin_user123-40-rpa-2e-abcd-2e-com |
自動ログイン資格情報について、以下の点に留意してください。
- 外部キー Vault のシークレット名には、プレフィックスとして autologin_ を含める必要があります。
- 自動ログイン資格情報名は、取得した資格情報の Control Room ユーザー名 (ログイン ID) にマッピングされる必要があります。
外部キー Vaultによっては、シークレット名のバックスラッシュ (\) やアットマーク (@) などの特定の文字の使用や、API コール内での特殊文字の使用の解釈について、制限がある場合があります。 ユーザー ID に特殊文字が含まれている場合、次の表に示すように、外部キーVaultのシークレット名は、ASCIIコードの文字置換でエンコードする必要があります。
文字 | この ASCII コード文字置換の変更点 |
---|---|
\ (バックスラッシュ) | -- |
- (ダッシュ) | -2d- |
_ (アンダースコア) | -5f- |
@ (アットマーク) | -40- |
. (ピリオド) | -2e- |
HashiCorp の自動ログイン資格情報の例
この自動ログイン資格情報取得の例では、特定のユーザーとして、デバイスに Control Room をデプロイする Bot ユーザーについて考えてみましょう。 この例では、次のような詳細を使用しています。
- デバイスで実行されるオートメーション (Bot) 名 = ProcureToPayGeoEast
- エージェント デバイス名 = WinVDI1138
- エージェント ユーザー コンテキスト = autologin-5f-rpauserCR1-40-abcd-2e-com
次の画像は、 を使用して自動ログイン資格情報を取得する例を示しています。
オートメーションを開始する前に、次のことを確認してください。
- Control Room 接続の詳細が正常に構成されており、Control Room がこれらの接続情報を使用して HashiCorp に接続し、認証を実行している。
-
Control Room は Bot エージェント デバイスで実行されている WinVDI1138 デバイスにクエリを発行し、デバイス WinVDI1138 に現在アクティブな Windows (オペレーティング システム) セッションがあるかどうか、およびそのセッションがエージェント ユーザー rpauserCR1 に属しているかどうかを確認している。
ユーザー rpauserCR1 のデバイスに既存のセッションが存在する場合、自動ログインを実行する必要はなく、Bot はデプロイを続行します。
- ただし、アクティブなセッションがない場合や、rpauserCR1 に属していないアクティブなセッションがある場合、Control Room は、HashiCorp ボールトから自動ログイン資格情報を取得する。
- Control Room が資格情報 (パスワード) を Bot エージェントに渡している。 Bot エージェントは、WinVDI1138 の自動ログイン資格情報を使用して、(他のユーザーのログイン セッションからログオフしてから) rpauserCR1 として WinVDI1138 デバイスにログインします。 その後、オートメーション (Bot) ProcureToPayGeoEast は、デバイス WinVDI1138 で rpauserCR1 として実行を開始します。
オートメーション資格情報の取得
オートメーション資格情報は、Bot 開発者がオートメーション (Bot) アクション内で使用する変数で、暗号化されたストレージからデータを定義して取得するために使用されます。 オートメーションでは、資格情報を使用してアプリケーション (例: 金融アプリケーション) を認証します。 オートメーション資格情報は、実行時に Automation 360 Bot エージェントによって取得されます。
次の画像は、HashiCorp でオートメーション資格情報を取得するプロセスを示しています。
HashiCorp Vaultから取得したオートメーション資格情報は、Automation Anywhere Credential Vault でマッピングされます。 Credential Vault は、次の 2 種類のオートメーション資格情報をサポートしています。
- システム資格情報
- 資格情報変数によって返される値が、その変数を使用するすべてのオートメーションで同じである資格情報。
- ユーザー定義の資格情報
- 資格情報変数によって返される値が、オートメーションが実行されているユーザー コンテキストに基づいて区別される資格情報。
システム資格情報とユーザー定義の資格情報の両方について、Bot 開発者は Bot コード内で同じ資格情報変数を指定します。 次に、システムで、Bot 実行時に取得する資格情報が決定されます。
ユーザー定義の資格情報により、Bot 開発者は単一の資格情報変数を使用してコードを書くことができ、RPA プラットフォームが実行時に返される値をユーザー固有の値に置き換えるため、自動化開発が簡素化されます。 開発者は、異なるユーザー固有の資格情報変数を使用して重複したコードの書き込みを回避できます。
次の画像は、HashiCorp資格情報の想定される命名規則を示しています。
この図では、HashiCorp ボールト内の6つのシークレットが、Control Room Credential Vault 内の2つの資格情報にマッピングされています。
- Object3
- Object4
たとえば、ロッカー 内のControl Roomを prefixID3 または prefixID4 のどちらかにマッピングできます。 次に、シークレットを資格情報にマッピングします。 資格情報ごとに、シークレットは、システム定義の 1 つの資格情報 (ユーザー名のポストフィックスなし) およびユーザー定義の 2 つの資格情報 (ユーザー名が Control RoomUser1ID1 と Control RoomUser1ID2 である ユーザーにそれぞれ 1 つ) として使用されます ( で取得されます)。
HashiCorp vault 内では、各オートメーション資格情報は、プレフィックス、オブジェクト識別子、およびユーザー名を識別する任意のポストフィックスなどの特定の識別子を含む名前で格納されます。 正しい資格情報を確実に取得するためには、このような命名規則が必要です。 HashiCorp Vault 内のシークレット (資格情報) の名前で、Automation Anywhere Credential Vault 内のマッピングに関する情報をエンコードします。
Control Room を HashiCorp Vaultにマッピングするには、管理者が、ロッカー[ロッカーを作成]と [資格情報を作成] の機能における外部キー Vaultオプションを使用してAutomation 360 Control Roomと資格情報の作成と設定を行います。
- ロッカーHashiCorpCredential Vault ボールト名のプレフィックスにマッピングする のを構成します。
- HashiCorp Credential Vaultボールト オブジェクト識別子 (ユーザー定義資格情報の任意のポストフィックス) にマッピングする の資格情報を構成します。
実行時に、RPA プラットフォームは、オートメーションが実行されているユーザー コンテキスト (ユーザー定義資格情報) と一致するポストフィックスを持つ名前のシークレットを取得します。 ユーザー定義資格情報がない場合、RPA プラットフォームはユーザー名のポストフィックス (システム資格情報) を使用せずにシークレットを取得します。
Control Room では、ロール内の権限を通じて、外部の資格情報へのアクセス制御を実現します。 ロールごとに異なる Control Room ユーザーを割り当て、それらのロールに異なるロッカーを関連付けることで、資格情報へのアクセスを制御します。
次の画像Control Room Credential Vault ロッカーは、HashiCorp のボールトにマッピングされている と資格情報を示します。
オートメーションの命名規則
次の表に、オートメーションの命名規則を使用した HashiCorp Vault 外部キー Vault の例を示します。
オートメーション資格情報の例 | HashiCorp プレフィックス | HashiCorp キー/値シークレットエンジン | HashiCorp のシークレット | Control Room ユーザー名 |
---|---|---|---|---|
accounting_pdf ロッカー内のシステム資格情報はHashiCorpVaultシークレット名プレフィックスaccountingにマッピングされています |
accounting | accounting_pdf (システム) | なし - システム資格情報 | |
accounting_pdf_ABCD--user123 HashiCorp シークレット名プレフィックス accounting にマッピングされたロッカー内のユーザー定義資格情報 |
accounting | accounting_pdf_ABCD--user123 | ABCD\user123 |
HashiCorp オートメーション資格情報取得の例
オートメーション資格情報取得を設定し、HashiCorp vaultと統合するには、最初にロッカーを作成してから、資格情報を作成します。
- ロッカー Credential Vault 内に作成された資格情報を格納するために、Control Room 内に別のControl Roomを作成します。
- 外部キー Vault 内に作成された資格情報を格納するために、ロッカー 内に別のControl Roomを作成します。
Control Room では、同じControl Room内に ロッカー Credential Vault および外部キー Vault の資格情報を格納することはできません。
ロッカーを作成してHashiCorpVaultと統合するには、次の手順を実行します。
-
Automation 360
Control Room から、 に移動します。
資格情報との管理ロッカー 権限を持つユーザーは、資格情報を作成する権限があります。
- [資格情報] タブで [ロッカーを作成] を選択します。
-
ロッカーの名前を入力します (例: Locker3)。
この名前は、Control Room にローカルな名前で、HashiCorp Vaultのシークレット名に依存するものではありません。
- [外部キー Vault] をクリックし、HashiCorp Vaultシークレット名のプレフィックスを入力します (例: prefixID3)。 マッピングの構成を正常に完了するには、名前のプレフィックスを使用して HashiCorp ボールト内のシークレットに名前を付ける必要があります。
- [次へ] をクリックします。
- ロッカーの所有者、マネージャー、参加者、およびコンシューマーを設定します。
- [ロッカーを作成] をクリックします。
「ロッカーを作成」を参照してください。
Control Room は、プレフィックス prefixID3 を持つすべての HashiCorp シークレットについて、資格情報を取得し、アクセス制御を行う準備が整いました。 続行するには、資格情報を作成します。
資格情報を作成して HashiCorp Vault と統合するには、次の手順を実行します。
-
Automation 360
Control Room から、 に移動します。
資格情報との管理ロッカー 権限を持つユーザーは、資格情報を作成する権限があります。
- [資格情報] タブで [資格情報を作成] を選択します。
- [資格情報名] フィールドに資格情報名を入力します。
この名前は、Control Room にローカルな名前であり、HashiCorp Vaultのシークレット名に依存するものではありません。
- 名前フィールドの下にある [外部キー Vault] をクリックします。
- 使用可能なロッカーのリストから、適切なロッカー (資格情報に現在マッピングしているシークレットのシークレット名プレフィックスに以前マッピングしていたロッカー) を選択します。
- HashiCorp Secret_Name_Body を [シークレット名] フィールドに入力します (例: Object3)。
- [属性を検証して取得します] をクリックします
システムは、HashiCorp Vaultから名前が Prefix_Secret_Name_Body のシークレットを取得しようとすることで、マッピングを検証します (例: prefixID3_Object3)。
検証が失敗した場合、HashiCorp Vaultには、ロッカー (プレフィックス) と資格情報 (Secret_Name_Body) の組み合わせに一致する名前のシークレットが存在しません。 この例では、HashiCorp Vault内に prefixID3_Object3 という名前のシークレットがありません。
システムがシークレットを正常に取得すると、HashiCorpvault のシークレットの属性 (シークレット内のフィールド) が表示されます。
- 属性のリストから、資格情報にマッピングする属性を選択します。
- [資格情報を作成] をクリックします。
成功すると、資格情報が正常に作成されたことを示すメッセージが表示されます。