Engineer Voiceをご覧の皆様、初めまして!前田と申します。
この度、Credential Vaultについて執筆することになりました。
すんなりと理解することが難しいCredential Vaultですが、 一緒に学習して使いこなしていきましょう!
■目次
1.Credential Vaultって何?
2.なぜCredential Vaultが便利なの?
3.どういう仕組みなの?
4.触ってみよう
5.まとめ
1.Credential Vaultって何?
Credential Vaultとは、Automation Anywhereで安全に認証情報を保持・利用する仕組みです。
2.なぜCredential Vaultが便利なの?
例えば、Webシステムを作る上で、「ID」や「パスワード」といった資格情報は、
セキュリティ上、ソースコードの中にハードコーディング(直書き)して埋め込むことはしません。
安全なところに保管しておき、使用できる権利を持った者が、使用する際に都度必要なものを取り出す、といった形での利用が望ましいです。
この「安全なところに保管し、使用できる権利を持った者が、必要なときに必要なものだけ取り出す」という運用は、RPAでも同様に求められます。
これをAutomation Anywhereの中で実現できる機能が、Credential Vaultです。
作成時・実行時には値が暗号化され、実際の値がユーザーに見えることはなく、また実行時も使用後はメモリから削除されます。
つまり、Credential Vaultで管理しておけばセキュリティ的にも安心!ということです。
3.どういう仕組みなの?
3-1.用語についてと各権限
まず、Credential Vaultには、「ロッカー」、「資格情報」、「属性」という3つの用語が存在します。
ロッカー |
資格情報をしまっておくための金庫のようなもの。 権限を持ったユーザーのみアクセス可能。 |
資格情報 |
1つ以上の属性の集まり。(e.g.IDとPassword) Bot作成時に使う際、変数選択ではこの資格情報の名前を選択する。 |
属性 |
「ID」や「Password」などの、実際の文字列。(e.g.ID:hogehoge) 管理者が用意・ユーザーが自身で記載するかを選択可能。 ユーザーが自身で記載する場合、各ユーザー毎に値を管理できる。 |
また、ロッカーには「所有者」「管理者」「参加者」「コンシューマー」の4つのユーザーが存在します。
-
所有者
ロッカーを所有するユーザー。他の管理者・所有者を自由に追加/削除できる。
1つのロッカーに対して1名の割当が必須となり、1名以上の割当が可能。
-
管理者
他の所有者・管理者・参加者を追加できないが、それ以外の全ての権限を持つ
-
参加者
ロッカーを表示することができる。資格情報の追加ができる。
ロッカーにある自らの資格情報を表示することができる(他人の資格情報は表示できない)。
ロッカーのコンシューマーでなければ、Bot作成時および実行時に、資格情報を使用することができない。
-
コンシューマー
ロッカーを表示することができる。資格情報の値の入力ができる。
ロッカーにある自らの資格情報を表示することができる(他人の資格情報は表示できない)。
Bot実行時、ロッカーの資格情報を使用できる。
「所有者」「管理者」「参加者」については、ロッカーの編集からユーザーを指定して設定しますが、
「コンシューマー」に関しては、多数のユーザーに付与することを想定し、カスタムロールを作成して、対象ユーザーに付与する形で設定します。
これら4つのユーザー権限をうまく組み合わせて、実際のセキュアな運用を実現します。
「属性」の説明であったとおり、資格情報の中身の値は管理者が用意するか、ユーザーが自身で記載するかを選択できます。
そのため、資格情報の管理方法としては以下のパターンが考えられます。
資格情報登録者 |
使用者 |
説明 |
管理者 | 管理者自身 | 自分専用のロッカーに、自分の資格を格納し、自分自身で使う |
管理者 または参加者 |
複数のコンシューマー | 共通のID/Passwordを複数のBotで使う |
各参加者 | 複数のコンシューマー |
管理者がロッカーを用意し、各々が自身の資格情報を格納し、 必要に応じて取り出す |
3-2.必要なロール
ロッカーの作成には、通常の管理者ロール(AAE_Admin)でなく、別途ロッカー管理者(AAE_Locker_Admin)の権限が必要となります。
注意点として、管理者(AAE_Admin)は自身の権限編集ができないため、別途ロッカー管理者(AAE_Locker_Admin)権限を持たせるためのユーザーを作成する必要があります。
4.触ってみよう
4-1.コンシューマーロールの作成
まずは「AAE_Admin」権限を持つユーザーで、Control Roomにログインし、コンシューマーロールを作成しましょう。
設定はデフォルトのままで問題ありません。
4-2.ロッカー管理者権限の付与
次に、ロッカー管理者権限(AAE_Locker_Admin)を他のユーザーに付与してみます。
「利用可能なロール」から「AAE_Locker_Admin」を選択し、「→」ボタンをクリックして選択済みに移行し保存します。
付与したユーザーでログインすると、
BOTS > 資格情報 から、ロッカーを作成することができるようになっています。
4-3.ロッカーの作成
では、そのままロッカー管理者権限を付与したユーザーで、ロッカーを作成してみます。
適当なロッカー名をつけ、左のメニューからコンシューマーを選択し、先程作成したコンシューマーロールを選択し、「ロッカーを作成」を押下してロッカーを作成します。
これで、選択されたコンシューマーロールを持つユーザーが、このロッカーにアクセスし、資格情報を追加/利用することができるようになります。
4-4.資格情報の作成
次に、資格情報を作成します。今回はロッカー管理者として資格情報を作成します。
こちらも適当な名前をつけ、先程作成したロッカーを選択します。
→ボタンを押し、選択を確定します。
次に属性を入力していきます。今回は「Username」と「Password」を作成します。
入力「標準」を選択し、値を入力します。
セキュリティ「マスク」を選択することで、値がマスクされて入力されるため、「Password」には設定しておきます。
上記を入力したら、右上の「資格情報を作成」から資格情報を作成します。
4-5.ロッカー内資格情報を利用したBot作成
では、実際にBotの中でロッカー内の資格情報を使ってみます。
下記ユーザーに先程作成したコンシューマーロールを付与したので、こちらのユーザーでClientにログインします。
今回は登録した資格情報で、こちらのデモアプリにログインしてみたいと思います。
まずはオブジェクトクローニングで、入力フォームを掴みます。
デモアプリのウィンドウを選択し、ユーザー名のフォームをキャプチャしていきます。
フォームがキャプチャできたら、アクションで「Set Text」を選択し、「設定するテキスト」でF2を押し、変数を挿入します。
すると、自分が権限を持つロッカーの一覧が選択可能になっています。
ここから先程作成したロッカーを選択します。
そして、ロッカーを選択すると、ロッカー内のどの資格情報のどの属性を使用するかを選択する画面がポップアップされます。
今回はユーザー名のフォームなので、「Username」を選択して挿入しましょう。
「$資格情報名(属性名)$」という名前で変数が挿入されています。
同様に、パスワードの入力フォームもキャプチャし、「Set Text」で資格情報の変数を挿入します。
そしてログインボタンもオブジェクトクローニングでキャプチャし実行してみると、
登録した資格情報内の属性を用いて、無事ログインができました!
以上で、簡単なCredential Vaultの使い方の説明は終了となります。
今回はV11.3.3を例にしていますが、A2019でも基本的な考え方は同じとなります。
5.まとめ
ここまでで、ざっくりとCredential Vaultの概要と、使い方がおわかりになりましたでしょうか。
ドキュメント内で、文字で説明されるだけだと、ざっくりしていてなかなか理解がしにくいCredential Vaultですが、
一度使ってみるととても便利で、簡単にセキュアな運用が実現できることがわかります。
資格情報の管理方法については、それぞれのシステムやフローに即した運用が求められ、どのように管理するか考慮する必要がありますが、
皆様も一度触ってみて、ぜひ活用してみてください!
他のおすすめ記事はこちら
著者紹介
先端技術推進統括部
RPAビジネス推進部
前田 由委