Udostępnij przez


Konfigurowanie tożsamości zarządzanej dla serwerów połączonych

Dotyczy: Dotyczy: SQL Server 2025 (17.x)

Program SQL Server 2025 wprowadza obsługę tożsamości zarządzanych dla serwerów połączonych, umożliwiając bezpieczne, wolne od poświadczeń uwierzytelnianie między wystąpieniami programu SQL Server. Ta funkcja jest dostępna zarówno dla programu SQL Server na maszynach wirtualnych platformy Azure, jak i w programie SQL Server włączonym przez usługę Azure Arc. Za pomocą uwierzytelniania tożsamości zarządzanej można ustanowić połączenia serwera połączonego bez zarządzania hasłami lub przechowywania poświadczeń, poprawiając stan zabezpieczeń i upraszczając zarządzanie poświadczeniami.

W tym artykule pokazano, jak skonfigurować połączenia serwerów połączonych przy użyciu uwierzytelniania tożsamości zarządzanej. Skonfigurujesz serwer źródłowy tak, aby inicjował połączenia i serwer docelowy do akceptowania uwierzytelniania opartego na tożsamości zarządzanej.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

  • Program SQL Server 2025 działa w jednej z następujących wersji:
    • Maszyna wirtualna platformy Azure z zainstalowanym rozszerzeniem agenta IaaS programu SQL Server lub
    • Lokalna lub wirtualna maszyna z włączoną usługą Azure Arc
  • Uwierzytelnianie Microsoft Entra skonfigurowane na serwerach źródłowych i docelowych
  • Łączność sieciowa między serwerami źródłowymi i docelowymi z odpowiednimi regułami zapory
  • Odpowiednie uprawnienia do tworzenia loginów i konfigurowania serwerów połączonych w obu wystąpieniach
  • W przypadku maszyn wirtualnych platformy Azure: włączone rozszerzenia SqlIaasExtension i AADLogin
  • W przypadku wystąpień z obsługą usługi Azure Arc: zainstalowany i skonfigurowany agent usługi Azure Arc

Wymagania dotyczące maszyny wirtualnej platformy Azure

W przypadku korzystania z programu SQL Server na maszynach wirtualnych platformy Azure:

  • Sprawdź, czy zainstalowano rozszerzenia SqlIaasExtension i AADLogin . Te rozszerzenia są domyślnie dołączane podczas wdrażania z szablonu programu SQL Server w witrynie Azure Marketplace.
  • Skonfiguruj uwierzytelnianie Microsoft Entra zgodnie ze wskazówkami w Włączanie uwierzytelniania Microsoft Entra dla programu SQL Server na maszynach wirtualnych platformy Azure.
  • Upewnij się, że obie maszyny wirtualne zezwalają na ruch sieciowy przychodzący i wychodzący na potrzeby komunikacji z programem SQL Server.
  • Skonfiguruj reguły zapory na każdej maszynie wirtualnej, aby zezwalać na ruch programu SQL Server.

Wymagania dotyczące usługi Azure Arc

W przypadku korzystania z programu SQL Server włączonego przez usługę Azure Arc:

  1. Zainstaluj i skonfiguruj usługę Azure Arc w wystąpieniach programu SQL Server 2025 zgodnie z wymaganiami wstępnymi dotyczącymi programu SQL Server włączonymi przez usługę Azure Arc.
  2. Skonfiguruj uwierzytelnianie firmy Microsoft Entra, korzystając ze wskazówek w temacie Konfigurowanie uwierzytelniania firmy Microsoft Entra przy użyciu rejestracji aplikacji.
  3. Sprawdź łączność sieciową między serwerami źródłowymi i docelowymi.

Tworzenie logowania na serwerze docelowym

Serwer docelowy musi mieć identyfikator logowania zgodny z nazwą serwera źródłowego. Gdy serwer źródłowy łączy się przy użyciu tożsamości zarządzanej, uwierzytelnia się przy użyciu tożsamości zarządzanej maszyny. Serwer docelowy weryfikuje tę tożsamość, porównując ją z loginem utworzonym na podstawie dostawcy zewnętrznego.

  1. Połącz się z docelowym wystąpieniem programu SQL Server.

  2. Utwórz identyfikator logowania przy użyciu nazwy serwera źródłowego:

    USE [master];
    GO
    
    CREATE LOGIN [AzureSQLVMSource]
    FROM EXTERNAL PROVIDER
    WITH DEFAULT_DATABASE = [master],
         DEFAULT_LANGUAGE = [us_english];
    GO
    
  3. Przyznaj identyfikatorowi logowania odpowiednie uprawnienia na poziomie serwera. Na przykład, aby przyznać rolę sysadmin:

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

    Wskazówka

    Zastosuj zasadę najniższych uprawnień, udzielając tylko uprawnień wymaganych dla konkretnego przypadku użycia, a nie przy użyciu polecenia sysadmin.

Konfigurowanie serwera połączonego na serwerze źródłowym

Po utworzeniu konta na serwerze docelowym skonfiguruj połączenie serwera powiązanego na serwerze źródłowym. Ta konfiguracja używa dostawcy MSOLEDBSQL, który korzysta z uwierzytelniania tożsamości zarządzanej.

  1. Połącz się ze źródłowym wystąpieniem programu SQL Server.

  2. Utwórz serwer połączony przy użyciu polecenia 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
    

    Parametr @provstr określa ActiveDirectoryMSI uwierzytelnianie, które nakazuje serwerowi połączonemu używanie tożsamości zarządzanej.

  3. Skonfiguruj mapowanie logowania serwera połączonego:

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

    Ta konfiguracja konfiguruje połączony serwer do korzystania z tożsamości zarządzanej bez konieczności jawnego poświadczeń użytkownika.

Testowanie połączenia serwera połączonego

Po skonfigurowaniu sprawdź, czy połączenie serwera połączonego działa poprawnie.

  1. Przetestuj połączenie przy użyciu polecenia sp_testlinkedserver:

    EXECUTE master.dbo.sp_testlinkedserver AzureSQLVMDestination;
    GO
    
  2. Jeśli test zakończy się pomyślnie, możesz wykonać zapytanie dotyczące serwera zdalnego. Przykład:

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

Jeśli test zakończy się niepowodzeniem, sprawdź:

  • Uwierzytelnianie firmy Microsoft Entra jest prawidłowo skonfigurowane na obu serwerach
  • Nazwa logowania na serwerze docelowym dokładnie odpowiada nazwie serwera źródłowego
  • Łączność sieciowa istnieje między serwerami
  • Reguły zapory zezwalają na ruch programu SQL Server
  • Wymagane rozszerzenia (SqlIaasExtension i AADLogin) są włączone dla maszyn wirtualnych platformy Azure