概要
多くの組織から、SAML レスポンスや OAuth トークンなどのセキュリティ トークン内のクレームに基づいて、ユーザーが多要素認証 (MFA) を完了したかどうかを判断できるかという質問が寄せられています。この記事では、Entra ID (旧称 Azure AD) がセキュリティ トークンにこの情報を含める方法と、ユースケースに応じて確認する方法について説明します。
認証クレームについて理解する
SAML と OAuth の認証クレーム
- SAML トークン:Entra ID はクレーム名
http://schemas.microsoft.com/claims/authnmethodsreferencesを使用して、サインイン プロセス中に使用された認証方法を示します。 - OAuth トークン:
amr(Authentication Methods References) の値を使用して、OAuth トークン内の認証方法を指定します。
Entra ID の構成
朗報として、Entra ID にはクレームhttp://schemas.microsoft.com/claims/authnmethodsreferencesが既定で含まれており、MFA が完了したかどうかを示します。Entra ID 側での追加の構成は必要ありません。
セキュリティ トークン内の MFA クレームを確認する方法
ケース 1:パスワードのみでサインインした場合 (MFA なし)
ユーザーがパスワードのみを使用してサインインした場合 (MFA なし)、クレームhttp://schemas.microsoft.com/claims/authnmethodsreferencesには 1 つの値だけが含まれます:
- クレーム値:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password
トークン内のクレームの例:
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
</Attribute>
ケース 2:パスワードと MFA でサインインした場合
ユーザーがパスワードと MFA の両方を使用してサインインした場合 (認証アプリやその他の確認方法など)、クレームhttp://schemas.microsoft.com/claims/authnmethodsreferencesには 2 つの値が含まれます:
- クレーム値:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/passwordhttp://schemas.microsoft.com/claims/multipleauthn
トークン内のクレームの例:
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
<AttributeValue>http://schemas.microsoft.com/claims/multipleauthn</AttributeValue>
</Attribute>
MFA の完了を確認する方法
MFA が完了したかどうかを確認するには、http://schemas.microsoft.com/claims/multipleauthn値がクレーム名http://schemas.microsoft.com/claims/authnmethodsreferencesの下に存在するかどうかを確認するだけです。
- 値が存在する場合:MFA は完了しています。
- 値が存在しない場合:ユーザーはパスワードのみでサインインしています。
なぜこれが重要なのか
セキュリティ トークン内のクレームを確認することで、認証時に MFA が適用されたかどうかをプログラムで確認できます。これは、セキュリティ ポリシーへの準拠を確保する必要がある組織や、MFA 検証を必要とするサードパーティ ベンダーと統合する組織にとって特に有用です。
まとめ
Entra ID は、必要な情報を既定で含めることで、セキュリティ トークン内の MFA クレームの確認を簡単に行えるようにしています。SAML トークンでも OAuth トークンでも、クレームhttp://schemas.microsoft.com/claims/authnmethodsreferencesによって、ユーザーのサインイン プロセス中に MFA が完了したかどうかを判断するために必要な詳細が得られます。
組織内でこれを実装する場合や、パートナーまたはベンダーと共有する必要がある場合は、上記で説明した該当するクレーム値を参照してもらうだけです。