Подключение Azure Data Studio к SQL Server с помощью Kerberos

Azure Data Studio поддерживает подключение к SQL Server с помощью Kerberos.

Чтобы использовать встроенную проверку подлинности (проверку подлинности Windows) в macOS или Linux, нужно настроить билет Kerberos, связывающий вашего текущего пользователя с учетной записью домена Windows.

Предварительные требования

Для начала работы необходимы перечисленные ниже компоненты и данные.

Проверка наличия настройки Kerberos в SQL Server

Войдите на хост-компьютер SQL Server. В командной строке Windows используйте setspn -L %COMPUTERNAME%, чтобы отобразить список всех имен субъектов-служб для узла. Убедитесь в наличии записей, которые начинаются с MSSQLSvc/HostName.Domain.com. Эти записи означают, что у SQL Server есть зарегистрированное имя субъекта-службы и он готов к проверке подлинности Kerberos.

Если у вас нет доступа к узлу экземпляра SQL Server, то из любой другой ОС Windows, присоединенной к тому же Active Directory, можно использовать команду setspn -L <SQLSERVER_NETBIOS>, где <SQLSERVER_NETBIOS>  — имя узла экземпляра SQL Server.

Получение центра распространения ключей Kerberos

Найдите значение конфигурации для KDC (центр распространения ключей) Kerberos. Выполните следующую команду на компьютере Windows, присоединенном к домену Active Directory.

Запустите cmd.exe и выполните 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

Скопируйте имя контроллера домена, которое является обязательным значением конфигурации KDC. В данном случае это dc-33.domain.company.com.

Присоединение операционной системы к контроллеру домена Active Directory

Ubuntu

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

Измените файл /etc/network/interfaces, чтобы IP-адрес вашего контроллера домена Active Directory был указан в качестве параметра dns-nameserver. Пример:

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

Примечание

Сетевой интерфейс (eth0) может отличаться для разных компьютеров. Чтобы узнать, какой из них используется, выполните команду ifconfig и скопируйте интерфейс, имеющий IP-адрес и переданные и полученные байты.

После изменения этого файла перезапустите сетевую службу.

sudo ifdown eth0 && sudo ifup eth0

Теперь убедитесь, что файл /etc/resolv.conf содержит строку, аналогичную следующей:

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

Измените файл /etc/sysconfig/network-scripts/ifcfg-eth0 (или другой соответствующий файл конфигурации интерфейса), чтобы IP-адрес вашего контроллера домена Active Directory был указан в качестве параметра DNS-сервера:

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

После изменения этого файла перезапустите сетевую службу.

sudo systemctl restart network

Теперь убедитесь, что файл /etc/resolv.conf содержит строку, аналогичную следующей:

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

Настройка KDC в krb5.conf в macOS

В этом разделе обсуждается файл конфигурации Kerberos.

Измените файл /etc/krb5.conf в любом редакторе. Настройте следующие ключи:

sudo vi /etc/krb5.conf

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

Сохраните файл krb5.conf и закройте редактор.

Примечание

Домен должен быть указан прописными буквами.

Тестирование извлечения билета на получение билетов

Получите билет на получение билетов (TGT) из KDC.

kinit username@DOMAIN.COMPANY.COM

Просмотрите доступные билеты с помощью klist. Если kinit выполнен успешно, вы увидите билет.

klist

krbtgt/DOMAIN.COMPANY.COM@ DOMAIN.COMPANY.COM.

Подключение с помощью Azure Data Studio

  1. Создайте профиль подключения.

  2. Выберите Проверка подлинности Windows в качестве типа проверки подлинности.

  3. Заполните профиль подключения и нажмите кнопку Подключить.

После успешного подключения сервер отображается на боковой панели СЕРВЕРЫ.