다음을 통해 공유


Azure SQL Managed Instance의 Microsoft Entra 보안 주체에 대한 Windows 인증 문제 해결

이 문서에는 Microsoft Entra ID(이전의 Azure Active Directory)에서 Windows 인증 보안 주체를 구현할 때 사용할 문제 해결 단계가 포함되어 있습니다.

참고 항목

Microsoft Entra ID는 이전에 Azure AD(Azure Active Directory)로 알려졌습니다.

티켓이 캐시되는지 확인

klist 명령을 사용하여 현재 캐시된 Kerberos 티켓 목록을 표시합니다.

klist get krbtgt 명령은 온-프레미스 Active Directory 영역에서 티켓을 반환해야 합니다.

klist get krbtgt/kerberos.microsoftonline.com

klist get MSSQLSvc 명령은 SPN(서비스 사용자 이름)이 있는 kerberos.microsoftonline.com 영역에서 MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433로 티켓을 반환해야 합니다.

klist get MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433

다음은 잘 알려진 몇 가지 오류 코드입니다.

  • 0x6fb: SQL SPN을 찾을 수 없음 - 유효한 SPN을 입력했는지 확인합니다. 들어오는 신뢰 기반 인증 흐름을 구현한 경우 단계를 다시 검토하여 모든 구성 단계를 수행했는지 확인하도록 Microsoft Entra Kerberos 신뢰할 수 있는 도메인 개체를 만들고 구성합니다.

  • 0x51f - 이 오류는 Fiddler 도구와의 충돌과 관련이 있습니다. 문제를 완화하려면 다음 단계를 따릅니다.

    1. netsh winhttp reset autoproxy을 실행합니다.
    2. netsh winhttp reset proxy을 실행합니다.
    3. Windows 레지스트리에서 Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\iphlpsvc\Parameters\ProxyMgr을 찾아서 :8888 포트 구성이 있는 하위 엔트리를 삭제합니다.
    4. 컴퓨터를 다시 시작하고 Windows 인증을 사용하여 다시 시도
  • 0x52f - 참조된 사용자 이름 및 인증 정보가 유효하지만 일부 사용자 계정 제한으로 인해 인증에 성공하지 못했음을 나타냅니다. 이러한 문제는 Microsoft Entra 조건부 액세스 정책이 구성된 경우에 발생할 수 있습니다. 이 문제를 완화하려면 조건부 액세스 규칙에서 Azure SQL Managed Instance 서비스 주체(<instance name> principal) 애플리케이션을 제외해야 합니다.

메시지 흐름 오류 조사

Wireshark 또는 선택한 네트워크 트래픽 분석기를 사용하여 클라이언트와 온-프레미스 Kerberos KDC(키 배포 센터) 간의 트래픽을 모니터링합니다.

Wireshark를 사용하는 경우 다음과 같은 작업이 필요합니다.

  • AS-REQ: Client => 온-프레미스 KDC => 온-프레미스 TGT를 반환합니다.
  • TGS-REQ: Client => 온-프레미스 KDC =>kerberos.microsoftonline.com에 대한 조회를 반환합니다.

연결 풀링

연결 풀링을 사용하도록 설정하면 드라이버는 SQL 연결을 닫는 대신 다시 사용할 수 있도록 풀에서 열어 두어 SQL 연결을 관리합니다. 이로 인해 보안 캐시 무효화 후 연결이 다시 사용되어 Kerberos 티켓유효성이 다시 검사되는 시나리오가 발생할 수 있습니다. 연결이 5분 이상 풀에 있는 경우 티켓이 만료된 것으로 처리되어 연결이 실패합니다. 이를 방지하려면 연결 문자열 연결 수명을 5분 미만으로 설정합니다. 이렇게 변경하면 지정된 수명보다 오래된 연결이 풀에서 다시 사용되지 않습니다.

Azure SQL Managed Instance에서 Microsoft Entra 보안 주체에 대한 Windows 인증 구현에 대해 자세히 알아봅니다.