Łą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:
Dostęp do maszyny przyłączonej do domeny systemu Windows w celu wykonywania zapytań dotyczących kontrolera domeny Protokołu Kerberos.
Program SQL Server należy skonfigurować tak, aby zezwalał na uwierzytelnianie Kerberos. W przypadku sterownika klienta działającego w systemie Unix zintegrowane uwierzytelnianie jest obsługiwane tylko przy użyciu protokołu Kerberos. Aby uzyskać więcej informacji, zobacz Using Kerberos integrated authentication to connect to SQL Server (Używanie zintegrowanego uwierzytelniania Kerberos w celu nawiązania połączenia z programem SQL Server). Nazwy główne usługi (SPN) powinny być zarejestrowane dla każdego wystąpienia programu SQL Server, z którym próbujesz nawiązać połączenie. Aby uzyskać więcej informacji, zobacz Rejestrowanie głównej nazwy usługi dla połączeń Kerberos.
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
- Ubuntu
- Red Hat Enterprise Linux
- Konfigurowanie centrum dystrybucji kluczy w programie krb5.conf z systemem macOS
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
Utwórz nowy profil połączenia.
Wybierz pozycję Uwierzytelnianie systemu Windows jako typ uwierzytelniania.
W polu Serwer wprowadź w pełni kwalifikowaną nazwę hosta w formacie
hostname.DOMAIN.CONTOSO.COM
.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 .