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.
-
Öffnen Sie auf dem Domänencontroller das Active Directory-Verwaltungscenter.

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

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

Ein Gruppenmitglied wird beispielsweise wie folgt hinzugefügt:

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

-
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.
-
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:

-
Wenn Sie PowerShell mit Administratorrechten verwenden, führen Sie den folgenden Befehl aus:
Install-WindowsFeature -Name RSAT-AD-PowerShell <!--NeedCopy-->
-
-
Ö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)
-
Ü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
-
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)
-
Aktivieren Sie das gMSA für den Zugriff auf die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank.
-
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)
-
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:
-
Ö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.

Beispielsweise wurden die folgenden Anwendungspoolidentitäten auf das 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--> -
Ö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.
-
Suchen Sie den Objekttyp des Dienstkontos.

-
Geben Sie den Namen des gMSA ein.

-
Erteilen Sie dem gMSA Leseberechtigung.

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



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--> -
Fügen Sie das gMSA zur Session Recording-Autorisierungskonsole hinzu.
-
Suchen Sie die Sicherheits-ID (SID) für das gMSA.

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

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

-
Ü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--> -
In diesem Artikel
- Schritt 1: Erstellen eines gMSA auf dem Domänencontroller
- Schritt 2: Installieren des gMSA auf jedem Mitgliedsserver
- Schritt 3: Aktivieren des gMSA für den Zugriff auf die Session Recording-Datenbank und die Session Recording-Protokollierungsdatenbank
- Schritt 3: gMSA den Zugriff auf die Session Recording-Server ermöglichen