Session Recording

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

Die Sitzungsaufzeichnung unterstützt Group Managed Service Accounts (gMSAs), um die Verwaltung von Dienstprinzipalnamen (SPNs) für Dienste zu vereinfachen, die auf mehreren Servern ausgeführt werden. 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 ein gMSA mithilfe des Server-Managers auf dem Domänencontroller erstellen. Alternativ können Sie das folgende Skript ausführen, um dasselbe Ziel 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“ (Gültigkeitsdauer) ermöglicht es, dass Schlüssel vor der Verwendung an alle Domänencontroller (DCs) weitergegeben werden. 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.

    Domäne auswählen und Gruppe erstellen

  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 Maschinen, auf denen die Sitzungsaufzeichnungsserver und die Sitzungsaufzeichnungsdatenbank installiert sind.

    Gruppe benennen und Mitgliedsserver hinzufügen

    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 finden. 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. Dieser Artikel verwendet IIS1SvC als Beispiel.

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

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

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 aus, um das gMSA zu installieren.

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

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

    Fehler „Zugriff verweigert“ bei der Installation eines gMSA(/de-de/session-recording/2411/media/access-denied-when-installing-a-mgsa.png)

  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(/de-de/session-recording/2411/media/verify-the-successful-installation-of-a-mgsa.png)

Schritt 3: Aktivieren des gMSA für den Zugriff auf die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank

  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.

    Erstellen eines Logins für ein gMSA(/de-de/session-recording/2411/media/create-new-login-for-a-gmsa.png)

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

    SQL-Instanz-Login-Name(/de-de/session-recording/2411/media/sql-instance-login-name.png)

  2. Aktivieren Sie das gMSA für 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(/de-de/session-recording/2411/media/find-database-names-through-the-registry.png)

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

      Erteilen der db_owner-Berechtigung für die Session Recording-Datenbank(/de-de/session-recording/2411/media/grant-the-db-owner-permission-for-the-session-recording-database.png)

      Erteilen der db_owner-Berechtigung für die Session Recording-Protokollierungsdatenbank(/de-de/session-recording/2411/media/grant-the-db-owner-permission-for-the-session-recording-logging-database.png)

    Hinweis:

    Wenn Sie anstelle der Berechtigung db_owner die Berechtigungen db_datareader und db_datawriter erteilen, müssen Sie dem gMSA auch die Ausführungsberechtigung für die Datenbanken erteilen. Zum 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 den Zugriff auf die Session Recording-Server ermöglichen

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

  1. Öffnen Sie den Internetinformationsdienste (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

    Beispielsweise wurden die folgenden Anwendungspoolidentitäten auf das gMSA festgelegt

    Anwendungspoolidentitäten wurden auf ein gMSA festgelegt

    Hinweis:

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

    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 dem gMSA dann Leseberechtigung für den Session Recording-Server.

    1. Suchen Sie den Objekttyp des Dienstkontos.

      Suchen Sie den Objekttyp des Dienstkontos

    2. Geben Sie den Namen des gMSA ein.

      Geben Sie das gMSA ein

    3. Erteilen Sie dem gMSA 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 für den 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 die Sicherheits-ID (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 Accounts (gMSA) für die Sitzungsaufzeichnung konfigurieren