다음을 통해 공유


Kerberos를 사용하여 Azure Data Studio를 SQL Server에 연결

Azure Data Studio에서는 Kerberos를 사용하여 SQL Server에 연결을 지원합니다.

macOS 또는 Linux에서 통합 인증(Windows 인증)을 사용하려면 현재 사용자를 Windows 도메인 계정에 연결하는 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를 사용하여 연결

  1. 새 연결 프로필을 만듭니다.

  2. 인증 유형으로 Windows 인증을 선택합니다.

  3. 서버의 경우, hostname.DOMAIN.CONTOSO.COM 형식의 정규화된 호스트 이름을 입력합니다.

  4. 연결 프로필을 완료하고 연결을 선택합니다.

성공적으로 연결되면 서버가 서버 사이드바에 표시됩니다.