Связанный сервер для SQL Server с проверкой подлинности Microsoft Entra

Область применения: SQL Server 2022 (16.x)

Связанные серверы теперь можно настроить с помощью проверки подлинности с идентификатором Microsoft Entra (ранее Azure Active Directory), и он поддерживает два механизма предоставления учетных данных:

  • Password
  • Маркер доступа

В этой статье предполагается, что существует два экземпляра SQL Server (S1 и S2). Оба были настроены для поддержки проверки подлинности Microsoft Entra, и они доверяют ssl/TLS-сертификату друг друга. Примеры, приведенные в этой статье, выполняются на сервере для создания связанного сервера S1 с сервером S2.

Необходимые компоненты

Примечание.

Имя субъекта сертификата SSL/TLS, используемого в S2, должно совпадать с именем сервера, указанным в атрибуте provstr. Это должно быть полное доменное имя (FQDN) или имя узлаS2.

Конфигурации связанного сервера для проверки подлинности Microsoft Entra

Мы рассмотрим настройку связанных серверов с использованием проверки подлинности паролей и секрета приложения Azure или маркера доступа.

Конфигурация связанного сервера с использованием проверки подлинности паролей

Примечание.

Хотя идентификатор Microsoft Entra — это новое имя Azure Active Directory (Azure AD), чтобы предотвратить нарушение существующих сред, Azure AD по-прежнему остается в некоторых жестко закодированных элементах, таких как поля пользовательского интерфейса, поставщики подключений, коды ошибок и командлеты. В этой статье два имени являются взаимозаменяемыми.

Для проверки подлинности паролей в Authentication=ActiveDirectoryPassword строке поставщика будет сигнализировать связанному серверу использовать проверку подлинности паролей Microsoft Entra. Чтобы сопоставить каждое имя входа с именем входа Microsoft Entra, S1 необходимо создать имя для входа S2связанного сервера.

  1. В SSMS подключитесь к S1 и разверните узел Объекты сервера в окне Обозреватель объектов SQL Server.

  2. Щелкните правой кнопкой мыши узел Связанные серверы и выберите Создать связанный сервер.

  3. Заполните сведения о связанном сервере:

    • Связанный сервер: S2 или используйте имя связанного сервера.
    • Тип сервера: Other data source.
    • Поставщик: Microsoft OLE DB Driver for SQL Server.
    • Имя продукта: оставьте пустым.
    • Источник данных: оставьте пустым.
    • Строка поставщика: Server=<fqdn of S2>;Authentication=ActiveDirectoryPassword.
    • Каталог: оставьте пустым.

    Screenshot of creating linked server with password authentication

  4. Выберите вкладку Безопасность.

  5. Выберите Добавить.

    • Локальное имя входа: укажите имя входа, используемое для подключения к S1.
    • Олицетворять: оставьте флажок снятым.
    • Удаленный пользователь: имя пользователя Microsoft Entra, используемого для подключения к S2, в формате user@contoso.com.
    • Удаленный пароль: пароль пользователя Microsoft Entra.
    • Для имени входа, не определенного в указанном выше списке, подключения будут: Not be made
  6. Нажмите ОК.

    Screenshot of setting security for linked server

Конфигурация связанного сервера с использованием проверки подлинности маркера доступа

Для проверки подлинности маркера доступа связанный сервер создается с AccessToken=%s в разделе Строка поставщика. Имя входа связанного сервера создается для сопоставления каждого входа с S1 приложением Microsoft Entra, которому было предоставлено разрешение S2для входа. Приложению должен быть назначен секрет, который будет использоваться S1 для создания маркера доступа. Секрет можно создать, перейдя к идентификатору портал Azure> Microsoft Entra ID> Регистрация приложений>YourApplication> Certificates и секретам>New client secret.

Screenshot of creating a new client secret for an application in the Azure portal

  1. В SSMS подключитесь к S1 и разверните узел Объекты сервера в окне Обозреватель объектов SQL Server.

  2. Щелкните правой кнопкой мыши узел Связанные серверы и выберите Создать связанный сервер.

  3. Заполните сведения о связанном сервере:

    • Связанный сервер: S2 или используйте имя связанного сервера.
    • Тип сервера: Other data source.
    • Поставщик: Microsoft OLE DB Driver for SQL Server.
    • Имя продукта: оставьте пустым.
    • Источник данных: оставьте пустым.
    • Строка поставщика: Server=<fqdn of S2>;AccessToken=%s.
    • Каталог: оставьте пустым.

    Screenshot of creating linked server with access token authentication

  4. Выберите вкладку Безопасность.

  5. Выберите Добавить.

    • Локальное имя входа: укажите имя входа, используемое для подключения к S1.
    • Олицетворять: оставьте флажок снятым.
    • Удаленный пользователь: идентификатор клиента приложения Microsoft Entra, используемого для подключения к S2. Идентификатор приложения (клиента) можно найти в меню "Обзор" приложения Microsoft Entra.
    • Удаленный пароль: идентификатор секрета, полученного при создании нового секрета клиента для приложения.
    • Для имени входа, не определенного в указанном выше списке, подключения будут: Not be made
  6. Нажмите ОК.

См. также