Поделиться через


Настройка управляемого удостоверения для связанных серверов

Область применения: применимо к: SQL Server 2025 (17.x)

SQL Server 2025 предоставляет поддержку управляемых удостоверений для связанных серверов, обеспечивая безопасную проверку подлинности без учетных данных между экземплярами SQL Server. Эта возможность доступна для SQL Server на виртуальных машинах Azure и SQL Server, включенных в Azure Arc. С помощью проверки подлинности управляемого удостоверения можно установить подключения к связанному серверу без управления паролями или хранения учетных данных, что повышает уровень безопасности и упрощает управление учетными данными.

В этой статье показано, как настроить межсерверные подключения с помощью управляемой проверки подлинности удостоверения. Вы настроите исходный сервер для инициирования подключений, а сервер назначения — для принятия аутентификации на основе удостоверений с управлением.

Предпосылки

Прежде чем начать, убедитесь, что у вас есть следующее:

  • SQL Server 2025, работающий на одном из следующих:
    • Виртуальная машина Azure с установленным расширением агента IaaS SQL Server или
    • Локальная или виртуальная машина с поддержкой Azure Arc
  • Проверка подлинности Microsoft Entra настроена и на исходном, и на конечном сервере.
  • Сетевое подключение между исходными и целевыми серверами с соответствующими правилами брандмауэра
  • Соответствующие разрешения для создания имен входа и настройки связанных серверов в обоих экземплярах
  • Для виртуальных машин Azure: включены расширения SqlIaasExtension и AADLogin
  • Для экземпляров с поддержкой Azure Arc: агент Azure Arc установлен и настроен

Требования к виртуальной машине Azure

При использовании SQL Server на виртуальных машинах Azure:

  • Убедитесь, что установлены расширения SqlIaasExtension и AADLogin . Эти расширения включаются по умолчанию при развертывании из шаблона SQL Server Azure Marketplace.
  • Настройте проверку подлинности Microsoft Entra, следуя инструкциям, приведенным в руководстве по включению проверки подлинности Microsoft Entra для SQL Server на виртуальных машинах Azure.
  • Убедитесь, что обе виртуальные машины разрешают входящий и исходящий сетевой трафик для обмена данными SQL Server.
  • Настройте правила брандмауэра на каждой виртуальной машине, чтобы разрешить трафик SQL Server.

Требования с поддержкой Azure Arc

При использовании SQL Server с поддержкой Azure Arc:

  1. Установите и настройте Azure Arc на экземплярах SQL Server 2025, следуя предварительным требованиям для SQL Server, активированных с помощью Azure Arc.
  2. Настройте проверку подлинности Microsoft Entra с помощью руководства по настройке проверки подлинности Microsoft Entra через регистрацию приложения.
  3. Проверьте сетевое подключение между исходными и целевыми серверами.

Создание имени входа на целевом сервере

Целевой сервер должен иметь имя входа, соответствующее имени исходного сервера. Когда исходный сервер подключается с помощью управляемого удостоверения, он проходит проверку подлинности с помощью управляемого удостоверения компьютера. Конечный сервер проверяет это удостоверение, сопоставляя его с именем входа, созданным внешним поставщиком.

  1. Подключитесь к целевому экземпляру SQL Server.

  2. Создайте имя входа с помощью имени исходного сервера:

    USE [master];
    GO
    
    CREATE LOGIN [AzureSQLVMSource]
    FROM EXTERNAL PROVIDER
    WITH DEFAULT_DATABASE = [master],
         DEFAULT_LANGUAGE = [us_english];
    GO
    
  3. Предоставьте соответствующие разрешения на уровне сервера для имени входа. Например, чтобы предоставить sysadmin роль:

    ALTER SERVER ROLE [sysadmin] ADD MEMBER [AzureSQLVMSource];
    GO
    

    Подсказка

    Примените принцип наименьшей привилегии, предоставив только разрешения, необходимые для конкретного варианта использования, а не использование sysadmin.

Настройка связанного сервера на исходном сервере

После создания учетной записи на целевом сервере настройте подключение связанного сервера на исходном сервере. Эта конфигурация использует поставщика MSOLEDBSQL с аутентификацией управляемого удостоверения.

  1. Подключитесь к исходному экземпляру SQL Server.

  2. Создание связанного сервера с помощью sp_addlinkedserver:

    USE [master];
    GO
    
    EXEC master.dbo.sp_addlinkedserver
        @server = N'AzureSQLVMDestination',
        @srvproduct = N'',
        @provider = N'MSOLEDBSQL',
        @datasrc = N'AzureSQLVMDestination',
        @provstr = N'Authentication=ActiveDirectoryMSI;';
    GO
    

    Параметр @provstr указывает ActiveDirectoryMSI проверку подлинности, что инструктирует связанный сервер использовать управляемую идентификацию.

  3. Настройте сопоставление данных входа на связанном сервере.

    EXEC master.dbo.sp_addlinkedsrvlogin
        @rmtsrvname = N'AzureSQLVMDestination',
        @useself = N'False',
        @locallogin = NULL,
        @rmtuser = NULL,
        @rmtpassword = NULL;
    GO
    

    Эта конфигурация настраивает связанный сервер для использования управляемого удостоверения, не требуя явных учетных данных пользователя.

Проверка подключения связанного сервера

После настройки убедитесь, что подключение связанного сервера работает правильно.

  1. Проверьте подключение с помощью sp_testlinkedserver:

    EXECUTE master.dbo.sp_testlinkedserver AzureSQLVMDestination;
    GO
    
  2. Если тест выполнен успешно, можно запросить удаленный сервер. Рассмотрим пример.

    SELECT * FROM [AzureSQLVMDestination].[master].[sys].[databases];
    GO
    

Если тест завершается ошибкой, проверьте следующее:

  • Проверка подлинности Microsoft Entra правильно настроена на обоих серверах
  • Имя входа на целевом сервере совпадает с именем исходного сервера.
  • Сетевое подключение существует между серверами
  • Правила брандмауэра разрешают трафик SQL Server
  • Необходимые расширения (SqlIaasExtension и AADLogin) включены для виртуальных машин Azure.