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:
Acceso a una máquina Windows unida a un dominio para consultar el controlador de dominio de Kerberos.
SQL Server debe configurarse para permitir la autenticación Kerberos. En el caso del controlador de cliente que se ejecuta en Unix, la autenticación integrada solo se admite con Kerberos. Para más información, vea Uso de la autenticación integrada de Kerberos para conectar con SQL Server. Debe haber nombres de entidad de seguridad de servicio (SPN) registrados para cada instancia de SQL Server a la que esté intentando conectarse. Para obtener más información, vea Registrar un nombre de entidad de seguridad de servicio para las conexiones con Kerberos.
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
Cree un nuevo perfil de conexión.
Seleccione Autenticación de Windows como tipo de autenticación.
En Servidor, escriba un nombre de host completo con el formato
hostname.DOMAIN.CONTOSO.COM
.Complete el perfil de conexión y seleccione Conectar.
Después de conectarse correctamente, el servidor aparece en la barra lateral SERVIDORES.