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

Azure Data Studio는 Kerberos를 사용하여 SQL Server에 연결할 수 있도록 지원합니다.

macOS 또는 Linux에서 통합 인증(Windows 인증)을 사용하려면 현재 사용자를 Windows 도메인 계정에 연결하는 Kerberos 티켓을 설정해야 합니다.

필수 조건

시작하려면 다음이 필요합니다.

  • Windows do기본 조인 컴퓨터에 액세스하여 Kerberos do기본 컨트롤러를 쿼리합니다.

  • Kerberos 인증을 허용하도록 SQL Server를 구성해야 합니다. Unix에서 실행되는 클라이언트 드라이버의 경우 통합 인증은 Kerberos를 사용해야만 지원됩니다. 자세한 내용은 Kerberos 통합 인증을 사용하여 SQL Server에 연결하는 방법을 참조 하세요. 연결하려는 SQL Server의 각 인스턴스에 대해 등록된 SPN(서비스 사용자 이름)이 있어야 합니다. 자세한 내용은 Kerberos 연결의 서비스 사용자 이름 등록을 참조하세요.

SQL Server에 Kerberos 설정이 있는지 확인

SQL Server의 호스트 컴퓨터에 로그인합니다. Windows 명령 프롬프트에서 호스트에 대한 모든 SPN을 나열하는 데 사용합니다 setspn -L %COMPUTERNAME% . 로 시작하는 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"을 do기본 이름으로 바꿉니다.

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.do기본.contoso.com.

OS를 Active Directory do기본 컨트롤러에 조인합니다.

sudo apt-get install realmd krb5-user software-properties-common python-software-properties packagekit

Active Directory에서 /etc/network/interfaces 기본 컨트롤러의 IP 주소가 dns-nameserver나열되도록 파일을 편집합니다. 예시:

<...>
# 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

티켓 검색을 부여하는 티켓 테스트

KDC에서 TGT(티켓 부여 티켓)를 가져옵니다.

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. 연결 프로필을 완료하고 커넥트 선택합니다.

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