Windows 인증을 사용하여 연결된 서버를 작동 시키려면 어떻게해야합니까?


20

도메인 환경에서 "로그인의 현재 보안 컨텍스트를 사용하여 작성"을 사용하는 다른 서버 인 ServerB에 연결된 서버를 연결하려고합니다. Kerberos를 사용하려면 각 서버에서 SQL Server를 실행하는 서비스 계정에 대해 SPN을 만들어야한다고 읽었습니다. 나는 그것을했고 지금은 인증 체계가 Kerberos임을 보여 주지만 여전히 오류에 직면하고 있습니다.

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

Active Directory에서 ServerB의 서비스 계정이 MSSQLSvc에 대한 위임을 위해 신뢰할 수 있음을 알 수 있지만 ServerA의 서비스 계정에서 "이 위임을 위해이 사용자를 트러스트"할 수는 없습니다. 대상 서버에서도 해당 옵션을 활성화해야합니까? 연결된 서버를 사용하기 위해 현재 Windows 로그인을 사용할 수있는 다른 것이 있습니까?

답변:


22

데스크탑에서 호출하는 서버까지의 체인에있는 모든 시스템은 트러스트가 첫 번째 홉을 지나서 진행되도록 Kerberos를 활성화해야합니다. 따라서 서버는 위임을 위해 사용자를 신뢰해야합니다.

" 'NT AUTHORITY \ ANONYMOUS LOGON 사용자 로그인 실패'는 거의 항상 위임 문제를 나타냅니다.

  • Windows 계정은 ServerA와 ServerB에 모두 액세스 할 수 있어야합니다.
  • "계정이 민감하고 위임 할 수 없습니다"설정이 없어야합니다.
  • ServerA와 ServerB 모두 자체 SPN이 등록되어 있어야합니다.
  • 서버는 TCP / IP 또는 명명 된 파이프가 연결되어 있어야합니다.

보다 자세한 내용을 제공하는 SQL Server 온라인 설명서는 "위임을위한 연결된 서버 구성"입니다. http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx


1
SPN 및 Kerberos에 대한 자세한 내용을 제공하는 유용한 MSDN 블로그
Jan Zahradník

또한 어느 서버 에나 DNS 별칭을 사용하고 있는지 확인하고 SPN이 일치해야합니다.
그렉

-1

여기 두 가지 :

  1. 로컬 서버 로그인을 원격 서버에 매핑하지 않고 연결된 서버를 사용하는 경우 원격 컴퓨터에 로그인하지 말고 Windows 로그인을 사용하여 스크립트를 실행하십시오. 이중 홉 문제는 가장을 사용하기 때문에 실행됩니다.

  2. 또한 통신을 위해 DCOMCNFG를 통해 로컬 DTC를 설정해야합니다. 첨부 된 그림을 참조하십시오.

(DCOMCNFG-> 구성 요소 서비스-> 컴퓨터-> 내 컴퓨터-> 분산 트랜잭션 코디네이터-> LocalDTC-> 특성-> 보안)

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.