Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Salesforceの多要素認証(MFA)必須化に合わせるための設定

※注意:この記事は投稿時点の情報、Salesforce動作に沿って記載しています。
SSOログインに対する多要素認証の扱いなど、現在のSalesforce公開情報とは異なる場合がございます。ご了承ください。

はじめに

今年2月に発表された、2022/2/1からのSalesforceログイン時多要素認証(MFA)必須化。

Salesforce ヘルプ:Salesforce 多要素認証に関する FAQ より

顧客は MFA を有効化する必要がありますか?
2022 年 2 月 1 日以降、すべての Salesforce 製品では MFA の有効化が必須になります。

Salesforce ヘルプ:Salesforce 多要素認証に関する FAQ では、ログイン時にMFAが必要なのは内部ユーザがユーザインターフェース ( https://login.salesforce.com からのログインやSalesforceモバイルアプリケーションからのログインなど )からログインする場合のみ、となっており、DataLoaderなどのAPIログインやSSOによるログインは必須化対象外となっております。

さて、実際にログイン時のMFAを有効化するにあたり、Salesforce ヘルプ:多要素認証ログイン要件の設定 ではユーザ権限とプロファイルのセッションの設定を変更する、2通りの実装方法が記載されております。

ユーザ権限
「ユーザインターフェースログインの多要素認証」権限をコピーしたユーザプロファイルまたは権限セットに割り当てます。

プロファイルベースのポリシー
デフォルトでは、ログイン時のセッションセキュリティ要件のプロファイル設定は [なし] になっています。プロファイルの [セッションの設定] を編集して要件を [高保証] に変更できます。[高保証] 要件が設定されたプロファイルユーザが、高保証ではなく標準レベルのセキュリティのログイン方法を使用すると、MFA を使用して ID を検証するように求められます。

これを見て、「なぜ2通り記載しているんだろう…どちらかでよいのでは?」と思い、実際の動作を検証してみました。

MFA設定と動作確認

ユーザ権限でMFAを実装

設定方法
  • 権限セットの場合
    システム権限から「ユーザインターフェースログインの多要素認証」にチェックを入れた権限セットを作成し、ユーザに割り当てる。

    f:id:mark-hammer:20210222014942p:plain
    権限セット設定箇所

  • プロファイルの場合
    一般ユーザ権限にある「ユーザインターフェースログインの多要素認証」にチェックを入れる。

    f:id:mark-hammer:20210222015719p:plain
    プロファイル設定箇所

結果

MFA必須化対象のログイン方法のみMFAが必要になりました。

  • ユーザインターフェースからのログイン:MFA必要
  • API(DataLoader)からのログイン:MFA不要
  • SSOでのログイン*1:MFA不要

プロファイルの「セッションの設定」でMFAを実装

設定方法

プロファイルの設定にて、「セッションの設定」セクションにある「ログインに必要なセッションセキュリティレベル」を「高保証」に設定します。

f:id:mark-hammer:20210222015446p:plain
プロファイル設定画面

合わせて、セッションの設定画面で「セッションセキュリティレベル」の高保証に「多要素認証」を追加します。

f:id:mark-hammer:20210222015403p:plain
セッションの設定画面

結果

ユーザインターフェースからのログインの他、API、SSO経由のログインもMFAが必要となりました。

  • ユーザインターフェースからのログイン:MFA必要
  • API(DataLoader)からのログイン:MFA必要
  • SSOでのログイン:MFA必要

おわりに

MFA必須化を実際に試す場合、現時点では「ユーザインターフェースログインの多要素認証」権限の割り当てが必須化対象に沿っており、最適だと思います。
なお、標準プロファイルでは権限変更ができないため、権限セットでの割り当てが必須となりますので注意です。

*1:SSOログインの検証はTrailhead: 内部ユーザのシングルサインオンの設定の手順にて実施。以下同様。