AD FS 문제 해결 - Microsoft Entra ID
클라우드가 성장하면서 많은 회사들이 다양한 앱과 서비스에 Microsoft Entra ID를 사용하도록 전환하고 있습니다. Microsoft Entra ID로의 페더레이션은 많은 조직에서 표준 관행이 되었습니다. 이 문서에서는 이러한 페더레이션에서 발생하는 문제 해결의 몇 가지 측면을 설명합니다. 일반 문제 해결 문서의 일부 주제는 여전히 Azure와의 페더레이션과 관련이 있는 만큼, 이 문서에서는 Microsoft Entra ID 및 AD FS 상호 작용에 대한 구체적인 내용만 중점적으로 다룹니다.
AD FS로 리디렉션
리디렉션은 Office 365와 같은 애플리케이션에 로그인하고 조직 AD FS 서버로 '리디렉션'되어 로그인할 때 발생합니다.
우선 확인해야 할 사항
리디렉션이 발생하지 않는 경우 몇 가지 확인해야 할 사항이 있습니다.
Azure Portal에 로그인하고 Microsoft Entra Connect에서 Microsoft Entra 테넌트가 페더레이션을 사용하도록 설정되어 있는지 확인합니다.
Azure Portal에서 페더레이션 옆에 있는 도메인을 클릭하여 사용자 지정 도메인이 맞는지 확인합니다.
마지막으로 DNS를 확인하고 AD FS 서버 또는 WAP 서버를 인터넷에서 볼 수 있는지 확인합니다. 이 문제를 해결하고 탐색할 수 있는지 확인합니다.
Get-MgDomain
PowerShell cmdlet을 사용할 수도 있습니다.
알 수 없는 인증 메서드 오류가 발생합니다.
Azure에서 리디렉션될 때 AuthnContext는 AD FS 또는 STS 수준에서 지원하지 않는다는 '알 수 없는 인증 메서드' 오류가 발생할 수 있습니다.
이는 Microsoft Entra ID가 인증 메서드를 적용하는 매개 변수를 사용하여 AD FS 또는 STS로 리디렉션되는 경우에 가장 일반적입니다.
인증 메서드를 적용하려면 다음 메서드 중 하나를 사용합니다.
WS-Federation의 경우 WAUTH 쿼리 문자열을 사용하여 기본 인증 메서드를 강제로 적용합니다.
SAML2.0의 경우 다음 방법을 사용합니다.
<saml:AuthnContext> <saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef> </saml:AuthnContext>
강제 인증 메서드가 잘못된 값으로 전송되거나 AD FS 또는 STS에서 해당 인증 메서드를 지원하지 않는 경우 인증되기 전에 오류 메시지가 표시됩니다.
원하는 인증 메서드 | wauth URI |
---|---|
사용자 이름 및 암호 인증 | urn:oasis:names:tc:SAML:1.0:am:password |
SSL 클라이언트 인증 | urn:ietf:rfc:2246 |
Windows 통합 인증 | urn:federation:authentication:windows |
지원되는 SAML 인증 컨텍스트 클래스
인증 방법 | 인증 컨텍스트 클래스 URI |
---|---|
사용자 이름 및 암호 | urn:oasis:names:tc:SAML:2.0:ac:classes:Password |
암호로 보호된 전송 | urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport |
TLS(전송 계층 보안) 클라이언트 | urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient |
X.509 인증서 | urn:oasis:names:tc:SAML:2.0:ac:classes:X509 |
Windows 통합 인증 | urn:federation:authentication:windows |
Kerberos | urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos |
AD FS 수준에서 인증 메서드를 지원하는지 보려면 다음을 확인합니다.
AD FS 2.0
/adfs/ls/web.config에서 인증 유형에 대한 항목이 있는지 확인합니다.
<microsoft.identityServer.web>
<localAuthenticationTypes>
<add name="Forms" page="FormsSignIn.aspx" />
<add name="Integrated" page="auth/integrated/" />
<add name="TlsClient" page="auth/sslclient/" />
<add name="Basic" page="auth/basic/" />
</localAuthenticationTypes>
AD FS 2012 R2
AD FS 관리에서 AD FS 스냅인의 인증 정책을 클릭합니다.
기본 인증 섹션에서 전역 설정 옆의 편집을 클릭합니다. 인증 정책을 마우스 오른쪽 단추로 클릭한 다음 전역 기본 인증 편집을 선택할 수도 있습니다. 또는 작업 창에서 전역 기본 인증 편집을 선택합니다.
전역 인증 정책 편집 창의 기본 탭에서 전역 인증 정책의 일부로 설정을 구성할 수 있습니다. 예를 들어 기본 인증의 경우 엑스트라넷 및 인트라넷에서 사용 가능한 인증 메서드를 선택할 수 있습니다.
**필요한 인증 메서드 확인란이 선택되어 있는지 확인합니다.
AD FS 2016
AD FS 관리에서 AD FS 스냅인의 서비스와 인증 메서드를 클릭합니다.
기본 인증 섹션에서 편집을 클릭합니다.
인증 메서드 편집 창의 기본 탭에서 인증 정책의 일부로 설정을 구성할 수 있습니다.
AD FS에서 발급한 토큰
토큰 발급 후 Microsoft Entra ID가 오류 발생
AD FS가 토큰을 발급한 후 Microsoft Entra ID에서 오류가 발생할 수 있습니다. 이 경우 다음 문제를 확인합니다.
- AD FS에서 토큰으로 발행한 클레임은 Microsoft Entra ID에서 사용자의 각 속성과 일치해야 합니다.
- Microsoft Entra ID에 대한 토큰에는 다음과 같은 필수 클레임이 포함되어야 합니다.
- WSFED:
- UPN: 이 클레임의 값은 Microsoft Entra ID에 있는 사용자의 UPN과 일치해야 합니다.
- ImmutableID: 이 클레임의 값은 Microsoft Entra ID에 있는 사용자의 sourceAnchor 또는 ImmutableID와 일치해야 합니다.
- WSFED:
Microsoft Entra ID에서 사용자 특성 값을 가져오려면 다음 명령줄을 실행합니다. Get-AzureADUser –UserPrincipalName <UPN>
- SAML 2.0:
- IDPEmail: 이 클레임의 값은 Microsoft Entra ID에 있는 사용자의 사용자 계정 이름과 일치해야 합니다.
- NAMEID: 이 클레임의 값은 Microsoft Entra ID에 있는 사용자의 sourceAnchor 또는 ImmutableID와 일치해야 합니다.
자세한 내용은 SAML 2.0 ID 공급자를 사용한 Single Sign-on 구현을 참조하세요.
AD FS와 Microsoft Entra ID 간의 토큰 서명 인증서 불일치
AD FS는 토큰 서명 인증서를 사용하여 사용자 또는 애플리케이션에 전송되는 토큰에 서명합니다. AD FS와 Microsoft Entra ID 간의 트러스트는 이 토큰 서명 인증서를 기반으로 하는 페더레이션된 트러스트입니다.
그러나 자동 인증서 롤오버 또는 일부 개입으로 인해 AD FS 측의 토큰 서명 인증서가 변경된 경우, 페더레이션 도메인에 대한 새 인증서의 세부 정보는 Microsoft Entra ID 측에서 업데이트해야 합니다. AD FS의 기본 토큰 서명 인증서가 Microsoft Entra ID와 다른 경우 AD FS에서 발급한 토큰은 Microsoft Entra ID에서 신뢰할 수 없습니다. 따라서 페더레이션된 사용자는 로그온할 수 없습니다.
이 문제를 해결하려면 Office 365 및 Microsoft Entra ID용 페더레이션 인증서 갱신에 설명된 단계를 사용할 수 있습니다.
기타 확인해야 할 일반 사항
다음은 AD FS 및 Microsoft Entra 상호 작용에 문제가 있는지 확인하는 빠른 목록입니다.
- Windows 자격 증명 관리자의 부실 또는 캐시된 자격 증명
- Office 365용 신뢰 당사자 트러스트에 구성된 보안 해시 알고리즘이 SHA1로 설정됨