tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:MFA ダッシュボードアプリケーションを使った多要素認証設定の運用管理について

2022 年2月頃にSalesforceアカウントを利用の際にはMFA(多要素認証)の有効化を行うことがルール化されました。

Help And Training Community


現在は特別なケースを除きプロファイル設定で多要素認証の利用がONになっていますので、Salesforceユーザは初回ログインでユーザIDとパスワードを設定した次のログインから多要素認証未設定の場合に自動で設定ページが表示されるようになっていると思います。(運用的には初回ログイン時の際に必要な設定として案内するのが適切な流れです。)


そのため、ユーザIDとパスワードを使ったログインという運用であれば未設定ユーザは基本発生しない形になります。ただし、シングルサインオン(SSO)によるログインを有効化している組織の場合は少し異なります。SSOログインについては多要素認証の操作はスキップされるようになっています。SSO側のシステムでセキュリティ担保される想定のためという理由からです。


SSO時の多要素認証スキップ自体は何も問題はありませんが、この件での考慮点としては多要素認証未設定のユーザが発生することです。


通常のSalesforceの初回ログインは、アカウント作成のお知らせメールが届き、メール本文のリンクをクリック、パスワードを設定という流れになります。で二回目のユーザIDとパスワードを使ったログインで、多要素認証が未設定のままだった際に設定画面が表示され必ず設定するように誘導されます。SSOログインが有効化されている場合、メールの初回ログインを行わないままSSOログインでSalesforceの利用を開始し、2回目以降のログインもSSOログインを利用することで多要素認証設定画面を表示しないままSalesforceを利用できる感じとなってしまいます。


そのため、定期的に多要素認証が未設定のままのユーザがいないかをチェックする運用が必要となります。

MFA 使用状況の監視 (Salesforce Platform で構築された製品)


未設定ユーザのチェックで便利なのがAppExchangeで公開されている「MFA ダッシュボードアプリケーション」です。各ユーザがMFAを有効化しているかといった情報やログイン時の手段を可視化できます。

Multi-Factor Authentication Dashboard


インストールするとレポート・ダッシュボードが利用可能になります。管理者向けの情報なのでアクセス権限は管理者ユーザのみとなるように設定します。

レポート


ダッシュボード


利用するのはダッシュボードの方です。(Developer Edtion組織だとサンプルになるデータがありませんでした。)


初期設定の内容が少し使いづらい印象になる場合は少しカスタマイズします。とりあえず情報量が多すぎてもチェックが大変なだけなので重要度の低いグラフは除外します。個人的にby Countryと by Cityはモニタリング不要な情報にだと思うので削除して支障は無いと思ってます。この変更でノートPCサイズでも1画面に収まる感じとなります。


カスタマイズ時の考慮点

ダッシュボードをコピーして自社向けにカスタマイズしたダッシュボードを用意する形が良いかもしれません。
編集ではなくコピーする理由はAppExchangeのレポートダッシュボードのオリジナルは基本そのまま残しておくと何かあったときに復旧作業で困らないという点からです。
(あまり気にせずオリジナルダッシュボードを変更したら戻せなくてちょっと焦ったことがあります。)

Multi-Factor Authentication (MFA) Dashboardの見方

Verification Challenges by Activity

ログイン操作に関するユーザアクティビティが表示されます。横棒グラフで表示されて以下のような情報が確認できます。

  • Salesforceへのログイン
  • 接続アプリケーションにアクセス
  • Lightning Loginに登録
  • ワンタイムパスワードジェネレータを接続
  • Salesforce Authenticatorを接続


ログイン人数ではなく、ログイン回数ベースで集計され、SSOログインはSalesforceへのログインにカウントされるようです。ログイン時の手段として何が使われているかを確認するのに役立ちます。


Users with Salesforce Authenticator

