SQL Server에 Kerberos 인증 사용

SQL Server에서 Kerberos 인증을 사용하려면 다음 조건 중 하나에 해당해야 합니다.

  • 클라이언트 및 서버 컴퓨터는 동일한 Windows 도메인이나 트러스트된 도메인의 일부여야 합니다.

  • SPN(서비스 사용자 이름)은 Windows 도메인에서 키 배포 센터 역할을 가정하는 Active Directory에 등록해야 합니다. SPN은 등록된 후에, SQL Server 인스턴스 서비스를 시작하는 Windows 계정에 매핑됩니다. SPN 등록이 수행되지 않았거나 실패하면 Windows 보안 계층이 SPN과 연결된 계층을 결정할 수 없고 Kerberos 인증이 사용되지 않습니다.

    [!참고]

    서버가 SPN을 자동으로 등록할 수 없으면 SPN을 수동으로 등록해야 합니다.

sys.dm_exec_connections 동적 관리 뷰를 쿼리하여 연결에 Kerberos가 사용되는지 확인할 수 있습니다. 다음 쿼리를 실행하고, Kerberos를 사용할 수 있을 경우 "KERBEROS"가 되는 auth_scheme 열의 값을 확인하십시오.

SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid ;

인증에서 SPN의 역할

인증이 연결을 열고 Windows 인증을 사용할 경우 SQL Server Native Client는 SQL Server 서버 이름, 인스턴스 이름 및 필요에 따라 SPN을 전달합니다. 연결이 SPN을 전달하면 변경 사항 없이 사용됩니다.

연결이 SPN을 전달하지 않으면 기본 SPN이 사용된 프로토콜, 서버 이름 및 인스턴스 이름에 따라 구성됩니다.

위의 두 시나리오에서 SPN은 키 배포 센터에 전달되어 연결 인증을 위한 보안 토큰을 가져옵니다. 보안 토큰을 가져올 수 없으면 인증이 NTLM을 사용합니다.