※注意:この記事は投稿時点の情報、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を実装
設定方法
権限セットの場合
システム権限から「ユーザインターフェースログインの多要素認証」にチェックを入れた権限セットを作成し、ユーザに割り当てる。プロファイルの場合
一般ユーザ権限にある「ユーザインターフェースログインの多要素認証」にチェックを入れる。
結果
MFA必須化対象のログイン方法のみMFAが必要になりました。
- ユーザインターフェースからのログイン:MFA必要
- API(DataLoader)からのログイン:MFA不要
- SSOでのログイン*1:MFA不要
プロファイルの「セッションの設定」でMFAを実装
設定方法
プロファイルの設定にて、「セッションの設定」セクションにある「ログインに必要なセッションセキュリティレベル」を「高保証」に設定します。
合わせて、セッションの設定画面で「セッションセキュリティレベル」の高保証に「多要素認証」を追加します。
結果
ユーザインターフェースからのログインの他、API、SSO経由のログインもMFAが必要となりました。
- ユーザインターフェースからのログイン:MFA必要
- API(DataLoader)からのログイン:MFA必要
- SSOでのログイン:MFA必要
おわりに
MFA必須化を実際に試す場合、現時点では「ユーザインターフェースログインの多要素認証」権限の割り当てが必須化対象に沿っており、最適だと思います。
なお、標準プロファイルでは権限変更ができないため、権限セットでの割り当てが必須となりますので注意です。
*1:SSOログインの検証はTrailhead: 内部ユーザのシングルサインオンの設定の手順にて実施。以下同様。