MFA操作で使用するアプリケーションとしてSalesforce Authenticatorモバイルアプリケーションを使用している件数を表示できます。左側のゲージグラフは単純に利用しているユーザ数が表示されます。右側の円グラフは利用している場合はtrue。他社の認証アプリを利用している場合はfalseとして表示されます。グラフのtrue または falseの部分をクリックすると対象のユーザ一覧が表示できます。


Salesforce AuthenticatorでもGoogleやその他のMFAアプリケーションでもどちらを利用しても基本支障はありませんが、社内ルールでこのアプリを使用すると決まっている場合は、ルールどおりに運用されているかの確認に使えるグラフとなっています。

Users with One-Time Password Generator Apps

一つ前の「Users with Salesforce Authenticator」の逆表示のグラフです。Salesforce Authenticator利用がfalse、Googleなど他社製アプリの利用がtrueとなります。除外するほどでも無いけどそこまで重要度はなさそう。

Users with Temporary Verification Codes

多要素認証有効化後、認証作業にはモバイルアプリが必要になりますが、うっかり携帯電話を忘れてしまった場合にログイン操作ができなくなります。そんなときは管理者ユーザが「仮の確認コード (1 ~ 24 時間後に有効期限切れ)」を発行して、その日、一日は確認コードでログインできるようにして対処します。この確認コードの利用状況をこのグラフで可視化できます。


以上がMFAダッシュボードの基本的な使い方です。デフォルトで用意されたダッシュボードでもチェックできることはいろいろありますが、もっとピンポイントに未設定のユーザをチェックできるようにすることが可能です。

MFA未設定ユーザの可視化

AppExchangeインストールで利用可能になると思うのですが、レポートタイプ「ID 検証方法」をつかってレポートを作成できます。(ダッシュボードの元になったレポートはこのレポートタイプを使っています。)


時間ベースのワンタイムパスワードアプリケーション項目とSalesforce Authenticator項目がMFAアプリの利用状況です。両方とも false の場合は未設定のユーザと判断して問題ないと思います。なので次のように条件指定すると未設定ユーザの抽出が可能です。(ここから更に特定条件のユーザは対象外にするような条件を追加していくことも可能です。)


また、作成したレポートはダッシュボード利用のためグルーピングが必要です。使える項目が限られているのですが、プロファイル名でグルーピングするのが良いと思います。


条件を逆転させればMFA有効済みのユーザのレポートも用意できます。正確にはどちらかのアプリ利用がtrueの場合なので、OR条件での判別となります。


MFA未設定ユーザとMFA有効ユーザのレポートができたら先程のダッシュボードに追加します。

未設定ユーザの人数を表示 (0じゃなかったら対応が必要)


有効ユーザの人数を表示 (ただの参考情報)


テーブル型グラフでリスト表示

この機能で表形式で未設定ユーザの一覧化。


・・・と紹介したかったのですがなぜかエラーが。(去年やったときにはできたのになんで...)


本当は右側部分にテーブルコンポーネントで一覧表示する形で完成という予定でしたが、なんかエラーになるので省略。


こんな感じでカスタマイズするとMFA設定状況のモニタリングで役立つと思います。表形式がエラーになったのは想定外。昔作ったダッシュボードでは引き続き動作していたけど、今後はつくれないのか一時的な問題によるエラーなのか。一応件数グラフのレポートリンクからレポートアクセスして対象ユーザはチェックできるので必要な情報の確認自体には困らないと思います。


今回のMFAダッシュボードアプリケーションは、昨年の有効化ルール開始の際に参考情報としてい一時的に使ってみようという感覚で利用を開始しましたが、それ以降も役立つダッシュボードでした。SSOログインは便利機能でしが、Salesforceのログインページを通らないことで多要素認証の有効化作業が未実施のままのユーザがけっこうでてきます。有効化ルール開始して、一安心というわけでなく引き続き適切な運用がされているかのチェックは必要になるので、Salesforce LabsのMFAダッシュボードは役に立つと思います。