Connecter Azure Data Studio à SQL Server à l’aide de Kerberos

Azure Data Studio prend en charge la connexion à SQL Server à l’aide de Kerberos.

Pour utiliser l’authentification intégrée (authentification Windows) sur macOS ou Linux, vous devez configurer un ticket Kerberos qui lie votre utilisateur actuel à un compte de domaine Windows.

Prérequis

Pour commencer, vous avez besoin des éléments suivants :

Vérifier la configuration de Kerberos pour SQL Server

Connectez-vous à l’ordinateur hôte de SQL Server. À partir de l’invite de commandes Windows, utilisez setspn -L %COMPUTERNAME% pour lister tous les SPN de l’hôte. Vérifiez qu’il existe des entrées qui commencent par MSSQLSvc/HostName.contoso.com. Ces entrées signifient que SQL Server a inscrit un nom de principal du service et qu’il est prêt à accepter l’authentification Kerberos.

Si vous n’avez pas accès à l’hôte de l’instance SQL, à partir de tout autre système d’exploitation Windows joint au même Active Directory, vous pouvez utiliser la commande setspn -L <SQLSERVER_NETBIOS>, où <SQLSERVER_NETBIOS> est le nom de l’ordinateur hôte de l’instance SQL.

Obtenir le centre de distribution de clés Kerberos

Recherchez la valeur de configuration du centre de distribution de clés Kerberos. Exécutez la commande suivante sur un ordinateur Windows joint à votre domaine Active Directory.

Exécutez nltest à partir de la ligne de commande, puis remplacez « DOMAIN.CONTOSO.COM » par votre nom de domaine.

nltest /dsgetdc:DOMAIN.CONTOSO.COM

La sortie ressemble à l’exemple suivant :

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

Copiez le nom du contrôleur de domaine qui est la valeur de configuration KDC requise. Dans ce cas, il s’agit de dc-33.domain.contoso.com.

Joindre votre système d’exploitation au contrôleur de domaine Active Directory

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

Modifiez le fichier /etc/network/interfaces de sorte que l’adresse IP de votre contrôleur de domaine Active Directory soit répertoriée en tant que dns-nameserver. Par exemple :

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

Notes

L’interface réseau (eth0) peut différer selon les machines. Pour déterminer celle que vous utilisez, exécutez ifconfig et copiez l’interface qui a une adresse IP et des octets transmis et reçus.

Après avoir modifié ce fichier, redémarrez le service réseau :

sudo ifdown eth0 && sudo ifup eth0

Vérifiez maintenant que votre fichier /etc/resolv.conf contient une ligne semblable à la suivante :

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

Joignez-le au domaine Active Directory :

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

Voici la sortie attendue :

<...>
* Success

Tester la récupération de ticket d’attribution de ticket

Obtenez un TGT (Ticket Granting Ticket) auprès du KDC.

kinit username@DOMAIN.CONTOSO.COM

Affichez les tickets disponibles à l’aide de klist. Si kinit réussit, vous devez voir un ticket.

klist

Voici la sortie attendue :

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

Se connecter avec Azure Data Studio

  1. Créez un profil de connexion.

  2. Choisissez l’authentification Windows comme type d’authentification.

  3. Pour le serveur, entrez un nom d’hôte complet, au format hostname.DOMAIN.CONTOSO.COM.

  4. Complétez le profil de connexion, puis cliquez sur Se connecter.

Une fois la connexion établie, votre serveur s’affiche dans la barre latérale SERVEURS.