Conexión a SQL Server con Azure Data Studio

Azure Data Studio admite la conexión a SQL Server mediante Kerberos.

Para usar autenticación integrada (autenticación de Windows) en MacOS o Linux, debe configurar un vale Kerberos que vincule el usuario actual a una cuenta de dominio de Windows.

Requisitos previos

Para empezar, necesitará lo siguiente:

Comprobación de si SQL Server tiene configuración de Kerberos

Inicie sesión en la máquina host de SQL Server. En el símbolo del sistema de Windows, use setspn -L %COMPUTERNAME% para enumerar todos los nombres de entidad de seguridad de servicio (SPN) del host. Compruebe que hay entradas que empiezan por MSSQLSvc/HostName.contoso.com. Estas entradas significan que SQL Server ha registrado un nombre de entidad de seguridad de servicio y que está listo para aceptar la autenticación Kerberos.

Si no tiene acceso al host de la instancia de SQL Server, desde cualquier otro sistema operativo Windows unido a la misma instancia de Active Directory, puede usar el comando setspn -L <SQLSERVER_NETBIOS>, donde <SQLSERVER_NETBIOS> es el nombre de equipo del host de la instancia de SQL Server.

Obtener el Centro de distribución de claves de Kerberos

Busque el valor de configuración del Centro de distribución de claves (KDC) de Kerberos. Ejecute el siguiente comando en un equipo Windows que esté unido al dominio de Active Directory.

Ejecute nltest desde la línea de comandos y reemplace "DOMAIN.CONTOSO.COM" por el nombre de su dominio.

nltest /dsgetdc:DOMAIN.CONTOSO.COM

La salida es similar al ejemplo siguiente:

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

Copie el nombre del controlador de dominio que es el valor de configuración del KDC requerido. En este caso, es dc-33.domain.contoso.com.

Unión del sistema operativo al controlador de dominio de Active Directory

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

Edite el archivo /etc/network/interfaces para que la dirección IP del controlador de dominio de Active Directory aparezca como dns-nameserver. Por ejemplo:

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

Nota

La interfaz de red (eth0) puede diferir en los distintos equipos. Para averiguar cuál es la que está usando, ejecute ifconfig y copie la interfaz que tiene una dirección IP y bytes transmitidos y recibidos.

Después de editar este archivo, reinicie el servicio de red:

sudo ifdown eth0 && sudo ifup eth0

Ahora compruebe que el archivo /etc/resolv.conf contiene una línea similar a la siguiente:

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

Unión al dominio de Active Directory:

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

Este es el resultado esperado:

<...>
* Success

Prueba de la recuperación de un vale de concesión de vales

Obtenga un vale de concesión de vales (TGT) del KDC.

kinit username@DOMAIN.CONTOSO.COM

Vea los vales disponibles mediante klist. Si el comando kinit se ha ejecutado correctamente, debería ver un vale.

klist

Este es el resultado esperado:

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

Conexión mediante Azure Data Studio

  1. Cree un nuevo perfil de conexión.

  2. Seleccione Autenticación de Windows como tipo de autenticación.

  3. En Servidor, escriba un nombre de host completo con el formato hostname.DOMAIN.CONTOSO.COM.

  4. Complete el perfil de conexión y seleccione Conectar.

Después de conectarse correctamente, el servidor aparece en la barra lateral SERVIDORES.