このページの本文へ

松本典子の「Azure Logic Apps」超入門 ~AI編~ 第10回

別途送られてくる通知メールからAIがパスワードを抽出、zipファイルを復号してOneDriveに保存

メールで届く添付ファイルの暗号化を自動解除するLogic Appsを作ろう

2020年10月06日 08時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

3. ExcelとOneDriveフォルダの準備

 処理中に使用するメール件名やファイル名、パスワードなどの情報を記録するためのExcelファイルを用意します。「シート1」「シート2」にそれぞれ以下の項目名を持つテーブルを準備し、「zip-mail-list.xlsx」というファイル名でOneDriveに保存してください。

●シート1(テーブル1):添付ファイル送信者の情報を一時的に記録

※zipファイルのパスワード解除後、この情報は削除します。

項目名

  • 受信日時
  • 送信者
  • メール件名
  • ファイル名(zip)

●シート2(テーブル2):zipファイルのパスワードを記載する

※シート1の情報に加えてパスワードも記録します。後からパスワードを探す手間を防ぐ目的です。

項目名

  • 受信日時
  • 送信者
  • メール件名
  • ファイル名(zip)
  • パスワード

 作成したExcelファイルは「Excel Online (Business)」コネクタを通じて操作しますので、OneDrive内に保存しておいてください。なお、Excelコネクタの詳細は、以下のドキュメントを参考にしてください。

 OneDriveは、メール添付されたzipファイルの保存場所としても利用します。OneDriveには、以下のフォルダ名で2つのフォルダを準備してください。

  • mail-Attachment-zip:メールの添付ファイル(zipファイル)を保存
  • zipfile:パスワード解除後のzipファイルを保存

4-1. Azure Logic Appsワークフローの作成

 今回は2つのLogic Appsワークフローを作成します。

  • 4-2. ZIPFilemaillist(添付ファイルありのメール情報のリストを作成)
  • 4-3. ZIPFileRelease(添付ファイルのパスワードを解除)

 以下では、まずLogic Apps用のリソースを新規作成したのち、「ZIPFilemaillist(添付ファイルありのメール情報のリストを作成)」ワークフローから順に作成していきます。

4-1-1. Azure Logic Appsのリソースを新規作成する

 Logic Appsリソースの新規作成は、Azureポータルトップ画面の「+リソースの作成」をクリックし、次の画面で左メニュー「統合」→「Logic App」と選択します。リソースの作成画面では、以前の記事を参考にして必要項目を入力してください。

4-2. ZIPFilemaillist(添付ファイルありのメール情報のリストを作成)

ZIPFilemaillistの全体図

 ZIPFilemaillistは、ユーザーのOutlookメールを参照して、添付ファイルのあるメールの一覧リストを作成するワークフローです。次のようにして作成します。

4-2-1. Azure Logic Appsのトリガーの作成

トリガーの作成

 ワークフローを実行させるトリガーには、Office 365 outlookコネクタの「新しいメールが届いたとき(V3)」を選択します。「添付ファイル付きのみ」の項目を「はい」に設定して、添付ファイル付きメールが届いたときのみ処理を実行するようにします。

4-2-2. For eachアクションの設定

For eachコネクタの設定

 「次のステップを作成」では、「制御」と検索して出てくる「For each」コネクタを選択します。このとき「以前の手順から出力を選択」には、動的コンテンツの「添付ファイル」を選択します。

 なお、これ以降のアクションは、すべてこのFor each内に追加する(つまり繰り返し処理が行われる)ようにします。

4-2-3. ウイルススキャンの設定

Cloudmersive Virus Scanコネクタの設定

 今回の仕組みでは、添付ファイル付きメールが届くと自動的にOneDriveへのファイル保存やパスワード解除などの処理が実行されます。このままだと、スパムやフィッシングメールの危険な添付ファイルがOneDriveに保存されてしまうリスクもあるので、それらのファイル処理を実行する前にウイルススキャンを挟むことにします。

 「アクションの追加」をクリックし、「Cloudmersive」と検索してCloudmersive Virus Scanコネクタの「Scan a file for viruses」アクションを追加し、「添付ファイルコンテンツ」をスキャンするよう設定します。なおCloudmersiveサービスへの接続には、>Cloudmersiveサイトで取得できるAPIキーが必要です。

4-2-4. 条件コネクタの設定

条件コネクタの設定

 上述したCloudmersive Virus Scanコネクタは、指定されたファイルをスキャンして脅威判定を行うだけであり、ウイルスの除去はしてくれません。スキャンしたファイルにウイルスが含まれていなかった場合は、実行結果の「CleanResult」で「true」の値を返します。

 そこで、次のアクションには「条件」コネクタを指定し、添付ファイルに問題がない場合(実行結果の「CleanResult」が「true」の場合)のみ、引き続きファイル保存などの処理を行うように設定します。

4-2-5. 条件コネクタ(スキャン結果がtrueの場合、falseの場合のアクション)

OneDrive for Businessコネクタの設定

 添付ファイルに問題がない場合は、OneDrive内に作成した「mail-Attachment-zip」フォルダに、メールの添付ファイルを保存します。OneDrive for Businessコネクタを検索し、「ファイルの作成」アクションを選択して、添付ファイルが元のファイル名のまま保存されるように設定します。

Excel Online (Business)コネクタの設定

 加えて、Excelのリストに受信日時やメール件名などの情報を書き込みます。次のアクションとして、「Excel Online (Business)」コネクタの「表に行を追加」を選択。記録を書き込むファイルやテーブル、書き込む内容などは上の画像を参照してください。

メールの送信(V2)コネクタの設定

 一方で、Cloudmersive Virus Scanコネクタの実行結果で「CleanResult」が「false」だった場合は、添付ファイルにウイルスなどの脅威が含まれていることになります。この添付ファイルを開くのは危険なので、ユーザーに警告メールを自動送信するよう設定しました。

カテゴリートップへ

この連載の記事