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:
Acesso a uma máquina associada a um domínio do Windows para consultar o controlador de domínio Kerberos.
O SQL Server deve ser configurado para permitir a autenticação Kerberos. Para o driver de cliente em execução no Unix, a autenticação integrada é suportada apenas usando Kerberos. Para obter mais informações, consulte Usando a autenticação integrada Kerberos para se conectar ao SQL Server. Deve haver nomes de entidade de serviço (SPNs) registrados para cada instância do SQL Server à qual você está tentando se conectar. Para obter mais informações, consulte Registrar um nome de entidade de serviço para conexões Kerberos.
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
Crie um novo perfil de conexão.
Selecione Autenticação do Windows como o tipo de autenticação.
Para o Servidor, insira um nome de host totalmente qualificado, no formato
hostname.DOMAIN.CONTOSO.COM
.Preencha o perfil de conexão e selecione Conectar.
Depois de se conectar com êxito, seu servidor aparece na barra lateral SERVIDORES.