Przejdź do treści
Polski
  • Brak sugerowanych wyników, ponieważ pole wyszukiwania jest puste.

Korzystanie z konta gMSA (lub sMSA) dla połączenia bazy danych MS SQL Server

Korzystanie z konta gMSA (lub sMSA) dla połączenia bazy danych MS SQL Server z Syteca On-Premises

W razie potrzeby do połączenia między bazą danych MS SQL Server a serwerem aplikacji Syteca można użyć konta gMSa/sMSA (np. ze względów bezpieczeństwa).

Instrukcje zawarte w tym przewodniku opisują, jak skonfigurować konto gMSa/sMSA (po zainstalowaniu Syteca Application Server) do połączenia między bazą danych MS SQL a serwerem aplikacji Syteca.

Uwaga: Dla celów niniejszego przewodnika, zarówno terminy gMSA (Group Managed Service Account), jak i sMSA (Standalone Managed Service Account) są dalej określane łącznie jako po prostu „konto gMSA”.

Spis treści

  1. Konfiguracja konta gMSA
  2. Konfiguracja Konsoli zarządzania
  3. Rozwiązywanie problemów

1. Konfiguracja konta gMSA

1.1. Tworzenie klucza KDS

  • Dodaj klucz KDS, który będzie używany do generowania i przechowywania haseł gMSA (gdzie hasło obraca się), uruchamiając następujące polecenie:

    Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
  • Sprawdź, czy klucz został dodany, uruchamiając następujące polecenie (gdzie oczekiwanym wynikiem jest True):
    Test-KdsRootKey -KeyId (Get-KdsRootKey).KeyId

1.2. Tworzenie konta gMSA

  • Uruchom następujące polecenia za pomocą PowerShell, które włączą obsługę gMSA:
    Install-WindowsFeature RSAT-AD-PowerShell

    Import-Module ActiveDirectory

     

  • Utwórz grupę Active Directory i dodaj do niej komputery docelowe, na których będzie używane konto gMSA.

    Na przykład, gmsaServers zostanie użyty jako argument do parametru PrincipalsAllowedToRetrieveManagedPassword w poleceniu tworzenia konta gMSA, w następujący sposób:

    New-ADServiceAccount <gmsa_login> -DNSHostName <FQDN_server> -PrincipalsAllowedToRetrieveManagedPassword <AD_group> -KerberosEncryptionType AES128, AES256

    Na przykład:

    New-ADServiceAccount MykGmsa -DNSHostName "MykGmsa.myk.test" -PrincipalsAllowedToRetrieveManagedPassword "gmsaservers" -KerberosEncryptionType AES128, AES256

Uwaga: Parametr „-KerberosEncryptionType” jest opcjonalny, ale zaleca się jego wyraźne określenie w celu uniknięcia ewentualnych przyszłych problemów z uwierzytelnianiem Kerberos.

  • Po utworzeniu konta gMSA uruchom ponownie komputery, które zostały dodane do grupy gmsaServers Active Directory.

1.3. Instalacja konta gMSA

Aby użyć konta gMSA na komputerach docelowych, wykonaj następujące czynności:

  • Uruchom następujące polecenie (aby zainstalować wymagane moduły dla PowerShell):
    Install-WindowsFeature RSAT-AD-PowerShell
  • Uruchom następujące polecenie, aby zainstalować konto gMSA:
    Install-ADServiceAccount <gmsa_login>
    Na przykład:
    Install-ADServiceAccount MykGmsa
  • Sprawdź, czy konto gMSA zostało zainstalowane, uruchamiając następujące polecenie (gdzie oczekiwanym wynikiem jest True):
    Test-ADServiceAccount -Identity <gmsa_login>
    Na przykład:
    Test-ADServiceAccount -Identity MykGmsa
  • Powtórz powyższe kroki na wszystkich komputerach, na których będzie używane konto gMSA.

1.4. Przyznawanie uprawnień gMSA do konta „Zaloguj się jako usługa”

  • Otwórz Lokalne zasady bezpieczeństwa za pomocą msc, a następnie otwórz Lokalne zasady > Przypisanie praw użytkownika i dla zasady Logowanie jako usługa dodaj konto gMSA.

image2025-3-31_16-7-21

  • Powtórz powyższe kroki na wszystkich komputerach, na których będzie używane konto gMSA.

1.5. Przyznawanie uprawnień dostępu do liczników produktywności systemu

Aby zapobiec problemowi z wyświetlaniem pulpitów nawigacyjnych na stronie kondycji systemu i wystąpieniu następującego błędu „Odmowa dostępu do klucza rejestru 'Global'.” w dziennikach serwera aplikacji, należy przyznać uprawnienia pełnej kontroli dla konta gMSA w rejestrze do folderu:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib.

image2025-3-31_16-7-54

1.6. Nadawanie uprawnień dla konta gMSA do folderu Ekran System

Aby informacje były zapisywane w dziennikach Serwera Aplikacji Syteca, należy nadać uprawnienia pełnej kontroli dla konta gMSA do folderu C:\Program Files\Ekran System\Ekran System.

image2025-3-31_16-8-33

 

2. Konfiguracja Konsoli zarządzania

2.1. Cel LDAP

Aby zaktualizować/dodać cel LDAP przy użyciu konta gMSA, wykonaj następujące czynności:

  • Uruchom usługę EkranServer na koncie gMSA (np. w Usługach systemu Windows).

  • Na stronie Konfiguracja w Narzędziu do zarządzania wybierz kartę Cele LDAP i ręcznie zaktualizuj/dodaj wymagany automatyczny cel LDAP, klikając przycisk Odśwież automatyczny cel LDAP.

