Udostępnij za pośrednictwem


Łączenie programu Azure Data Studio z programem SQL Server przy użyciu protokołu Kerberos

Usługa Azure Data Studio obsługuje nawiązywanie połączenia z programem SQL Server przy użyciu protokołu Kerberos.

Aby użyć zintegrowanego uwierzytelniania (uwierzytelniania systemu Windows) w systemie macOS lub Linux, należy skonfigurować bilet protokołu Kerberos, który łączy bieżącego użytkownika z kontem domeny systemu Windows.

Wymagania wstępne

Aby rozpocząć pracę, potrzebne będą następujące elementy:

Sprawdź, czy program SQL Server ma konfigurację protokołu Kerberos

Zaloguj się na maszynie hosta programu SQL Server. W wierszu polecenia systemu Windows użyj polecenia setspn -L %COMPUTERNAME% , aby wyświetlić listę wszystkich nazw SPN dla hosta. Sprawdź, czy istnieją wpisy rozpoczynające się od MSSQLSvc/HostName.contoso.com. Te wpisy oznaczają, że program SQL Server zarejestrował nazwę SPN i jest gotowy do akceptowania uwierzytelniania Kerberos.

Jeśli nie masz dostępu do hosta wystąpienia programu SQL Server, wówczas z innego systemu operacyjnego Windows przyłączonego do tej samej usługi Active Directory można użyć polecenia setspn -L <SQLSERVER_NETBIOS>, gdzie <SQLSERVER_NETBIOS> jest nazwą komputera hosta wystąpienia programu SQL Server.

Pobieranie centrum dystrybucji kluczy Kerberos

Znajdź wartość konfiguracji centrum dystrybucji kluczy Protokołu Kerberos (KDC). Uruchom następujące polecenie na komputerze z systemem Windows przyłączonym do domeny usługi Active Directory.

Uruchom polecenie nltest z wiersza polecenia i zastąp ciąg "DOMAIN.CONTOSO.COM" nazwą domeny.

nltest /dsgetdc:DOMAIN.CONTOSO.COM

Dane wyjściowe są podobne do następujących przykładów:

DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully

Skopiuj nazwę kontrolera domeny, która jest wymaganą wartością konfiguracji centrum dystrybucji kluczy. W tym przypadku jest to dc-33.domain.contoso.com.

Dołączanie systemu operacyjnego do kontrolera domeny usługi Active Directory

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

Zmodyfikuj plik, /etc/network/interfaces aby adres IP kontrolera domeny usługi Active Directory był wyświetlany jako dns-nameserver. Na przykład:

<...>
# The primary network interface
auto eth0
iface eth0 inet dhcp
dns-nameservers **<AD domain controller IP address>**
dns-search **<AD domain name>**

Uwaga

Interfejs sieciowy (eth0) może się różnić w przypadku różnych maszyn. Aby dowiedzieć się, którego z nich używasz, uruchom polecenie ifconfig i skopiuj interfejs zawierający adres IP oraz przesłany i odebrany bajty.

Po edycji tego pliku uruchom ponownie usługę sieciową:

sudo ifdown eth0 && sudo ifup eth0

Teraz sprawdź, czy plik /etc/resolv.conf zawiera wiersz podobny do następującego:

nameserver **<AD domain controller IP address>**

Dołącz do domeny usługi Active Directory:

sudo realm join contoso.com -U 'user@CONTOSO.COM' -v

Oto oczekiwane dane wyjściowe:

<...>
* Success

Testowanie pobierania biletu przyznawania biletu

Uzyskaj bilet udzielania biletu (TGT) z centrum dystrybucji kluczy.

kinit username@DOMAIN.CONTOSO.COM

Wyświetl dostępne bilety przy użyciu polecenia klist. Jeśli operacja zakończyła kinit się pomyślnie, powinien zostać wyświetlony bilet.

klist

Oto oczekiwane dane wyjściowe:

krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.

Nawiązywanie połączenia przy użyciu narzędzia Azure Data Studio

  1. Utwórz nowy profil połączenia.

  2. Wybierz pozycję Uwierzytelnianie systemu Windows jako typ uwierzytelniania.

  3. W polu Serwer wprowadź w pełni kwalifikowaną nazwę hosta w formacie hostname.DOMAIN.CONTOSO.COM.

  4. Ukończ profil połączenia i wybierz pozycję Połącz.

Po pomyślnym nawiązaniu połączenia serwer zostanie wyświetlony na pasku bocznym SERWERY .