Подключение Azure Data Studio к SQL Server с помощью Kerberos
Azure Data Studio поддерживает подключение к SQL Server с помощью Kerberos.
Чтобы использовать встроенную проверку подлинности (проверку подлинности Windows) в macOS или Linux, нужно настроить билет Kerberos, связывающий вашего текущего пользователя с учетной записью домена Windows.
Необходимые компоненты
Для начала работы необходимы перечисленные ниже компоненты и данные.
Доступ к компьютеру, присоединенному к домену Windows, для обращения к контроллеру домена Kerberos.
SQL Server должен быть настроен для разрешения проверки подлинности Kerberos. Для драйвера клиента, работающего в Unix, встроенная проверка подлинности поддерживается только с помощью Kerberos. Дополнительные сведения см. в статье Использовании встроенной проверки подлинности Kerberos для подключения к SQL Server. Для каждого экземпляра SQL Server, к которому вы пытаетесь подключиться, должно быть зарегистрировано несколько имен субъектов-служб. Дополнительные сведения см. в разделе Регистрация имени участника-службы для соединений Kerberos.
Проверка наличия настройки Kerberos в SQL Server
Войдите на хост-компьютер SQL Server. В командной строке Windows используйте setspn -L %COMPUTERNAME%
, чтобы отобразить список всех имен субъектов-служб для узла. Проверьте наличие записей, начинающихся с MSSQLSvc/HostName.contoso.com
. Эти записи означают, что у SQL Server есть зарегистрированное имя субъекта-службы и он готов к проверке подлинности Kerberos.
Если у вас нет доступа к узлу экземпляра SQL Server, то из любой другой ОС Windows, присоединенной к тому же Active Directory, можно использовать команду setspn -L <SQLSERVER_NETBIOS>
, где <SQLSERVER_NETBIOS> — имя узла экземпляра SQL Server.
Получение центра распространения ключей Kerberos
Найдите значение конфигурации для KDC (центр распространения ключей) Kerberos. Выполните следующую команду на компьютере Windows, присоединенном к домену Active Directory.
Запустите nltest
из командной строки и замените "DOMAIN.CONTOSO.COM" именем домена.
nltest /dsgetdc:DOMAIN.CONTOSO.COM
Выходные данные похожи на следующий пример:
DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully
Скопируйте имя контроллера домена, которое является обязательным значением конфигурации KDC. В этом случае это dc-33.domain.contoso.com.
Присоединение операционной системы к контроллеру домена Active Directory
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
auto 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>**
Присоединение к домену Active Directory:
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
Вот что мы должны были увидеть:
<...>
* Success
Тестирование извлечения билета на получение билетов
Получите билет на получение билетов (TGT) из KDC.
kinit username@DOMAIN.CONTOSO.COM
Просмотр доступных билетов с помощью klist
. Если это kinit
было успешно, вы должны увидеть билет.
klist
Вот что мы должны были увидеть:
krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.
Подключение с помощью Azure Data Studio
Создайте профиль подключения.
Выберите Проверка подлинности Windows в качестве типа проверки подлинности.
Для сервера введите полное имя узла в формате
hostname.DOMAIN.CONTOSO.COM
.Заполните профиль подключения и нажмите кнопку Подключить.
После успешного подключения сервер отображается на боковой панели СЕРВЕРЫ.