Partilhar via


Conectar o Azure Data Studio ao SQL Server usando Kerberos

O Azure Data Studio dá suporte à conexão com o SQL Server usando Kerberos.

Para usar a autenticação integrada (Autenticação do Windows) no macOS ou Linux, você precisa configurar um tíquete Kerberos que vincule seu usuário atual a uma conta de domínio do Windows.

Pré-requisitos

Para começar, precisa do seguinte:

Verifique se o SQL Server tem uma configuração Kerberos

Entre na máquina host do SQL Server. No prompt de comando do Windows, use setspn -L %COMPUTERNAME% para listar todos os SPNs do host. Verifique se há entradas que começam com MSSQLSvc/HostName.contoso.com. Essas entradas significam que o SQL Server registrou um SPN e está pronto para aceitar a autenticação Kerberos.

Se você não tiver acesso ao host da instância do SQL Server, em seguida, de qualquer outro sistema operacional Windows associado ao mesmo Ative Directory, você pode usar o comando setspn -L <SQLSERVER_NETBIOS>, onde <SQLSERVER_NETBIOS> é o nome do computador do host da instância do SQL Server.

Obtenha o Centro de Distribuição de Chaves Kerberos

Encontre o valor de configuração do Centro de Distribuição de Chaves Kerberos (KDC). Execute o seguinte comando em um computador Windows que ingressou no domínio do Ative Directory.

Execute nltest a partir da linha de comando e substitua "DOMAIN.CONTOSO.COM" pelo nome do seu domínio.

nltest /dsgetdc:DOMAIN.CONTOSO.COM

A saída é semelhante ao exemplo a seguir:

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

Copie o nome do DC que é o valor de configuração KDC necessário. Neste caso, é dc-33.domain.contoso.com.

Junte o seu SO ao controlador de domínio do Ative Directory

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

Edite o arquivo para que o /etc/network/interfaces endereço IP do controlador de domínio do Ative Directory seja listado como dns-nameserver. Por exemplo:

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

Nota

A interface de rede (eth0) pode diferir para máquinas diferentes. Para descobrir qual você está usando, execute ifconfig e copie a interface que tem um endereço IP e bytes transmitidos e recebidos.

Depois de editar este ficheiro, reinicie o serviço de rede:

sudo ifdown eth0 && sudo ifup eth0

Agora verifique se o seu /etc/resolv.conf ficheiro contém uma linha como a seguinte:

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

Junte-se ao domínio do Ative Directory:

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

Aqui está a saída esperada:

<...>
* Success

Teste a recuperação do bilhete de concessão de bilhete

Obtenha um Ticket Granting Ticket (TGT) do KDC.

kinit username@DOMAIN.CONTOSO.COM

Veja os bilhetes disponíveis utilizando klist. Se o kinit foi bem-sucedido, você deve ver um bilhete.

klist

Aqui está a saída esperada:

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

Conectar-se usando o Azure Data Studio

  1. Crie um novo perfil de conexão.

  2. Selecione Autenticação do Windows como o tipo de autenticação.

  3. Para o Servidor, insira um nome de host totalmente qualificado, no formato hostname.DOMAIN.CONTOSO.COM.

  4. Preencha o perfil de conexão e selecione Conectar.

Depois de se conectar com êxito, seu servidor aparece na barra lateral SERVIDORES.