개요
많은 조직에서 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은(는) 하나의 값을 갖습니다.
- 클레임 값:
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은(는) 두 개의 값을 포함합니다.
- 클레임 값:
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가 완료되었는지 여부를 판단하는 데 필요한 세부 정보를 얻을 수 있습니다.
조직에서 이를 구현하거나 파트너 또는 공급업체와 공유해야 하는 경우 위에 설명된 해당 클레임 값을 참조하도록 안내하기만 하면 됩니다.