Session Recording

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

Die Sitzungsaufzeichnung unterstützt gruppenverwaltete Dienstkonten (gMSAs), um die Verwaltung von Dienstprinzipalnamen (SPNs) für Dienste zu vereinfachen, die auf mehreren Servern ausgeführt werden. Dieses Feature erhöht die Sicherheit und vereinfacht die Verwaltung von Dienstkonten.

Schritt 1: gMSA auf dem Domänencontroller erstellen

Hinweis:

In diesem Abschnitt wird beschrieben, wie Sie mit Server Manager auf dem Domänencontroller ein gMSA erstellen. Alternativ können Sie zum gleichen Zweck das folgende Skript ausführen:

  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 “Gültige Zeit” gibt den Schlüsseln Zeit, sich vor ihrer Verwendung an alle Domänencontroller (DCs) zu verteilen. Mit Add-KdsRootKey -EffectiveImmediately wird dem Ziel-DC ein Stammschlüssel zur sofortigen Verwendung durch den Key Distribution Service (KDS) hinzugefügt. 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 (verwenden Sie als Beispiel gMSA). Setzen Sie Gruppentyp auf Sicherheit und Gruppenbereich auf Global. Fügen Sie ihr Mitgliedsserver hinzu. Zu den Mitgliedsservern gehören Maschinen, auf denen die Sitzungsaufzeichnungsserver und die Sitzungsaufzeichnungsdatenbank installiert sind.

    Benennen Sie die Gruppe und fügen Sie Mitgliedsserver hinzu

    Beispielsweise wird ein Gruppenmitglied wie folgt hinzugefügt:

    Ein Gruppenmitglied wird hinzugefügt

  4. Nachdem Sie eine Sicherheitsgruppe erfolgreich hinzugefügt haben, können Sie mit der globalen Suche im Active Directory-Verwaltungscenter danach suchen. Sie können die Server der Mitglieder sehen und vergessen Sie nicht, sie alle neu zu starten.

    Globale Suche

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

    Ö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-->
    

    Hierbei gilt:

    • $serviceAccountName gibt den Namen des gMSA an. Dieser Artikel verwendet IIS1SvC als Beispiel.

    • $DNSHostName gibt den DNS-Hostnamen im Format $serviceAccountName an, 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: gMSA auf jedem Mitgliedsserver installieren

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

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

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

      Active Directory-Moduls für Windows PowerShell installlieren

    • 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 Befehl ähnlich dem folgenden aus, um gMSA zu installieren.

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

    Wenn ein “Zugriff verweigert”-Fehler ähnlich dem folgenden auftritt, stellen Sie sicher, dass der aktuelle Mitgliedsserver zur gMSA-Positivliste hinzugefügt und der Server anschließend neu gestartet wurde.

    Fehler "Zugriff verweigert" bei der gMSA-Installation

  3. Überprüfen Sie, ob die gMSA-Installation erfolgreich war, indem Sie in PowerShell einen Befehl ähnlich dem folgenden ausführen. Wenn der Befehl Truezurückgibt, wurde gMSA erfolgreich installiert.

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

    Überprüfen der erfolgreichen Installation eines gMSA

Schritt 3: Aktivieren Sie für das gMSA den Zugriff auf die Sitzungsaufzeichnungsdatenbank und die Sitzungsaufzeichnungsprotokollierungsdatenbank

  1. Erstellen Sie einen Login für das gMSA. Verwenden Sie SQL Server Management Studio (SSMS), um eine Verbindung mit der SQL-Instanz der Sitzungsaufzeichnungsdatenbank herzustellen.

    Erstellen einer Anmeldung für ein gMSA

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

    Anmeldename der SQL-Instanz

  2. Aktivieren Sie das gMSA, um auf die Sitzungsaufzeichnungsdatenbank und die Sitzungsaufzeichnungsprotokollierungsdatenbank zuzugreifen.

    1. Suchen Sie in der Registrierung nach den Namen der Sitzungsaufzeichnungsdatenbank und der Sitzungsaufzeichnungsprotokollierungsdatenbank. Doppelklicken Sie beispielsweise auf die folgenden Registrierungsschlüssel, um die Wertdaten abzurufen.

      Suchen von Datenbanknamen über die Registrierung

    2. Erteilen Sie dem gMSA die Berechtigung db_owner für die Sitzungsaufzeichnungsdatenbank und die Sitzungsaufzeichnungsprotokollierungsdatenbank.

      Erteilen Sie der Datenbank für die Sitzungsaufzeichnung die Berechtigung „db_owner“.

      Erteilen Sie der Berechtigung „db_owner“ für die Protokollierungsdatenbank der Sitzungsaufzeichnung.

    Hinweis:

    Wenn Sie die Berechtigungen db_datareader und db_datawriter anstelle der Berechtigung db_owner erteilen, 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: Aktivieren Sie das gMSA für den Zugriff auf die Sitzungsaufzeichnungsserver

