CookBook

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

投稿日:

この 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

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

関連記事

no image

スクリプト開発でのストアドプロシージャの実行方法

intra-mart Accel Platform 2017 Winter(8.0.18) より SharedDatabase, TenantDatabase に executeCallable AP …

no image

IM-BloomMaker サイドメニューの使い方

このCookBookでは、2020 Summer から利用可能になったサイドメニューエレメントの使い方について紹介しています。 エレメントの概要 サイドメニューエレメントは、「intra-mart A …

no image

Formaの実行画面でアクセスログを収集する

このCookBookでは、Formaの実行画面で、アクセスログを収集する方法を紹介します。 サンプルでは、登録画面を開いた時点とデータ登録を実行した時点で、ログを収集します。 ログを収集することで、登 …

no image

IM-LogicDesigner「繰り返し」「分岐」EL式の定義例

このCookBookでは、IM-LogicDesignerの「条件分岐」「繰り返し」制御要素の条件で利用するEL式について定義例を紹介しています。 ここでは主に「 IM-LogicDesigner上で …

no image

Forma標準アプリとIM-LogicDesignerを利用してBISワークフローの一括承認画面を作成する

このCookBookでは、Forma標準アプリとLogicDesignerを利用して、BISワークフローの一括承認画面を作成する方法を紹介します。 完成イメージ ① 承認を実施するフローとノードを設定 …

RSSRSSRSSRSS