こんにちは、ネクストモード株式会社 テクニカルサポート担当です。
Salesforce は 2024年以降、セキュリティ強化の一環として多要素認証(MFA)を段階的に厳格化しています。この変更により、Okta などの SSO 環境では、認証プロンプトが二重に表示される問題が発生する可能性があります。
本記事では、この二重プロンプトを回避し、スムーズな SSO 体験を維持するための Okta 側の設定変更について解説します。
詳細は以下の Salesforce 公式記事を参照してください。
SSOログインにおけるデバイスの有効化(Device Activation)の変更
Okta で設定変更を行うことで、Salesforce に対してユーザーがどのような認証方法を利用したかを伝えることができます。これにより Salesforce 認証方法が定められた方法であった場合に追加の認証プロンプトを表示しなくなります。
以下の Okta のドキュメントにもとづき設定します。
OINカタログアプリがアップデートされ、以下でご紹介しているAttribute Statementsへの対応は不要となりました。すでにAttribute Statementsを設定している場合でも競合は発生しないとことです。つまり、追加したAttribute Statementsを削除してもしなくてもよいとのことです。
以下の方法はOINカタログアプリを使用しておらずカスタム構築している場合には引き続き有効な手段です。
追記は以上です。
具体的には、Salesforce アプリケーションの Authentication タブから Edit をクリックし、Attributes を開きます。
Attribute Statements に以下の値を設定します。
設定が正しく反映されているか確認するために、SAML Tracer などのブラウザ拡張機能を使用して、Okta から Salesforce へ送信される SAML レスポンスを観測することができます。
SAML レスポンス内の Attribute Statement に AMR 属性が含まれ、session.amr の値(例:pwd、mfa など)が正しく送信されていることを確認してください。
これにより、Salesforce 側でユーザーの認証方法が正しく認識され、二重プロンプトが回避されていることを確認できます。
例えば Okta FastPass で認証を行った場合は以下のように phr と okta_verify が確認できます。
冒頭の Salesforce のドキュメントでは okta_verify が含まれていれば二重プロンプトは発生しない旨が記載されていますので、安心できますね。
本記事では、Salesforce のセキュリティ強化に伴う二重プロンプトの問題と、Okta 側で AMR 属性を設定することでこれを回避する方法について解説しました。
今後、Salesforce のように IdP 側でユーザーの認証方法を詳細に確認し、それに応じたセキュリティポリシーを適用するニーズは、さらに増加していくことが予想されます。多要素認証の普及とともに、SSO 環境においても認証強度の可視化と制御が重要になってきています。
この記事が、同様の課題に直面されている方々の一助となれば幸いです。