Führen Sie auf jedem Sitzungsaufzeichnungsserver die folgenden Schritte aus:

  1. Öffnen Sie den Internetinformationsdienste-Manager (IIS) auf der Maschine, auf der der Sitzungsaufzeichnungsserver installiert ist, legen Sie die Anwendungspoolidentität auf gMSA fest und starten Sie IIS neu.

    Festlegen der Anwendungspoolidentität auf ein gMSA

    Beispielsweise wurden die folgenden Anwendungspoolidentitäten auf das gMSA gesetzt

    Anwendungspoolidentitäten wurden auf ein gMSA festgelegt

    Hinweis:

    Alternativ können Sie die Anwendungspoolidentität festlegen, indem Sie in Windows PowerShell einen Befehl ähnlich dem folgenden 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 der Maschine, auf der der Sitzungsaufzeichnungsserver installiert ist, und erteilen Sie dem gMSA dann Leseberechtigung für den Sitzungsaufzeichnungsserver.

    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. Gewähren Sie dem gMSA die Leseberechtigung.

      Erteilen Sie dem gMSA die Leseberechtigung

    Hinweis:

    Alternativ können Sie ein Skript ähnlich dem folgenden verwenden, um einem gMSA Leseberechtigung auf dem Sitzungsaufzeichnungsserver 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 Speicherordner für die Sitzungsaufzeichnung hinzu und erteilen Sie ihm Lese- und Schreibberechtigungen für den Ordner. Aktivieren Sie anschließend die Vererbung und wählen Sie . Ersetzen Sie alle Berechtigungseinträge untergeordneter Objekte durch vererbbare Berechtigungseinträge dieses Objekts.

    Erteilen Sie dem gMSA Lese- und Schreibberechtigungen für den Speicherordner der Sitzungsaufzeichnung – Schritt 1

    Erteilen Sie dem gMSA Lese- und Schreibberechtigungen für den Speicherordner der Sitzungsaufzeichnung - Schritt 2

    Vererbung aktivieren

    Hinweis:

    Alternativ können Sie ein Skript ähnlich dem folgenden verwenden, um einem gMSA Lese- und Schreibberechtigungen für den Speicherordner der Sitzungsaufzeichnung 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 Authorization Console hinzu.

    1. Suchen Sie die Sicherheitskennung (SID) für das gMSA.

      Suchen der SID für das gMSA

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

      gMSA-SID in eine Datei schreiben

    3. Gewähren Sie dem gMSA die Vollzugriffsberechtigung für den Ordner App-Data .

      Gewähren Sie dem gMSA die Vollzugriffsberechtigung für den App-Data-Ordner

    4. Überprüfen Sie, ob das gMSA erfolgreich zur Session Recording Authorization Console hinzugefügt wurde.

      Überprüfen Sie, ob das gMSA erfolgreich zur Session Recording Authorization Console hinzugefügt wurde.

    Hinweis:

    Alternativ können Sie ein Skript ähnlich dem folgenden verwenden, um der Session Recording Authorization Console ein gMSA 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-->
    
gMSA-Unterstützung (Group Managed Service Account) für die Sitzungsaufzeichnung konfigurieren