Herstellen einer Verbindung von Azure Data Studio zu SQL Server über Kerberos
Azure Data Studio unterstützt das Herstellen der Verbindung mit SQL Server mithilfe von Kerberos.
Um die integrierte Authentifizierung (Windows-Authentifizierung) unter macOS oder Linux verwenden zu können, müssen Sie ein Kerberos-Ticket einrichten, mit dem Ihr aktueller Benutzer mit einem Windows-Domänenkonto verknüpft wird.
Voraussetzungen
Zunächst benötigen Sie Folgendes:
Zugriff auf einen in die Windows-Domäne eingebundenen Computer, um den Kerberos-Domänencontroller abzufragen.
SQL Server sollte so konfiguriert werden, dass die Kerberos-Authentifizierung zulässig ist. Für den Clienttreiber, der unter UNIX ausgeführt wird, wird die integrierte Authentifizierung nur mit Kerberos unterstützt. Weitere Informationen finden Sie unter Verwenden der integrierten Kerberos-Authentifizierung für Verbindungen mit SQL Server. Für jede Instanz von SQL Server, mit der Sie eine Verbindung herstellen möchten, müssen Dienstprinzipalnamen (SPNs, Server Principal Names) registriert sein. Weitere Informationen finden Sie unter Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen.
Überprüfen, ob SQL Server ein Kerberos-Setup aufweist
Melden Sie sich beim Hostcomputer von SQL Server an. Verwenden Sie an der Windows-Eingabeaufforderung setspn -L %COMPUTERNAME%
, um alle SPNs für den Host aufzulisten. Überprüfen Sie, ob Einträge vorhanden sind, die mit MSSQLSvc/HostName.contoso.com
beginnen. Diese Einträge bedeuten, dass SQL Server einen Dienstprinzipalnamen registriert hat und bereit ist, die Kerberos-Authentifizierung zu akzeptieren.
Falls Sie keinen Zugriff auf den Host der SQL Server-Instanz haben, können Sie von einem anderen Windows-Betriebssystem aus, das mit der gleichen Active Directory-Instanz verknüpft ist, den Befehl setspn -L <SQLSERVER_NETBIOS>
verwenden, wobei <SQLSERVER_NETBIOS> der Computername des Hosts der SQL Server-Instanz ist.
Abrufen des Kerberos-Schlüsselverteilungscenters
Suchen Sie den Kerberos-KDC-Konfigurationswert (Key Distribution Center, Schlüsselverteilungscenter). Führen Sie den folgenden Befehl auf einem Windows-Computer aus, der mit Ihrer Active Directory-Domäne verknüpft ist:
Führen Sie nltest
an der Befehlszeile aus, und ersetzen Sie „DOMAIN.CONTOSO.COM“ durch den Namen Ihrer Domäne.
nltest /dsgetdc:DOMAIN.CONTOSO.COM
Die Ausgabe ähnelt dem folgenden Beispiel:
DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully
Kopieren Sie den DC-Namen, der der erforderliche KDC-Konfigurationswert ist. In diesem Fall lautet er „dc-33.domain.contoso.com“.
Verknüpfen Ihres Betriebssystems mit dem Active Directory-Domänencontroller
sudo apt-get install realmd krb5-user software-properties-common python-software-properties packagekit
Bearbeiten Sie die /etc/network/interfaces
-Datei so, dass die IP-Adresse Ihres Active Directory-Domänencontrollers als dns-nameserver
aufgeführt wird. Beispiel:
<...>
# The primary network interface
auto eth0
iface eth0 inet dhcp
dns-nameservers **<AD domain controller IP address>**
dns-search **<AD domain name>**
Hinweis
Die Netzwerkschnittstelle (eth0) kann für verschiedene Computer unterschiedlich sein. Um herauszufinden, welche Sie verwenden, führen Sie ifconfig aus, und kopieren Sie die Schnittstelle, die über eine IP-Adresse verfügt und Bytes übermittelt und empfangen hat.
Nachdem Sie diese Datei bearbeitet haben, sollten Sie den Netzwerkdienst neu starten:
sudo ifdown eth0 && sudo ifup eth0
Überprüfen Sie nun, ob die /etc/resolv.conf
-Datei eine Zeile wie die folgende enthält:
nameserver **<AD domain controller IP address>**
Einbinden in die Active Directory-Domäne:
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
Folgende Ausgabe wird erwartet:
<...>
* Success
Testen des Ticket Granting Ticket-Abrufs
Rufen Sie ein Ticket Granting Ticket (TGT) aus dem KDC ab.
kinit username@DOMAIN.CONTOSO.COM
Zeigen Sie die verfügbaren Tickets mithilfe von klist
an. Wenn kinit
erfolgreich war, sollte ein Ticket angezeigt werden.
klist
Folgende Ausgabe wird erwartet:
krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.
Verbindungsherstellung mithilfe von Azure Data Studio
Erstellen Sie ein neues Verbindungsprofil.
Wählen Sie Windows-Authentifizierung als Authentifizierungstyp aus.
Geben Sie für den Server einen vollqualifizierten Hostnamen im Format
hostname.DOMAIN.CONTOSO.COM
ein.Vervollständigen Sie das Verbindungsprofil, und klicken Sie auf Verbinden.
Nachdem die Verbindung erfolgreich hergestellt wurde, wird Ihr Server in der Randleiste SERVER angezeigt.