2.2. Baza danych i parametry archiwum


Aby móc korzystać z konta gMSA, skonfigurować bazę danych (i parametry archiwum), wykonaj następujące czynności:

  • Uruchom usługę EkranServer pod kontem gMSA (np. w Usługach systemu Windows).
  • Uruchom ponownie usługę SQL Server pod kontem gMSA (np. w Usługach systemu Windows).
  • Edytuj parametry bazy danych zdefiniowane podczas instalacji Serwera Aplikacji Syteca, otwierając aplikację Database Parameters (DbSetupToolUI) (klikając prawym przyciskiem myszy ikonę serwera Syteca w obszarze powiadomień systemu Windows i wybierając opcję Database Parameters), a następnie zaznacz opcję Windows Authentication i pole wyboru Użyj poświadczeń procesu (na otwartej podkarcie Przechowywanie metadanych).
    image2025-4-1_12-35-29

Uwaga: Pola Nazwa użytkownika i Hasło są wyłączone (ponieważ poświadczenia konta gMSA zostaną użyte automatycznie, jeśli jest ono poprawnie skonfigurowane).


image2025-4-1_12-49-39

 

Uwaga: Kliknij przycisk Test Database Connection (na dole), aby sprawdzić, czy połączenie między serwerem aplikacji a zarchiwizowaną bazą danych zostało nawiązane.

3. Rozwiązywanie problemów

Problem 1: EkranServer nie działa pod kontem gMSA.

  • Sprawdź, czy konto gMSA zostało poprawnie dodane, uruchamiając następujące polecenie w PowerShell:
    Test-ADServiceAccount <your_gMSA_login>
    Oczekiwanym wynikiem polecenia jest True, ale jeśli jest to False, sprawdź, czy konto gMSA ma dostęp do tego komputera, uruchamiając następujące polecenie:
    Install-ADServiceAccount -Identity <your_gMSA_login>
  • Po utworzeniu konta gMSA uruchom ponownie komputer z kontrolerem domeny.
  • Sprawdź, czy zostały przyznane uprawnienia do Log on as a Service. Otwórz msc > Local Policies > User Rights Assignment > Log on as a service.
  • Wyeksportuj certyfikat EkranMasterCertificate.
  • Otwórz konsolę Microsoft Management Console (mmc) pod kontem gMSA, używając następującego polecenia:
    .\PsExec64.exe -i -u <twoj_login_gMSA> mmc

Uwaga: PsExec jest częścią pakietu PsTools, który można pobrać pod adresem: https://learn.microsoft.com/en-us/sysinternals/downloads/psexec

  • Zaimportuj EkranMasterCertificate do Personal and Trusted Root Certification Authorities.

 

Problem 2: Po zaznaczeniu pola wyboru „Użyj poświadczeń procesu” połączenie z bazą danych zostaje utracone, a usługa EkranServer nie uruchamia się.

  • Warto sprawdzić, jakie SPN są zarejestrowane dla gMSA i czy wśród nich znajduje się MSSQLSvc\<SQLServerFQDN>. Można skorzystać z Microsoft Kerberos Configuration Manager for SQL Server, który jest narzędziem, w którym nie tylko można sprawdzić poprawność zarejestrowanych SPN, ale także można je naprawić kilkoma kliknięciami.
    image2025-3-31_16-9-46
    Jeśli nie jest możliwe zainstalowanie narzędzia, można to zrobić ręcznie, uruchamiając następujące polecenia:
    setspn -S MSSQLSvc/<SQLServerFQDN> <your_gMSA_login>
    Na przykład:
    setspn -S MSSQLSvc/myk-server.myk.test:MSSERVER myk\MykGmsa
    setspn -S MSSQLSvc/myk-server.myk.test:1433 myk\MykGmsa
  • Sprawdź dodane SPN, uruchamiając następujące polecenie:
    setspn -L <twoj_login_gMSA>

    image2025-3-31_16-10-49
  • Nadaj uprawnienia do odczytu i zapisu dla SPN.
  • Włącz funkcje zaawansowane w oknie Użytkownicy i komputery usługi Active Directory, otwórz właściwości na komputerze, na którym będzie uruchomiona usługa EkranServer (tj. na którym zainstalowany jest Syteca Application Server) i na karcie Zabezpieczenia dodaj uprawnienia dla konta gMSA (lub grupy Active Directory, na której będzie używane konto gMSA) o nazwie Validated write to service principal name i włącz właściwości Read servicePrincipalName i Write servicePrincipalName:
    image2025-3-31_16-11-25
  • Dla grupy (podczas tworzenia konta gMSA określono je jako PrincipalsAllowedToRetrieveManagedPassword), w której konto gMSA będzie używane na komputerach, dodaj uprawnienia do odczytu i zapisu dla konta SELF (w podobny sposób jak powyżej).

    Dzienniki SQL Server zostaną wyświetlone w następujący sposób:
    image2025-3-31_16-12-12
  • Jeśli w dziennikach programu SQL Server występuje błąd "18456, Severity: 14, State: 38 crashes", zaloguj się do programu SSMS na koncie „sa” i we właściwościach serwera SQL, na stronie Permissions dodaj uprawnienie Control server dla konta gMSA.