Unterstützung für Group Managed Service Account (gMSA) für die Sitzungsaufzeichnung konfigurieren

Die Sitzungsaufzeichnung unterstützt Group Managed Service Accounts (gMSAs), um die Verwaltung von Dienstprinzipalnamen (SPNs) für Dienste, die auf mehreren Servern ausgeführt werden, zu vereinfachen. Diese Funktion verbessert die Sicherheit und vereinfacht die Verwaltung von Dienstkonten.

Schritt 1: Erstellen eines gMSA auf dem Domänencontroller

Hinweis:

Dieser Abschnitt beschreibt, wie Sie einen gMSA mithilfe des Server-Managers auf dem Domänencontroller erstellen. Alternativ können Sie das folgende Skript ausführen, um dasselbe zu erreichen:

Add-KdsRootKey -EffectiveImmediately
Install-WindowsFeature -Name RSAT-AD-PowerShell
NEW-ADGroup –name "gMSA"  –path "DC=ajj,DC=test" -GroupCategory Security -groupscope Global
Add-ADGroupMember "gMSA" -Members "Server-3$"(The dollar sign $ is must)
New-ADServiceAccount IIS1SvC -DNSHostName IIS1Svc.ajj.test -PrincipalsAllowedToRetrieveManagedPassword gMSA
<!--NeedCopy-->

Der Parameter Effective time lässt Zeit, damit sich Schlüssel vor der Verwendung auf alle Domänencontroller (DCs) ausbreiten können. Die Verwendung von Add-KdsRootKey -EffectiveImmediately fügt dem Ziel-DC einen Stammschlüssel zur sofortigen Verwendung durch den Key Distribution Service (KDS) hinzu. Andere Domänencontroller können den Stammschlüssel jedoch erst verwenden, wenn die Replikation abgeschlossen ist.

  1. Öffnen Sie auf dem Domänencontroller das Active Directory-Verwaltungscenter.

    Das Active Directory-Verwaltungscenter

  2. Wählen Sie die Domäne aus und erstellen Sie eine Gruppe.

    Wählen Sie die Domäne aus und erstellen Sie eine Gruppe

  3. Benennen Sie die Gruppe (z. B. gMSA). Legen Sie Gruppentyp auf Sicherheit und Gruppenbereich auf Global fest. Fügen Sie ihr Mitgliedsserver hinzu. Die Mitgliedsserver umfassen Computer, auf denen die Sitzungsaufzeichnungsserver und die Sitzungsaufzeichnungsdatenbank installiert sind.

    Benennen Sie die Gruppe und fügen Sie Mitgliedsserver hinzu

    Ein Gruppenmitglied wird beispielsweise wie folgt hinzugefügt:

    Ein Gruppenmitglied wird hinzugefügt

  4. Nachdem Sie eine Sicherheitsgruppe erfolgreich hinzugefügt haben, können Sie diese über die globale Suche im Active Directory-Verwaltungscenter suchen. Sie können die Mitgliedsserver anzeigen und müssen daran denken, alle neu zu starten.

    Globale Suche

  5. Erstellen Sie ein gMSA-Konto mit dem PowerShell-Cmdlet New-ADServiceAccount.

    Öffnen Sie auf dem Domänencontroller Windows PowerShell und führen Sie den folgenden Befehl aus, um ein gMSA zu erstellen:

    New-ADServiceAccount $serviceAccountName -DNSHostName $DNSHostName -PrincipalsAllowedToRetrieveManagedPassword $groupName
    <!--NeedCopy-->
    

    Dabei gilt:

    • $serviceAccountName gibt den Namen des gMSA an. In diesem Artikel wird IIS1SvC als Beispiel verwendet.

    • $DNSHostName gibt den DNS-Hostnamen im Format $serviceAccountName gefolgt vom Domänennamen des Domänencontrollers an.

    • $groupName gibt die Gruppe an, die das verwaltete Kennwort abrufen darf. In diesem Artikel wird gMSA als Beispiel verwendet.

Schritt 2: Installieren des gMSA auf jedem Mitgliedsserver

