Руководство. Использование проверки подлинности Active Directory с SQL Server на LinuxTutorial: Use Active Directory authentication with SQL Server on Linux

Область применения:  ДаSQL Server (только в Linux) НетБаза данных SQL Azure НетХранилище данных SQL AzureНетParallel Data Warehouse APPLIES TO: yesSQL Server (Linux only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этом руководстве описывается, как настроить в SQL ServerSQL Server на Linux поддержку проверки подлинности Active Directory, также известную как встроенная проверка подлинности.This tutorial explains how to configure SQL ServerSQL Server on Linux to support Active Directory (AD) authentication, also known as integrated authentication. Общие сведения см. в статье Проверка подлинности Active Directory для SQL Server на Linux.For an overview, see Active Directory authentication for SQL Server on Linux.

В этом руководстве рассматриваются следующие задачи:This tutorial consists of the following tasks:

  • присоединение узла SQL ServerSQL Server к домену Active Directory;Join SQL ServerSQL Server host to AD domain
  • создание пользователя Active Directory для SQL ServerSQL Server и указание имени субъекта-службы;Create AD user for SQL ServerSQL Server and set SPN
  • настройка KEYTAB-файла службы SQL ServerSQL Server;Configure SQL ServerSQL Server service keytab
  • защита KEYTAB-файла;Secure the keytab file
  • настройка SQL Server для использования KEYTAB-файла для проверки подлинности Kerberos;Configure SQL Server to use the keytab file for Kerberos authentication
  • создание имен входа на основе Active Directory в Transact-SQL;Create AD-based logins in Transact-SQL
  • подключение к SQL ServerSQL Server с помощью проверки подлинности Active Directory.Connect to SQL ServerSQL Server using AD Authentication

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

Прежде чем настраивать проверку подлинности Active Directory, необходимо сделать следующее:Before you configure AD Authentication, you need to:

Присоединение узла SQL ServerSQL Server к домену Active DirectoryJoin SQL ServerSQL Server host to AD domain

Узел SQL Server на Linux необходимо присоединить к контроллеру домена Active Directory.You must join your SQL Server Linux host with an Active Directory domain controller. Сведения о присоединении к домену Active Directory см. в статье Присоединение узла SQL Server на Linux к домену Active Directory.For information on how to join an active directory domain, see Join SQL Server on a Linux host to an Active Directory domain.

Создание пользователя Active Directory (или управляемой учетной записи службы) для SQL ServerSQL Server и задание имени субъекта-службыCreate AD user (or MSA) for SQL ServerSQL Server and set SPN

Примечание

В следующих инструкциях применяется полное доменное имя.The following steps use your fully qualified domain name. Если вы используете Azure, необходимо создать это имя , прежде чем продолжить.If you are on Azure, you must create one before you proceed.

  1. В контроллере домена выполните команду PowerShell New-ADUser, чтобы создать пользователя Active Directory с бессрочным паролем.On your domain controller, run the New-ADUser PowerShell command to create a new AD user with a password that never expires. В приведенном ниже примере используется имя учетной записи mssql, однако оно может быть любым.The following example names the account mssql, but the account name can be anything you like. Вы получите запрос на ввод нового пароля для учетной записи.You will be prompted to enter a new password for the account.

    Import-Module ActiveDirectory
    
    New-ADUser mssql -AccountPassword (Read-Host -AsSecureString "Enter Password") -PasswordNeverExpires $true -Enabled $true
    

    Примечание

    В целях безопасности рекомендуется использовать для SQL Server выделенную учетную запись Active Directory, чтобы учетные данные SQL Server не использовались другими службами.It is a security best practice to have a dedicated AD account for SQL Server, so that SQL Server's credentials aren't shared with other services using the same account. Однако при необходимости можно выбрать существующую учетную запись Active Directory, если вы знаете ее пароль (он потребуется для создания файла KEYTAB в следующем шаге).However, you can optionally reuse an existing AD account if you know the account's password (which is required to generate a keytab file in the next step).

  2. Укажите значение ServicePrincipalName (имя субъекта-службы) для этой учетной записи с помощью средства setspn.exe.Set the ServicePrincipalName (SPN) for this account using the setspn.exe tool. Формат имени субъекта-службы должен быть в точности таким же, как в приведенном ниже примере.The SPN must be formatted exactly as specified in the following example. Чтобы определить полное доменное имя хост-компьютера SQL ServerSQL Server, выполните команду hostname --all-fqdns в узле SQL ServerSQL Server.You can find the fully qualified domain name of the SQL ServerSQL Server host machine by running hostname --all-fqdns on the SQL ServerSQL Server host. TCP-портом должен быть порт 1433, если вы не настроили для SQL ServerSQL Server другой номер порта.The TCP port should be 1433 unless you have configured SQL ServerSQL Server to use a different port number.

    setspn -A MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>** mssql
    setspn -A MSSQLSvc/**<netbios name of the host machine>**:**<tcp port>** mssql
    

    Примечание

    Если возникнет ошибка Insufficient access rights, узнайте у администратора вашего домена, достаточно ли у вас разрешений для задания имени субъекта-службы для этой учетной записи.If you receive an error, Insufficient access rights, check with your domain administrator that you have sufficient permissions to set an SPN on this account.

    Если в будущем вы измените TCP-порт, необходимо будет еще раз выполнить команду setspn с новым номером порта.If you change the TCP port in the future, you must run the setspn command again with the new port number. Кроме того, необходимо будет добавить новое имя субъекта-службы в файл KEYTAB службы SQL Server, выполнив инструкции в следующем разделе.You also need to add the new SPN to the SQL Server service keytab by following the steps in the next section.

Дополнительные сведения см. в разделе Регистрация имени участника-службы для соединений Kerberos.For more information, see Register a Service Principal Name for Kerberos Connections.

Настройка KEYTAB-файла службы SQL ServerSQL ServerConfigure SQL ServerSQL Server service keytab

Настраивать KEYTAB-файлы службы SQL Server можно двумя способами.There are two different ways to configure the SQL Server service keytab files. Первый способ предполагает использование учетной записи компьютера (имени участника-пользователя), а второй — управляемой учетной записи службы (MSA) в конфигурации KEYTAB.The first option is to use a machine account (UPN), while second option uses a Managed Service Account (MSA) in the keytab configuration. Оба механизма в равной степени функциональны, поэтому вы можете выбрать тот из них, который лучше подходит для вашей среды.Both mechanisms are equally functional, and you can choose the method that works best for your environment.

В обоих случаях требуется имя субъекта-службы, созданное ранее, и его необходимо зарегистрировать в файле KEYTAB.In both cases, the SPN created in the earlier step is required, and the SPN must be registered in the keytab.

Чтобы настроить KEYTAB-файла службы SQL Server, выполните указанные ниже действия.To configure the SQL Server service keytab file:

  1. Настройте записи имени субъекта-службы в файле KEYTAB, как описано в следующем разделе.Configure the SPN keytab entries in the next section.

  2. Затем добавьте в KEYTAB-файл имя участника-пользователя (вариант 1) или управляемую учетную запись службы (вариант 2), выполнив инструкции в соответствующих разделах.Then either add UPN (option 1) or MSA (option 2) entries in the keytab file by following the steps in their respective sections.

Важно!

При изменении пароля для имени участника-пользователя, управляемой учетной записи службы или учетной записи, которой назначены имена субъектов-служб, необходимо обновить файл KEYTAB, указав новый пароль и номер версии ключа (KVNO).If the password for the UPN/MSA is changed or the password for the account that the SPNs are assigned to is changed, you must update the keytab with the new password and Key Version Number (KVNO). В некоторых службах смена паролей может происходить автоматически.Some services might also rotate the passwords automatically. Проверьте политики смены паролей для нужных учетных записей и приведите их в соответствие с запланированными действиями по обслуживанию, чтобы избежать непредвиденных простоев.Review any password rotation policies for the accounts in question and align them with scheduled maintenance activities to avoid unexpected downtime.

Записи имени субъекта-службы в файле KEYTABSPN keytab entries

  1. Определите номер версии ключа (KVNO) для учетной записи Active Directory, созданной в предыдущем шаге.Check the Key Version Number (KVNO) for the AD account created in the previous step. Обычно он имеет значение 2, но может быть другим целым числом, если пароль учетной записи менялся несколько раз.Usually it is 2, but it could be another integer if you changed the account's password multiple times. На хост-компьютере SQL Server выполните следующие команды:On the SQL Server host machine, run the following commands:

    kinit user@CONTOSO.COM
    kvno MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>**@CONTOSO.COM
    

    Примечание

    Распространение имен субъектов-служб в домене может занять несколько минут, особенно если домен большой.SPNs can take several minutes to propagate through your domain, especially if the domain is large. Если возникнет ошибка kvno: Server not found in Kerberos database while getting credentials for MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>**@CONTOSO.COM, подождите несколько минут и повторите попытку.If you receive the error, kvno: Server not found in Kerberos database while getting credentials for MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>**@CONTOSO.COM, please wait a few minutes and try again.

  2. Запустите ktutil:Start ktutil:

    sudo ktutil
    
  3. Добавьте в KEYTAB записи для каждого имени субъекта-службы с помощью следующих команд:Add keytab entries for each SPN using the following commands:

    addent -password -p MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>**@CONTOSO.COM -k **<kvno from above>** -e aes256-cts-hmac-sha1-96
    addent -password -p MSSQLSvc/**<fully qualified domain name of host machine>**:**<tcp port>**@CONTOSO.COM -k **<kvno from above>** -e rc4-hmac
    addent -password -p MSSQLSvc/**<netbios name of the host machine>**:**<tcp port>**@CONTOSO.COM -k **<kvno from above>** -e aes256-cts-hmac-sha1-96
    addent -password -p MSSQLSvc/**<netbios name of the host machine>**:**<tcp port>**@CONTOSO.COM -k **<kvno from above>** -e rc4-hmac
    
  4. Запишите содержимое KEYTAB в файл и выйдите из программы ktutil:Write the keytab to a file and then quit ktutil:

    wkt /var/opt/mssql/secrets/mssql.keytab
    quit
    

    Примечание

    Программа ktutil не проверяет пароль, поэтому при появлении запроса его нужно ввести правильно.The ktutil tool does not validate the password, so make sure you enter it correctly when prompted.

Вариант 1. Настройка KEYTAB с использованием имени участника-пользователяOption 1: Using UPN to configure the keytab

Добавьте в KEYTAB учетную запись компьютера с помощью ktutil.Add the machine account to your keytab with ktutil. Учетная запись компьютера (также называемая именем участника-пользователя) содержится в файле /etc/krb5.keytab в формате <hostname>$@<realm.com> (например, sqlhost$@CONTOSO.COM).The machine account (also called a UPN) is present in /etc/krb5.keytab in the form <hostname>$@<realm.com> (for example, sqlhost$@CONTOSO.COM). Скопируйте эти записи из файла /etc/krb5.keytab в файл mssql.keytab.Copy these entries from /etc/krb5.keytab to mssql.keytab.

  1. Запустите ktuil с помощью следующей команды:Start ktuil with the following command:

    sudo ktutil
    
  2. Используйте команду rkt для считывания всех записей из файла /etc/krb5.keytab.Use the rkt command to read all of the entries from /etc/krb5.keytab.

    rkt /etc/krb5.keytab
    
  3. Затем выведите список записей.Next, list out the entries.

    list
    
  4. Удалите записи, не являющиеся именами участников-пользователей, по номеру слота.Delete all the entries by their slot number that are not the UPN. Удаляйте записи по одной за раз, выполняя следующую команду:Do this one at a time by repeating the following command:

    delent <slot num>
    

    Важно!

    При удалении записи, например слота 1, оставшиеся значения смещаются вверх на одну позицию.When an entry is deleted, such as slot 1, all values slide up by one to take its place. Это означает, что при удалении записи в слоте 1 запись из слота 2 перемещается в слот 1.This means the entry in slot 2 moves to slot 1 when slot 1's entry is deleted.

  5. Еще раз выведите список записей, пока не останутся только записи имен участников-пользователей.List out the entries again until only UPN entries are left.

    list
    
  6. Когда останутся только записи имен участников-пользователей, добавьте эти значения в файл mssql.keytab:When only UPN entries are left, append these values to mssql.keytab:

    wkt /var/opt/mssql/secrets/mssql.keytab
    
  7. Выйдите из ktutil.Quit ktutil.

    quit
    

Вариант 2. Настройка KEYTAB с использованием управляемой учетной записи службыOption 2: Using MSA to configure the keytab

Для использования управляемой учетной записи службы необходимо создать KEYTAB-файл Kerberos SQL Server.For the MSA option, you must create SQL Server's Kerberos keytab. Он должен содержать все имена субъектов-служб, зарегистрированные в первом шаге, и учетные данные управляемой учетной записи службы, в которой зарегистрированы имена субъектов-служб.It should contain all of the SPNs registered in the first step and the credentials for the MSA to which the SPNs are registered.

  1. После создания записей имен субъектов-служб в KEYTAB выполните следующие команды на компьютере Linux, присоединенном к домену:After the SPN keytab entries are created, run the following commands from a Linux machine that is domain joined:

    kinit <AD user>
    kvno <any SPN registered in step 1>
       <spn>@CONTOSO.COM: kvno = <KVNO>
    

    Будет выведен номер KVNO для учетной записи пользователя, назначенной владельцем имени субъекта-службы.This step displays the KVNO for the user account assigned the SPN ownership. Для выполнения этого шага имя субъекта-службы должно было быть назначено управляемой учетной записи службы во время ее создания.For this step to work, the SPN must have been assigned to the MSA account during its creation. Если имя субъекта-службы не было назначено управляемой учетной записи службы, отображаемый номер KVNO будет относиться к текущему владельцу имени субъекта-службы и будет неправильным для данной конфигурации.If the SPN was not assigned to MSA, the KVNO displayed will be of current SPN owner account and be incorrect to use for configuration.

  2. Запустите ktutil:Start ktutil:

    sudo ktutil
    
  3. Добавьте управляемую учетную запись службы с помощью следующих двух команд:Add the MSA with the following two commands:

    addent -password -p <MSA> -k <kvno from command above> -e aes256-cts-hmac-sha1-96
    addent -password -p <MSA> -k <kvno from command above> -e rc4-hmac
    
  4. Запишите содержимое KEYTAB в файл и выйдите из программы ktutil:Write the keytab to a file and then quit ktutil:

    wkt /var/opt/mssql/secrets/mssql.keytab
    quit
    
  5. При использовании управляемой учетной записи службы для доступа к KEYTAB-файлу необходимо задать соответствующий параметр конфигурации с помощью средства mssql-conf.When using the MSA approach, a configuration option needs to be set with the mssql-conf tool to specify the MSA to be used while accessing the keytab file. Приведенные ниже значения должны содержаться в файле /var/opt/mssql/mssql.conf.Ensure the values below are in /var/opt/mssql/mssql.conf.

    sudo mssql-conf set network.privilegedadaccount <MSA_Name>
    

    Примечание

    Включите только имя управляемой учетной записи службы, но не имя домена и учетной записи.Only include the MSA name and not the domain\account name.

Защита KEYTAB-файлаSecure the keytab file

Любой пользователь, имеющий доступ к KEYTAB-файлу, может олицетворять SQL Server в домене, поэтому необходимо ограничить доступ к файлу так, чтобы только учетная запись mssql имела доступ для чтения:Anyone with access to this keytab file can impersonate SQL Server on the domain, so make sure you restrict access to the file such that only the mssql account has read access:

sudo chown mssql:mssql /var/opt/mssql/secrets/mssql.keytab
sudo chmod 400 /var/opt/mssql/secrets/mssql.keytab

Настройка SQL Server для использования KEYTAB-файла для проверки подлинности KerberosConfigure SQL Server to use the keytab file for Kerberos authentication

Чтобы настроить использование KEYTAB-файла для проверки подлинности Kerberos при запуске SQL Server, выполните указанные ниже действия.Use following steps to configure the SQL Server to start using the keytab file for Kerberos authentication.

sudo mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab
sudo systemctl restart mssql-server

Чтобы повысить производительность, можно отключить подключения UDP к контроллеру домена.Optionally disable UDP connections to the domain controller to improve performance. При подключении к контроллеру домена UDP-подключения часто завершаются сбоем, поэтому в файле /etc/krb5.conf можно задать параметры конфигурации для пропуска вызовов UDP.In many cases, UDP connections consistently fail when connecting to a domain controller, so you can set config options in /etc/krb5.conf to skip UDP calls. Измените файл /etc/krb5.conf, задав следующие параметры:Edit /etc/krb5.conf and set the following options:

[libdefaults]
udp_preference_limit=0

Теперь все готово для использования имен входа на основе Active Directory в SQL Server.At this point, you are ready to use AD-based logins in SQL Server as follows.

Создание имен входа на основе Active Directory в Transact-SQLCreate AD-based logins in Transact-SQL

  1. Подключитесь к SQL Server и создайте имя входа на основе Active Directory:Connect to SQL Server and create a new, AD-based login:

    CREATE LOGIN [CONTOSO\user] FROM WINDOWS;
    
  2. Убедитесь в том, что имя входа теперь приводится в представлении системного каталога sys.server_principals:Verify that the login is now listed in the sys.server_principals system catalog view:

    SELECT name FROM sys.server_principals;
    

Подключение к SQL Server с помощью проверки подлинности Active DirectoryConnect to SQL Server using AD Authentication

Выполните вход на клиентский компьютер, используя учетные данные домена.Log in to a client machine using your domain credentials. Теперь можно подключаться к SQL Server с помощью проверки подлинности Active Directory, не вводя пароль повторно.Now you can connect to SQL Server without reentering your password by using AD Authentication. Если создать имя входа для группы Active Directory, все пользователи Active Directory, входящие в эту группу, смогут подключаться одинаковым образом.If you create a login for an AD group, any AD user who is a member of that group can connect in the same way.

Параметр строки подключения, предписывающий использование проверки подлинности Active Directory для клиентов, зависит от драйвера.The specific connection string parameter for clients to use AD Authentication depends on which driver you are using. Рассмотрим примеры в следующих разделах.Consider the examples in the following sections.

sqlcmd в клиенте Linux, присоединенном к доменуsqlcmd on a domain-joined Linux client

Выполните вход в присоединенный к домену клиент Linux с помощью ssh и учетных данных домена:Log in to a domain-joined Linux client using ssh and your domain credentials:

ssh -l user@contoso.com client.contoso.com

Убедитесь в том, что установлен пакет mssql-tools, а затем подключитесь с помощью sqlcmd, не указывая учетные данные:Make sure you've installed the mssql-tools package, then connect using sqlcmd without specifying any credentials:

sqlcmd -S mssql-host.contoso.com

SSMS в клиенте Windows, присоединенном к доменуSSMS on a domain-joined Windows client

Выполните вход в присоединенный к домену клиент Windows с помощью учетных данных домена.Log in to a domain-joined Windows client using your domain credentials. Убедитесь в том, что установлена среда SQL Server Management Studio, а затем подключитесь к экземпляру SQL Server (например, mssql-host.contoso.com), выбрав проверку подлинности Windows в диалоговом окне Подключение к серверу.Make sure SQL Server Management Studio is installed, then connect to your SQL Server instance (for example, mssql-host.contoso.com) by specifying Windows Authentication in the Connect to Server dialog.

Проверка подлинности Active Directory с использованием других клиентских драйверовAD Authentication using other client drivers

В приведенной ниже таблице представлены рекомендации для других клиентских драйверов.The following table describes recommendations for other client drivers:

Клиентский драйверClient driver РекомендацияRecommendation
JDBCJDBC Используйте встроенную проверку подлинности Kerberos для подключения к SQL Server.Use Kerberos Integrated Authentication to Connect SQL Server.
интерфейс ODBCODBC Используйте встроенную проверку подлинности.Use Integrated Authentication.
ADO.NETADO.NET Синтаксис строки подключения.Connection String Syntax.

Дополнительные параметры конфигурацииAdditional configuration options

Если вы используете сторонние служебные программы, такие как PBIS, VAS или Centrify, для присоединения узла Linux к домену Active Directory и хотите настроить принудительное использование библиотеки openldap сервером SQL Server, можно настроить параметр disablesssd с помощью mssql-conf следующим образом:If you are using third-party utilities such as PBIS, VAS, or Centrify to join the Linux host to AD domain and you would like to force SQL server in using the openldap library directly, you can configure the disablesssd option with mssql-conf as follows:

sudo mssql-conf set network.disablesssd true
systemctl restart mssql-server

Примечание

Некоторые служебные программы, такие как realmd, настраивают SSSD, а другие, например PBIS, VAS и Centrify, не настраивают SSSD.There are utilities such as realmd which set up SSSD, while other tools such as PBIS, VAS and Centrify do not setup SSSD. Если программа, применяемая для присоединения к домену Active Directory, не настраивает SSSD, рекомендуется присвоить параметру disablesssd значение true.If the utility used to join AD domain does not setup SSSD, it is recommended to configure disablesssd option to true. Хотя это не обязательно, так как SQL Server будет пытаться использовать SSSD для Active Directory, прежде чем переходить на openldap в качестве резервного механизма, такая настройка повышает производительность благодаря тому, что SQL Server выполняет вызовы openldap напрямую в обход механизма SSSD.While it is not required as SQL Server will attempt to use SSSD for AD before falling back to openldap mechanism, it would be more performant to configure it so SQL Server makes openldap calls directly bypassing the SSSD mechanism.

Если контроллер домена поддерживает протокол LDAPS, можно настроить принудительное использование LDAPS для всех подключений SQL Server к контроллеру домена.If your domain controller supports LDAPS, you can force all connections from SQL Server to the domain controllers to be over LDAPS. Чтобы проверить возможность связи клиента с контроллером домена по LDAPS, выполните следующую команду bash: ldapsearch -H ldaps://contoso.com:3269.To check your client can contact the domain controller over ldaps, run the following bash command, ldapsearch -H ldaps://contoso.com:3269. Чтобы настроить в SQL Server использование только протокола LDAPS, выполните следующие команды:To set SQL Server to only use LDAPS, run the following:

sudo mssql-conf set network.forcesecureldap true
systemctl restart mssql-server

В результате LDAPS через SSSD будет использоваться, если присоединение узла к домену Active Directory было выполнено с помощью пакета SSSD и параметр disablesssd не установлен в значение true.This will use LDAPS over SSSD if AD domain join on host was done via SSSD package and disablesssd is not set to true. Если параметр disablesssd установлен в значение true и параметр forcesecureldap также имеет значение true, протокол LDAPS будет использоваться для вызовов библиотеки openldap, совершаемых сервером SQL Server.If disablesssd is set to true along with forcesecureldap being set to true, then it will use LDAPS protocol over openldap library calls made by SQL Server.

Версии начиная с SQL Server 2017 с накопительным пакетом обновления 14Post SQL Server 2017 CU14

Начиная с SQL Server 2017 с накопительным пакетом обновления 14, если сервер SQL Server был присоединен к контроллеру домена Active Directory с помощью сторонних поставщиков и для него настроено использование вызовов openldap для общих операций просмотра в Active Directory путем задания значения true для параметра disablesssd, можно также с помощью параметра enablekdcfromkrb5 настроить принудительное использование сервером SQL Server библиотеки krb5 для просмотра KDC вместо обратного просмотра DNS для сервера KDC.Starting with SQL Server 2017 CU14, if SQL Server was joined to an AD domain controller using third-party providers and is configured to use openldap calls for general AD lookup by setting disablesssd to true, you can also use enablekdcfromkrb5 option to force SQL Server to use krb5 library for KDC lookup instead of reverse DNS lookup for KDC server.

Это может быть полезно в ситуациях, когда нужно вручную настроить контроллеры домена, с которыми пытается связаться SQL Server.This may be useful for the scenario where you want to manually configure the domain controllers that SQL Server attempts to communicate with. Механизм библиотеки openldap используется посредством списка KDC в krb5.conf.And you use the openldap library mechanism by using the KDC list in krb5.conf.

Сначала установите параметры disablessd и enablekdcfromkrb5conf в значение true, а затем перезапустите SQL Server:First, set disablessd and enablekdcfromkrb5conf to true and then restart SQL Server:

sudo mssql-conf set network.disablesssd true
sudo mssql-conf set network.enablekdcfromkrb5conf true
systemctl restart mssql-server

Затем настройте список KDC в файле /etc/krb5.conf следующим образом:Then configure the KDC list in /etc/krb5.conf as follows:

[realms]
CONTOSO.COM = {
  kdc = dcWithGC1.contoso.com
  kdc = dcWithGC2.contoso.com
}

Примечание

Хотя делать это не рекомендуется, вы можете использовать служебные программы, такие как realmd, для настройки SSSD при присоединении узла Linux к домену и присвоить параметру disablesssd значение true, чтобы SQL Server использовал вызовы openldap вместо SSSD для вызовов, связанных с Active Directory.While it is not recommended, it is possible to use utilities, such as realmd, that set up SSSD while joining the Linux host to the domain, while configuring disablesssd to true so that SQL Server uses openldap calls instead of SSSD for Active Directory related calls.

Следующие шагиNext steps

В этом руководстве были представлены пошаговые инструкции по настройке проверки подлинности Active Directory для SQL Server на Linux.In this tutorial, we walked through how to set up Active Directory authentication with SQL Server on Linux. Вы ознакомились с выполнением следующих задач:You learned how to:

  • присоединение узла SQL ServerSQL Server к домену Active Directory;Join SQL ServerSQL Server host to AD domain
  • создание пользователя Active Directory для SQL ServerSQL Server и указание имени субъекта-службы;Create AD user for SQL ServerSQL Server and set SPN
  • настройка KEYTAB-файла службы SQL ServerSQL Server;Configure SQL ServerSQL Server service keytab
  • создание имен входа на основе Active Directory в Transact-SQL;Create AD-based logins in Transact-SQL
  • подключение к SQL ServerSQL Server с помощью проверки подлинности Active Directory.Connect to SQL ServerSQL Server using AD Authentication

Далее вы можете ознакомиться с другими сценариями обеспечения безопасности для SQL Server на Linux.Next, explore other security scenarios for SQL Server on Linux.