CookBook

多要素認証(MFA)のバックアップコードを生成していないユーザに通知を送る方法

投稿日:2020-08-18 更新日:

この CookBook では、多要素認証のバックアップコードを生成していないユーザに通知を送る方法について紹介しています。

多要素認証では Google Authenticator を用いて認証を行いますが、端末を紛失するなどして端末が手元にない場合バックアップコードを用いてログインすることが可能です。
このバックアップコードを生成していない場合、ログインできなくなってしまうため、バックアップコードを生成していないユーザに対して生成を促すメールを送信する仕組みをご紹介します。

完成イメージ

以下の完成サンプルをダウンロードしてご活用ください。

LogicDesigner インポートファイル : im_cookbook_151802_im_logicdesigner-data.zip

レシピ

  1. SQLユーザ定義を作成します。
  2. テンプレートユーザ定義を作成します。
  3. フローを作成します。
  4. ジョブスケジューラに登録します。

1. SQLユーザ定義を作成します。

  1. 「Site map」→「LogicDesigner」→「SQL Definition Create Newly」より「SQL Definition Edit」画面を表示します。
  2. 以下のように入力します。
    項目
    User Definition ID im_cookbook_151802_user_sql
    User Definition Name Standard im_cookbook_151802_user_sql
    User Category ID im_cookbook_user
    User Category Name ユーザカテゴリ CookBook
  3. Query は以下のように入力します。

バックアップコードを生成していないユーザ(immfa_backup_cd にレコードが登録されていないユーザ)、かつ email_address1 が登録されているユーザのリストを抽出しています。

上記以外の項目はデフォルト値で構いません。

2. テンプレートユーザ定義を作成します。

  1. 「Site map」→「LogicDesigner」→「Template Definition Create Newly」より「Template Definition Edit」画面を表示します。
  2. 以下のように入力します。
    項目
    User Definition ID im_cookbook_151802_user_template
    User Definition Name Standard im_cookbook_151802_user_template
    User Category ID im_cookbook_user
    User Category Name ユーザカテゴリ CookBook
  3. Template Definition - Standard は以下のように入力します。

ここで設定した文字列がメールの本文として送信されます。

上記以外の項目はデフォルト値で構いません。

3. フローを作成します。

  1. 「Site map」→「LogicDesigner」→「Flow Definition List」→「Create new」より「Logic Flow Definition Edit」画面を表示します。
  2. 画面左側に表示されているパレットの「ユーザカテゴリ CookBook」より「im_cookbook_151802_user_sql」を配置します。
  3. 同様に、画面左側に表示されているパレットの「ユーザカテゴリ CookBook」より「im_cookbook_151802_user_template」を配置します。
  4. 画面左側に表示されているパレットの「Base」より「Loop Start」を配置します。
  5. 画面左側に表示されているパレットの「Base」より「Variable Operation」を配置します。
  6. 画面左側に表示されているパレットの「Base」より「Loop End」を配置します。
  7. 画面左側に表示されているパレットの「Generic Tasks」より「Text Mail Send」を配置します。
  8. ステップ 2 ~ 7 で配置した各タスクを、「Start」と「End」とつなげます。
  9. Variable Settings をクリックし、以下の変数を設定します。
    変数名 備考
    targets string[] メールの送信先アドレスを設定する変数です
  10. Constant Settings をクリックし、以下の定数を設定します。

    Constant ID Constant Value 備考
    from not_reply@example.com メールの送信元アドレスを設定します
    locale ja メール本文のロケールを設定します
    subject バックアップコードを生成してください メールのタイトルを設定します
  11. タスク「im_cookbook_151802_user_template1」をダブルクリックし、下図のようにマッピングを設定します。

  12. タスク「im_startLoop1」をクリックし、Loop Target に「im_cookbook_151802_user_sql1/records」を設定します。
  13. タスク「im_variableOperation1」をダブルクリックし、下図のようにマッピングを設定します。
  14. タスク「im_sendTextMail1」をダブルクリックし、下図のようにマッピングを設定します。
  15. Save をクリックし、以下のように入力します。
    入力項目 入力値
    Flow Definition Name Standard im_cookbook_151802_flow
    Flow Category ID im_cookbook_flow
    Flow Category Name フローカテゴリ CookBook

3. ジョブスケジューラに登録します。

  1. 「Site map」→「Job maintenance」→「Jobnet settings」より「Jobnet management」画面を表示します。
  2. 「Create new jobnet」をクリックします。
  3. 下表のように入力し「Add Job」をクリックします。
    入力項目 入力値
    Jobnet ID im_cookbook_151802_jobnet
    Jobnet name im_cookbook_151802_jobnet


4. 「Flow Execution」を選択し「Decide」をクリックします。

5. 「Add parameter」をクリックし、下表のように入力し、「Insert new」をクリックします。

入力項目 入力値
flow_id im_cookbook_151802_flow


6. 「Hour specification」を選択し、「12」を入力し「Decide」をクリックします。

7. 「Available」をチェックし、「Newly Create」をクリックして、ジョブネットを作成します。

これで、毎日 12 時にジョブが実行され、フローが実行されます。
ジョブスケジューラから LogicDesigner を呼び出す詳細についてはジョブを利用したロジックフローの実行を参照してください。

このように、LogicDesigner/ジョブスケジューラ を利用することで、定期的にバックアップコードを生成していないユーザに対して通知を送ることが可能です。
是非ご活用ください。

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法

このCookBookでは、スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法について紹介しています。 IM-FormaDesignerの実行画面から直接、画面アイテム「スプレッド …

「ラベル〇にジャンプする」と「ラベル〇」の利用方法

intra-mart Accel Platform 2019 Summerで追加された以下のアクションアイテムについて紹介します。 ラベル〇へジャンプする ラベル〇 これらのアクションアイテムによって …

FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法

このCookBookでは、FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法をご紹介します。 サンプルでは、スプレッドシート・グリッドテーブル・明細テーブルを使用し …

no image

IM-BloomMaker 異なるコンテンツ間でアクションをコピーする方法

この CookBook では intra-mart Accel Platform 2021 Winter から利用可能になったアクションの複製機能を使用して、異なるコンテンツ間でアクションをコピーする …

スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法

このCookBookでは、スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法について紹介しています。 Formaの入力チェックプログラムでは以下の2つのチェッ …