Sie müssen das gMSA auf jedem Server installieren, der es verwenden wird.

  1. Installieren Sie das Active Directory-Modul für Windows PowerShell entweder über den Server-Manager oder PowerShell mit Administratorrechten.

    • Ein Beispiel für die Verwendung des Server-Managers:

      Installieren des Active Directory-Moduls für Windows PowerShell

    • Wenn Sie PowerShell mit Administratorrechten verwenden, führen Sie den folgenden Befehl aus:

       Install-WindowsFeature -Name RSAT-AD-PowerShell
       <!--NeedCopy-->
      
  2. Öffnen Sie Windows PowerShell und führen Sie einen ähnlichen Befehl wie den folgenden aus, um das gMSA zu installieren.

    Install-ADServiceAccount IIS1SvC
    <!--NeedCopy-->
    

    Wenn ein Fehler „Zugriff verweigert“ auftritt, stellen Sie sicher, dass der aktuelle Mitgliedsserver zur Zulassungsliste des gMSA hinzugefügt und der Server anschließend neu gestartet wurde.

    Zugriff verweigert-Fehler bei der Installation eines gMSA

  3. Überprüfen Sie, ob Sie das gMSA erfolgreich installiert haben, indem Sie einen Befehl ähnlich dem folgenden in PowerShell ausführen. Wenn der Befehl True zurückgibt, wurde das gMSA erfolgreich installiert.

    Test-ADServiceAccount IIS1SvC
     <!--NeedCopy-->
    

    Überprüfen der erfolgreichen Installation eines gMSA

Schritt 3: gMSA den Zugriff auf die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank ermöglichen

  1. Erstellen Sie ein Login für das gMSA. Verwenden Sie SQL Server Management Studio (SSMS), um eine Verbindung zur SQL-Instanz der Session Recording-Datenbank herzustellen.

    Login für ein gMSA erstellen

    Benennen Sie das neue Login im Format <Domänenname des Domänencontrollers>\<Name des gMSA>. Zum Beispiel:

    SQL-Instanz-Login-Name

  2. Ermöglichen Sie dem gMSA den Zugriff auf die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank.

    1. Suchen Sie die Namen der Session Recording-Datenbank und der Session Recording-Protokollierungsdatenbank über die Registrierung. Doppelklicken Sie beispielsweise auf die folgenden Registrierungsschlüssel, um die Wertdaten abzurufen.

      Datenbanknamen über die Registrierung finden

    2. Erteilen Sie dem gMSA die db_owner-Berechtigung für die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank.

      db_owner-Berechtigung für die Session Recording-Datenbank erteilen

      db_owner-Berechtigung für die Session Recording-Protokollierungsdatenbank erteilen

    Hinweis:

    Wenn Sie die Berechtigungen db_datareader und db_datawriter anstelle der Berechtigung db_owner gewähren, müssen Sie dem gMSA auch die Ausführungsberechtigung für die Datenbanken erteilen. Beispiel:

    use SR2311 grant execute to [name of the login created earlier]
    use SR2311log grant execute to [name of the login created earlier]
    <!--NeedCopy-->
    

Schritt 3: gMSA für den Zugriff auf die Session Recording-Server aktivieren

