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 comienzan por MSSQLSvc/HostName.Domain.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.

Inicie cmd.exe y ejecute nltest.

nltest /dsgetdc:DOMAIN.COMPANY.COM (where "DOMAIN.COMPANY.COM" maps to your domain's name)

Sample Output
DC: \\dc-33.domain.company.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.company.com.

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

Ubuntu

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>**
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
<...>
* Success

RedHat Enterprise Linux

sudo yum install realmd krb5-workstation

Edite el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 (u otro archivo de configuración de interfaz que corresponda) para que la dirección IP del controlador de dominio de Active Directory aparezca como un servidor DNS:

<...>
PEERDNS=no
DNS1=**<AD domain controller IP address>**

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

sudo systemctl restart network

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

nameserver **<AD domain controller IP address>**
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
<...>
* Success
   

Configuración de KDC en krb5.conf con macOS

En esta sección se describe el archivo de configuración de Kerberos.

Edite el archivo /etc/krb5.conf en el editor que prefiera. Configure las claves siguientes:

sudo vi /etc/krb5.conf

[libdefaults]
  default_realm = DOMAIN.COMPANY.COM
 
[realms]
DOMAIN.COMPANY.COM = {
   kdc = dc-33.domain.company.com
}

Luego, guarde el archivo krb5.conf y salga.

Nota

El dominio debe estar en MAYÚSCULAS.

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.COMPANY.COM

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

klist

krbtgt/DOMAIN.COMPANY.COM@ DOMAIN.COMPANY.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. Complete el perfil de conexión y seleccione Conectar.

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