Delen via


Azure Data Studio verbinden met SQL Server met behulp van Kerberos

Azure Data Studio biedt ondersteuning voor het maken van verbinding met SQL Server met behulp van Kerberos.

Als u geïntegreerde verificatie (Windows-verificatie) wilt gebruiken in macOS of Linux, moet u een Kerberos-ticket instellen dat uw huidige gebruiker koppelt aan een Windows-domeinaccount.

Vereisten

Om aan de slag te gaan, hebt u het volgende nodig:

Controleren of SQL Server een Kerberos-installatie heeft

Meld u aan bij de hostcomputer van SQL Server. Gebruik setspn -L %COMPUTERNAME% vanaf de Windows-opdrachtprompt alle SPN's voor de host. Controleer of er vermeldingen zijn die beginnen met MSSQLSvc/HostName.contoso.com. Deze vermeldingen betekenen dat SQL Server een SPN heeft geregistreerd en gereed is om Kerberos-verificatie te accepteren.

Als u geen toegang hebt tot de host van het SQL Server-exemplaar, kunt u vanuit een ander Windows-besturingssysteem dat is gekoppeld aan dezelfde Active Directory, de opdracht setspn -L <SQLSERVER_NETBIOS>gebruiken, waarbij <SQLSERVER_NETBIOS> de computernaam is van de host van het SQL Server-exemplaar.

Het Kerberos-sleuteldistributiecentrum ophalen

Zoek de KDC-configuratiewaarde (Kerberos Key Distribution Center). Voer de volgende opdracht uit op een Windows-computer die is gekoppeld aan uw Active Directory-domein.

Voer nltest deze uit vanaf de opdrachtregel en vervang 'DOMAIN.CONTOSO.COM' door de naam van uw domein.

nltest /dsgetdc:DOMAIN.CONTOSO.COM

Uitvoer is vergelijkbaar met het volgende voorbeeld:

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

Kopieer de DC-naam die de vereiste KDC-configuratiewaarde is. In dit geval is het dc-33.domain.contoso.com.

Uw besturingssysteem toevoegen aan de Active Directory-domeincontroller

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

Bewerk het /etc/network/interfaces bestand zodat het IP-adres van uw Active Directory-domeincontroller wordt vermeld als dns-nameserver. Bijvoorbeeld:

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

Notitie

De netwerkinterface (eth0) kan verschillen voor verschillende computers. Als u wilt achterhalen welke u gebruikt, voert u ifconfig uit en kopieert u de interface met een IP-adres en verzonden en ontvangen bytes.

Nadat u dit bestand hebt bewerkt, start u de netwerkservice opnieuw op:

sudo ifdown eth0 && sudo ifup eth0

Controleer nu of het /etc/resolv.conf bestand een regel bevat zoals de volgende:

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

Deelnemen aan het Active Directory-domein:

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

Dit is de verwachte uitvoer:

<...>
* Success

Het ophalen van het ticket testen

Haal een Ticket Granting Ticket (TGT) op van KDC.

kinit username@DOMAIN.CONTOSO.COM

Bekijk de beschikbare tickets met behulp van klist. Als het kinit lukt, ziet u een ticket.

klist

Dit is de verwachte uitvoer:

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

Verbinding maken met behulp van Azure Data Studio

  1. Maak een nieuw verbindingsprofiel.

  2. Selecteer Windows-verificatie als verificatietype.

  3. Voer voor de server een volledig gekwalificeerde hostnaam in, in de indeling hostname.DOMAIN.CONTOSO.COM.

  4. Voltooi het verbindingsprofiel en selecteer Verbinding maken.

Nadat u verbinding hebt gemaakt, wordt uw server weergegeven in de zijbalk SERVERS .