ワークフローで使用するパスワードの暗号化方法

Group of people collaborating in an office environment

概要

データの取得先や、処理の対象がログインを必要とするウェブサイトの場合、ロボットにログイン名とパスワードの情報を渡す必要があります。

パスワードを暗号化してないXAMLファイルが悪意のある第三者の手に渡ってしまった時パスワードを知られてしまうため、パスワードを暗号化頂く事を推奨しております。 この記事ではパスワードの暗号化の手法をいくつか紹介させていただきます。

Get Passwordアクティビティを使用する方法

こちらのアクティビティはWindowsのログインユーザ情報を使い暗号化し、同一Windowsのログインユーザであればパスワードを復号出来ます。

Passwordプロパティにパスワードをそのまま入力し、Resultプロパティにデータを渡す変数を指定することでパスワードを暗号化出来ます。 使い方がシンプルなため、開発やテストのときに気軽に使うことができるのがメリットです。

一方で、開発環境では問題なく動きますが開発環境と本番環境のログインやPCを分けている場合このアクティビティはご使用頂けませんので利用機会は限定されます。 Get Passwordアクティビティでの永続的なパスワード管理は基本的には推奨致しません。

Windowsの資格情報に関するアクティビティを使用する方法

Orchestratorを導入していない場合にはWindows資格情報を操作するアクティビティでのパスワード管理を推奨致します。

【補足】

こちらを使用するにはPackage Manager(ctrl + pをStudio画面上で実行)からUiPath.Credentials.Activitiesを導入頂く必要がございます。

UiPathにはWindowsの資格情報を操作する下記アクティビティがございます。

  • Add Credential: 資格情報の登録を行うアクティビティ

  • Delete Credential:  資格情報を削除するアクティティ

  • Get Secure Credential: 資格情報を取得するアクティビティ

  • Request Credential: 資格情報登録のための入力ダイアログボックスを表示するアクティビティ

これらを組み合わせて一度登録すれば登録以後パスワードとログインの入力を必要としないワークフローを作成頂く事が可能です。

登録するタイミングとしては、(1) 初回実行時、(2) 何らかの理由で資格情報が消えてしまった場合、(3) 登録されている資格情報が間違っている場合が考えられます。資格情報の入力を求めるダイアログボックスをRequest Credentialアクティビティで表示します。

サンプルとして以下の処理を行うワークフローを添付致しました。

  • 資格情報が登録されていない場合、資格情報の入力画面を表示後登録作業を行う

  • 資格情報が登録されている場合、資格情報を表示し継続利用するか、あるいは削除するか選べるダイアログボックスを表示する

是非ご参照下さい。

Orchestratorのアセットを使用する方法

Orchestratorを導入している場合、Orchestrator上のアセットでのパスワード管理を推奨致します。

Get CredentialアクティビティでOrchestrator上にあるログインとパスワードを取得する事が可能です。 下記アセットを使うサンプルワークフローをご参照下さい。 

こちらのワークフローはOrchestratorからCredential型のアセットを取得し、メモ帳にログインとパスワードを入力致します。

使用するためにはロボットをOrchestratorに接続頂き、Orchestrator上にtest_credentialというCredential型のアセットを作成して頂く必要がございます。 その方法については下記ドキュメントをご参照下さい。

ワークフロー動作検証済み環境
  • Studio 2017.1.6547 / 2018.1.4

  • UiPath.Credentials.Activities 1.1.6479.13204