Kerberos를 사용하여 Azure Data Studio를 SQL Server에 연결
Azure Data Studio에서는 Kerberos를 사용하여 SQL Server에 연결을 지원합니다.
macOS 또는 Linux에서 통합 인증(Windows 인증)을 사용하려면 현재 사용자를 Windows 도메인 계정에 연결하는 Kerberos 티켓을 설정해야 합니다.
필수 조건
시작하려면 다음이 필요합니다.
Kerberos 도메인 컨트롤러를 쿼리하기 위해 Windows 도메인에 가입된 머신에 액세스할 수 있어야 합니다.
SQL Server는 Kerberos 인증을 허용하도록 구성되어야 합니다. Unix에서 실행되는 클라이언트 드라이버의 경우 통합 인증은 Kerberos를 사용해야만 지원됩니다. 자세한 내용은 Kerberos 통합 인증을 사용하여 SQL Server에 연결을 참조하세요. 연결하려는 SQL Server의 각 인스턴스에 대해 등록된 SPN(서비스 사용자 이름)이 있어야 합니다. 자세한 내용은 Kerberos 연결의 서비스 사용자 이름 등록을 참조하세요.
SQL Server에 Kerberos 설정이 있는지 확인
SQL Server의 호스트 컴퓨터에 로그인합니다. Windows 명령 프롬프트에서 setspn -L %COMPUTERNAME%
을 사용하여 호스트의 SPN을 모두 나열합니다. MSSQLSvc/HostName.contoso.com
로 시작하는 항목이 있는지 확인합니다. 이 항목은 SQL Server가 SPN을 등록했으며 Kerberos 인증을 허용할 준비가 되었음을 나타냅니다.
SQL Server 인스턴스 호스트에 대한 액세스 권한이 없는 경우 동일한 Active Directory에 조인된 다른 Windows OS에서 setspn -L <SQLSERVER_NETBIOS>
명령을 사용할 수 있습니다. 여기서 <SQLSERVER_NETBIOS>는 SQL Server 인스턴스 호스트의 컴퓨터 이름입니다.
Kerberos 키 배포 센터 받기
KDC(Kerberos 키 배포 센터) 구성 값을 찾습니다. Active Directory 도메인에 조인된 Windows 컴퓨터에서 다음 명령을 실행합니다.
명령줄에서 nltest
를 실행하고 "DOMAIN.CONTOSO.COM"을 도메인 이름으로 바꿉니다.
nltest /dsgetdc:DOMAIN.CONTOSO.COM
다음 샘플과 유사하게 출력됩니다.
DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully
필수 KDC 구성 값인 DC 이름을 복사합니다. 이 경우 dc-33.domain.contoso.com입니다.
OS를 Active Directory 도메인 컨트롤러에 조인
sudo apt-get install realmd krb5-user software-properties-common python-software-properties packagekit
Active Directory 도메인 컨트롤러의 IP 주소가 dns-nameserver
로 나열되도록 /etc/network/interfaces
파일을 편집합니다. 예시:
<...>
# The primary network interface
auto eth0
iface eth0 inet dhcp
dns-nameservers **<AD domain controller IP address>**
dns-search **<AD domain name>**
참고 항목
네트워크 인터페이스(eth0)는 머신마다 다를 수 있습니다. 사용 중인 인터페이스를 확인하려면 ifconfig를 실행하고 IP 주소가 있고 전송 및 수신된 바이트가 있는 인터페이스를 복사합니다.
이 파일을 편집한 후 네트워크 서비스를 다시 시작합니다.
sudo ifdown eth0 && sudo ifup eth0
이제 /etc/resolv.conf
파일에 다음과 같은 줄이 포함되어 있는지 확인합니다.
nameserver **<AD domain controller IP address>**
Active Directory 도메인에 조인:
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
예상되는 출력은 다음과 같습니다.
<...>
* Success
Ticket Granting Ticket 검색 테스트
KDC에서 TGT(Ticket Granting Ticket)를 가져옵니다.
kinit username@DOMAIN.CONTOSO.COM
klist
를 사용하여 사용 가능한 티켓을 봅니다. kinit
이 성공하면 티켓이 보입니다.
klist
예상되는 출력은 다음과 같습니다.
krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.
Azure Data Studio를 사용하여 연결
새 연결 프로필을 만듭니다.
인증 유형으로 Windows 인증을 선택합니다.
서버의 경우,
hostname.DOMAIN.CONTOSO.COM
형식의 정규화된 호스트 이름을 입력합니다.연결 프로필을 완료하고 연결을 선택합니다.
성공적으로 연결되면 서버가 서버 사이드바에 표시됩니다.