Führen Sie die folgenden Schritte auf jedem Session Recording-Server aus:

  1. Öffnen Sie den Internet Information Services (IIS) Manager auf dem Computer, auf dem der Session Recording-Server installiert ist, legen Sie die Identität des Anwendungspools auf das gMSA fest und starten Sie IIS neu.

    Legen Sie die Identität des Anwendungspools auf ein gMSA fest(/de-de/session-recording/2509/media/set-the-application-pool-identity-to-a-gmsa.png)

    Beispielsweise wurden die folgenden Anwendungspool-Identitäten auf das gMSA festgelegt

    Anwendungspool-Identitäten wurden auf ein gMSA festgelegt(/de-de/session-recording/2509/media/application-pool-identities-have-been-set-to-a-gmsa.png)

    Hinweis:

    Alternativ können Sie die Identität des Anwendungspools festlegen, indem Sie einen Befehl ausführen, der dem folgenden mit Windows PowerShell ähnelt:

    Import-Module WebAdministration -ErrorAction Stop
    $webapps = Get-ChildItem -Path IIS:\AppPools
    foreach ($webapp in $webapps) {
        if ($webapp.Name.Contains("SessionRecording")){
            $Pool = "IIS:\AppPools\" + $webapp.Name
            Write-Host $Pool
           Set-ItemProperty -Path $Pool -Name processModel -Value @{userName="AJJ \IIS1SvC$";identitytype=3}
       }
    }
    <!--NeedCopy-->
    
  2. Öffnen Sie den Registrierungs-Editor auf dem Computer, auf dem der Session Recording-Server installiert ist, und erteilen Sie dann dem gMSA die Leseberechtigung für den Session Recording-Server.

    1. Suchen Sie den Dienstkonto-Objekttyp.

      Suchen Sie den Dienstkonto-Objekttyp(/de-de/session-recording/2509/media/locate-the-service-account-object-type.png)

    2. Geben Sie den Namen des gMSA ein.

      Geben Sie das gMSA ein(/de-de/session-recording/2509/media/enter-the-gmsa.png)

    3. Erteilen Sie dem gMSA die Leseberechtigung.

      Leseberechtigung für das gMSA erteilen

    Hinweis:

    Alternativ können Sie ein Skript verwenden, das dem folgenden ähnelt, um einem gMSA Leseberechtigungen auf dem Session Recording-Server zu erteilen:

    $RegistryKey = "HKLM:\SOFTWARE\Citrix\SmartAuditor"
    $NewAcl = Get-Acl -Path $RegistryKey
    $identity = "pahl6\IIS1SvC$"
    $RegistryKeyRights = "ReadPermissions"
    $type = "Allow"
    $RegistryKeyAccessRuleArgumentList = $identity, $RegistryKeyRights, $type
    $RegistryKeyAccessRule = New-Object System.Security.AccessControl.RegistryAccessRule -ArgumentList $RegistryKeyAccessRuleArgumentList
    $NewAcl.SetAccessRule($RegistryKeyAccessRule)
    Set-Acl -Path $RegistryKey -AclObject $NewAcl
    <!--NeedCopy-->
    
  3. Fügen Sie das gMSA zum Session Recording-Speicherordner hinzu und erteilen Sie ihm Lese- und Schreibberechtigungen für den Ordner. Aktivieren Sie anschließend die Vererbung und wählen Sie Alle Berechtigungseinträge für untergeordnete Objekte durch vererbbare Berechtigungseinträge von diesem Objekt ersetzen.

    Lese- und Schreibberechtigungen für den Session Recording-Speicherordner für das gMSA erteilen – Schritt 1

    Lese- und Schreibberechtigungen für den Session Recording-Speicherordner für das gMSA erteilen – Schritt 2

    Vererbung aktivieren

    Hinweis:

    Alternativ können Sie ein Skript verwenden, das dem folgenden ähnelt, um einem gMSA Lese- und Schreibberechtigungen auf dem Session Recording-Speicherordner zu erteilen und die Vererbung zu aktivieren:

    $path = "C:\SessionRecordings"
    $NewAcl = Get-Acl $path
    # Set properties
    $identity = "pahl6\IIS1SvC$"
    $fileSystemRights = "Modify"
    $type = "Allow"
    # Create new rule
    $fileSystemAccessRuleArgumentList = $identity, $fileSystemRights, $type
    $fileSystemAccessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule  $fileSystemAccessRuleArgumentList
    # Apply new rule
    $NewAcl.SetAccessRule($fileSystemAccessRule)
    # enable inherit
    $isProtected = $false
    $preserveInheritance = $false
    $NewAcl.SetAccessRuleProtection($isProtected, $preserveInheritance)
    Set-Acl -Path $path -AclObject $NewAcl
    <!--NeedCopy-->
    
  4. Fügen Sie das gMSA zur Session Recording-Autorisierungskonsole hinzu.

    1. Suchen Sie den Sicherheitsbezeichner (SID) für das gMSA.

      SID für das gMSA suchen

    2. Schreiben Sie die SID in die Datei SessionRecordingAzManStore unter <Installationspfad des Session Recording-Servers>\App_Data.

      gMSA-SID in eine Datei schreiben

    3. Erteilen Sie dem gMSA Vollzugriffsberechtigungen für den Ordner App-Data.

      Vollzugriffsberechtigung auf den App-Data-Ordner für das gMSA erteilen

    4. Überprüfen Sie, ob das gMSA erfolgreich zur Sitzungsaufzeichnungs-Autorisierungskonsole hinzugefügt wurde.

      Überprüfen Sie, ob das gMSA erfolgreich zur Sitzungsaufzeichnungs-Autorisierungskonsole hinzugefügt wurde

    Hinweis:

    Alternativ können Sie ein Skript verwenden, das dem folgenden ähnelt, um ein gMSA zur Sitzungsaufzeichnungs-Autorisierungskonsole hinzuzufügen:

    $account = "IIS1SvC"
    $AccountDetail = Get-ADServiceAccount -Identity $account
    $accountSid = $AccountDetail.SID.Value
    write-host $accountSid
    $path = "C:\Program Files\Citrix\SessionRecording\Server\App_Data\SessionRecordingAzManStore.xml"
    $doc = [xml](Get-Content $path)
    $node = $doc.AzAdminManager.AzApplication.AzRole | Where-Object {$_.Name -eq "LoggingWriter"}
    $element = $doc.CreateElement("Member")
    $element.InnerText = $accountSid
    $node.AppendChild($element)
    $doc.Save($path)
    <!--NeedCopy-->
    
Unterstützung für Group Managed Service Account (gMSA) für die Sitzungsaufzeichnung konfigurieren