Sitzungsaufzeichnungsdienst

Bereitstellen von Session Recording-Ressourcen für ein Cloud-Abonnement

Dieser Artikel enthält Informationen zur Bereitstellung von Session Recording-Ressourcen für ein Azure-Abonnement.

Sie können die folgenden Session Recording-Ressourcen über den Session Recording-Dienst in einem Azure-Abonnement bereitstellen:

  • Session Recording-Server
  • Datenbanken
  • Speicher
  • Lastenausgleich

Es gibt zwei Möglichkeiten, Session Recording-Ressourcen in einem Azure-Abonnement bereitzustellen:

  • Verwenden Sie eine Hostverbindung, die eine Verbindung mit dem Azure-Abonnement herstellt. Zum Erstellen einer Hostverbindung müssen Sie Ihre Abonnementinformationen angeben. Weitere Informationen finden Sie unter Erstellen und Bereitstellen einer Site über eine Hostverbindung weiter unten in diesem Artikel.

  • Wenn Sie Ihre Abonnementinformationen nicht angeben möchten, erstellen Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage), die enthält, wie und welche Ressourcen Sie bereitstellen möchten. Weitere Informationen finden Sie unter Erstellen und Bereitstellen einer Site über eine ARM-Vorlage weiter unten in diesem Artikel.

Erstellen und Bereitstellen einer Site über eine Hostverbindung

Dieser Abschnitt führt Sie durch das Verfahren zum Erstellen und Bereitstellen einer Site über eine Hostverbindung und die folgenden Vorgänge, die auf einer auf diese Weise bereitgestellten Site ausgeführt werden können:

  • Ressourcen zu einer vorhandenen, in Azure bereitgestellten Site hinzufügen
  • Die IP-Adressen ändern, die auf den Lastenausgleich zugreifen dürfen
  • Tatsächliche Kosten für die Nutzung von Azure anzeigen

Eine Site über eine Hostverbindung erstellen und bereitstellen

  1. Wählen Sie Konfiguration > Serververwaltung in der linken Navigation des Session Recording-Dienstes.

    Seite „Serververwaltung“

  2. Klicken Sie auf der Seite Serververwaltung auf Site erstellen. Die Seite Site erstellen wird angezeigt.

    Seite „Site erstellen“

  3. Wählen Sie Eine Site über eine Hostverbindung erstellen und bereitstellen. Die wichtigsten Schritte sind in der linken Navigation aufgeführt.

    Eine Site über eine Hostverbindung erstellen und bereitstellen

  4. Geben Sie einen Sitenamen und eine Beschreibung ein, wählen Sie eine Hostverbindung, die mit Ihrem Azure-Abonnement verbunden ist, und geben Sie eine Region an.

    • Wenn Sie noch keine Hostverbindung eingerichtet haben, fügen Sie eine hinzu, indem Sie sich später in diesem Artikel auf Hostverbindung hinzufügen beziehen.

    • Azure Government-Regionen werden nicht unterstützt.

  5. Nachdem Sie die Siteinformationen eingegeben haben, klicken Sie auf Weiter, um fortzufahren.

  6. (Optional) Um Empfehlungen für VM- und Speicherkonfigurationen zu erhalten, geben Sie Informationen zu Ihren Aufzeichnungsanforderungen an.

    Sie können diesen Schritt überspringen, indem Sie auf Ich bin gut, diesen Schritt überspringen klicken oder auf Weiter klicken, ohne etwas auszuwählen.

    Ihre Aufzeichnungsanforderungen

    Wenn Sie eine Option aus der Dropdown-Liste auswählen, wird eine Empfehlung entsprechend Ihrer Auswahl angezeigt. Neben der Empfehlung ist eine Schaltfläche Zurücksetzen verfügbar. Damit können Sie Ihre Auswahlen und die entsprechende Empfehlung in diesem Abschnitt löschen.

  7. Gehen Sie zum Azure-Portal und erstellen Sie ein neues virtuelles Netzwerk in der von Ihnen ausgewählten Region. Richten Sie dann ein Peering des virtuellen Netzwerks zwischen dem neuen virtuellen Netzwerk und dem Netzwerk ein, mit dem Ihre VDAs verbunden sind. Fügen Sie anschließend ein Subnetz im neuen virtuellen Netzwerk hinzu. Suchen Sie die Subnetz-ID und geben Sie sie unten ein.

    Netzwerkeinstellungen

    Um die Verbindungen zwischen Ressourcen innerhalb des privaten Netzwerks aufrechtzuerhalten, aktivieren Sie das Kontrollkästchen Create private endpoints for storage and databases.

    Nachdem Sie das Kontrollkästchen Create private endpoints for storage and databases aktiviert haben, entscheiden Sie, ob Sie eine weitere Subnetz-ID eingeben möchten, indem Sie Folgendes berücksichtigen:

    • Wenn Sie nicht planen, Ihre Session Recording-Server einer Active Directory-Domäne beizutreten, ist das Subnetz nicht erforderlich, und Sie lassen das Feld für die Subnetz-ID leer.
    • Wenn Sie das Feld für die Subnetz-ID leer lassen, treten Ihre Session Recording-Server einer Azure Active Directory-Domäne bei.

    Eine weitere Subnetz-ID

  8. Erstellen Sie virtuelle Maschinen (VMs) als Ihre Session Recording-Server.

    VMs als Session Recording-Server erstellen

    Hinweis:

    • Das Feld Number of VMs ist mit der empfohlenen Anzahl vorausgefüllt, falls vorhanden. Ändern Sie die Anzahl nach Bedarf.
    • Die geschätzten Kosten basieren auf Standardpreisen und berücksichtigen keine Rabatte. Sie können mit niedrigeren tatsächlichen Kosten als geschätzt rechnen.
  9. Fügen Sie die Session Recording-Server derselben Domäne wie Ihre VDAs hinzu und geben Sie ein Zertifikat für die Session Recording-Server an.

    • Wenn Ihre VDAs mit einer Active Directory-Domäne verbunden sind, aktivieren Sie das Kontrollkästchen Join servers to an Active Directory domain und geben Sie die relevanten Informationen ein. Durch Aktivieren des Kontrollkästchens Join servers to an Active Directory domain konfigurieren Sie die Bereitstellung für ein Hybridszenario, das lokale Active Directory mit Azure AD integriert.

    • Wenn Ihre VDAs mit einer Azure Active Directory (Azure AD)-Domäne verbunden sind, deaktivieren Sie das Kontrollkästchen Join servers to an Active Directory domain. Nachdem Sie die Erstellung der aktuellen Site abgeschlossen haben, stellen Sie sicher, dass Sie die Session Recording-Server manuell derselben Azure AD-Domäne hinzufügen. Beachten Sie, dass eine reine Azure AD-Bereitstellung nur für Session Recording 2402 und höher verfügbar ist.

    Server einer Active Directory-Domäne beitreten

    Server einer Azure Active Directory-Domäne beitreten

    Hinweis:

    Seit Juli 2023 hat Microsoft Azure Active Directory (Azure AD) in Microsoft Entra ID umbenannt. In diesem Dokument bezieht sich jede Referenz auf Azure Active Directory, Azure AD oder AAD nun auf Microsoft Entra ID.

  10. Konfigurieren Sie ein Azure-Speicherkonto und Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien. Preisinformationen finden Sie unter Azure Files-Preise.

    Konfigurieren eines Azure-Speicherkontos und von Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien

  11. Erstellen Sie zwei SQL-Datenbanken in Azure. Eine wird als Sitzungsaufzeichnungsdatenbank (benannt sessionrecording) und die andere als Administrator-Protokollierungsdatenbank (benannt sessionrecordinglogging) verwendet.

    Zwei SQL-Datenbanken in Azure erstellen

    Hinweis:

    Beim Hinzufügen von Ressourcen, insbesondere von Sitzungsaufzeichnungsservern, zu einer vorhandenen Site, die über eine Hostverbindung bereitgestellt wurde, müssen Sie das bei der Site-Erstellung festgelegte Datenbankadministratorpasswort angeben.

  12. Erstellen Sie einen Lastenausgleich, um die Arbeitslast auf die Sitzungsaufzeichnungsserver zu verteilen. Geben Sie die IP-Adressen oder Bereiche Ihrer VDAs ein und trennen Sie diese durch ein Komma (,) im Feld Zugriff des Lastenausgleichs nur auf die folgenden Adressen beschränken. Preisinformationen finden Sie unter Preise für Load Balancer.

    Erstellen eines Lastenausgleichs

  13. (Optional) Wenden Sie Tags auf die zu erstellenden Azure-Ressourcen an.

    Anwenden von Tags auf Azure-Ressourcen

  14. Erstellen Sie einen sicheren Client, um die Sitzungsaufzeichnungsserver in den Sitzungsaufzeichnungsdienst zu integrieren.

    Klicken Sie auf Client erstellen, damit Citrix in Ihrem Namen einen sicheren Client erstellt. Alternativ können Sie einen sicheren Client über die Registerkarte Identity and Access Management > API Access der Citrix Cloud™-Konsole erstellen und anschließend die unten stehenden Informationen eingeben.

    Schaltfläche “Client erstellen”(/de-de/session-recording/service/media/create-client-button.png)

  15. Zeigen Sie die Zusammenfassung der zu erstellenden Site an. Klicken Sie bei Bedarf auf das Bleistiftsymbol, um Ihre Einstellungen zu bearbeiten, oder klicken Sie auf die Schaltfläche, um die Bereitstellung zu starten.

    Zusammenfassung der zu erstellenden Site(/de-de/session-recording/service/media/summary-about-the-site-to-be-created.png)

    Im Folgenden finden Sie Beispiele für den Bereitstellungsprozess:

    Bereitstellung läuft:

    Bereitstellung läuft(/de-de/session-recording/service/media/deployment-in-progress.png)

    Während eine Site-Bereitstellung läuft, können Sie auf Status anzeigen klicken, um den Fortschritt anzuzeigen.

    Bereitstellung fehlgeschlagen:

    Bereitstellung fehlgeschlagen(/de-de/session-recording/service/media/deployment-failed.png)

    Wenn während des Bereitstellungsprozesses Fehler auftreten, klicken Sie auf Status anzeigen, um die Fehlerdetails anzuzeigen. Ein Beispiel für die Fehlerdetails:

    Details zum Bereitstellungsfehler(/de-de/session-recording/service/media/deployment-error-details.png)

    Sie können auf Zurück zur Konfiguration klicken oder die Bereitstellung abbrechen. Wenn Sie auf Zurück zur Konfiguration klicken, werden Sie zur Seite Site erstellen zurückgeleitet, wo Sie Ihre Konfigurationen ändern und es erneut versuchen können. Wenn Sie die Bereitstellung wirklich abbrechen möchten, folgen Sie dem Assistenten, um die Site und die für die Site erstellten Azure-Ressourcen zu entfernen. Beispiel:

    Bereitstellung abgebrochen(/de-de/session-recording/service/media/deployment-cancelled.png)

    Bereitstellung erfolgreich:

    Wenn eine Site-Bereitstellung abgeschlossen ist, können Sie die Site erweitern und die darunter erstellten Ressourcen anzeigen und verwalten. Die Schaltfläche Status anzeigen ändert sich in Einstellungen. Ein Azure-Symbol ist verfügbar, um auf Azure bereitgestellte Sites darzustellen. Informationen zu Site-Einstellungen finden Sie unter Site- und Servereinstellungen.

    Bereitgestellte Site

Ressourcen zu einer vorhandenen, auf Azure bereitgestellten Site hinzufügen

Für eine vorhandene Site, die Sie auf Azure über eine Hostverbindung bereitgestellt haben, können Sie Ressourcen, einschließlich Server und Speicher, hinzufügen. Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie Konfiguration > Serververwaltung aus der linken Navigation des Session Recording-Dienstes.
  2. Auf der Seite Serververwaltung suchen und entfalten Sie die Ziel-Site. Ein Azure-Symbol ist verfügbar, um auf Azure bereitgestellte Sites darzustellen.
  3. Klicken Sie auf Ressourcen hinzufügen.

    Die Schaltfläche „Ressourcen hinzufügen“

  4. Auf der Seite Ressourcen hinzufügen klicken Sie bei Bedarf auf Server hinzufügen und Speicher hinzufügen.

    Die Seite „Ressourcen hinzufügen“

    • Um Server hinzuzufügen, klicken Sie auf Server hinzufügen und führen Sie dann die folgenden Schritte aus:

      Server hinzufügen

      1. Geben Sie die Anzahl der hinzuzufügenden Server an.
      2. Klicken Sie im Abschnitt Domäne auf Anmeldeinformationen angeben, um die neuen Server derselben Domäne wie die vorhandenen Server beizutreten.
      3. Klicken Sie im Abschnitt Administratorkonten auf Anmeldeinformationen angeben, um das bei der Site-Erstellung festgelegte Datenbankadministrator-Passwort anzugeben. Zusätzlich müssen Sie ein Passwort für das Administratorkonto auf den hinzuzufügenden Servermaschinen festlegen. Wir empfehlen, dasselbe Passwort zu verwenden, das bei der Site-Erstellung festgelegt wurde.
      4. Klicken Sie auf Client erstellen, um die neuen Server in den Session Recording-Dienst aufzunehmen.
      5. Klicken Sie auf Bereitstellung starten.
    • Um Speicher zum Speichern von Aufzeichnungsdateien hinzuzufügen, klicken Sie auf Speicher hinzufügen und führen Sie dann die folgenden Schritte entsprechend aus:

      1. Wenn Ihre Site mit einem Standardspeicherkonto erstellt wurde, werden Sie aufgefordert, die Anzahl der hinzuzufügenden Dateifreigaben anzugeben. Zum Beispiel:

        Hinzuzufügende Dateifreigaben für ein Standardspeicherkonto

      2. Wenn Ihre Site mit einem Premium-Speicherkonto erstellt wurde, können Sie die Anzahl der hinzuzufügenden Dateifreigaben angeben und die Kapazität jeder Dateifreigabe anpassen. Zum Beispiel:

        Hinzuzufügende Dateifreigaben für ein Standardspeicherkonto

      3. Klicken Sie auf Bereitstellung starten.

        Hinweis:

        • Die Schaltfläche Bereitstellung starten ist verfügbar, wenn eine der folgenden Bedingungen erfüllt ist:
          • Mindestens ein Server wurde angegeben und die Domäne sowie der sichere Client wurden konfiguriert.
          • Mindestens eine Dateifreigabe wurde angegeben.
        • Während die Ressourcenbereitstellung läuft, ist die Schaltfläche Einstellungen für den Lastenausgleich deaktiviert.
        • Die Bereitstellung hinzugefügter Ressourcen kann fehlschlagen, und der Session Recording-Dienst ist möglicherweise nicht in der Lage, diese Ressourcen aus Ihrem Abonnement zu entfernen. In diesem Fall wird eine ähnliche Aufforderung wie die folgende angezeigt, damit Sie Maßnahmen ergreifen können:

          Fehler beim Bereinigen von Ressourcen

IP-Adressen ändern, die auf den Lastenausgleich zugreifen dürfen

Für eine bestehende Site, die Sie in Azure über eine Hostverbindung bereitgestellt haben, können Sie die IP-Adressen ändern, die auf den Lastenausgleich zugreifen dürfen. Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie Konfiguration > Serververwaltung in der linken Navigation des Session Recording-Dienstes aus.
  2. Suchen und entfalten Sie auf der Seite Serververwaltung die Ziel-Site. Ein Azure-Symbol ist verfügbar, um in Azure bereitgestellte Sites darzustellen.
  3. Klicken Sie im Abschnitt Lastenausgleich auf die Schaltfläche Einstellungen.

    Die Schaltfläche „Einstellungen“ für den Lastenausgleich

  4. Geben Sie auf der Einstellungsseite für den Lastenausgleich die neuen IP-Adressen oder Bereiche Ihrer VDAs ein und trennen Sie diese durch ein Komma (,) im Feld Zugriff auf den Lastenausgleich nur auf die folgenden Adressen beschränken.

    Festlegen, welche VDAs auf den Lastenausgleich zugreifen können

  5. Klicken Sie auf Speichern.

Tatsächliche Kosten für die Nutzung von Azure anzeigen

Für eine bestehende Site, die Sie in Azure über eine Hostverbindung bereitgestellt haben, klicken Sie auf den Kostenbetrag, um die Kostendetails anzuzeigen. Zum Beispiel:

Kosten für die Nutzung von Azure

Kostenanalyse

Tipps zum Anzeigen der tatsächlichen Kosten:

  • Wenn Sie den Mauszeiger über das Flächendiagramm für den aktuellen Monat bewegen, wird eine Referenzlinie für das Datum und die Daten dieses Tages als Überlagerung angezeigt.
  • Die Verlaufskosten verschiedener Ressourcen werden durch Liniendiagramme dargestellt. Liniendiagramme sind verfügbar, wenn Daten für mindestens zwei Monate vorliegen. Wenn Sie den Mauszeiger über die Liniendiagramme bewegen, wird eine Referenzlinie und eine Kostenaufschlüsselung des Monats als Overlay angezeigt. Um das Liniendiagramm nur einer bestimmten Ressource anzuzeigen, bewegen Sie den Mauszeiger über die Ressource.

Hostverbindung hinzufügen

Führen Sie die folgenden Schritte aus, um eine Hostverbindung hinzuzufügen:

  1. Klicken Sie auf der Seite Site erstellen mit ausgewählter Option Site über eine Hostverbindung erstellen und bereitstellen auf Verbindung hinzufügen. Oder klicken Sie auf der Seite Hostverbindung auf Verbindung hinzufügen.

    Um auf die Seite Site erstellen zuzugreifen, wählen Sie im linken Navigationsbereich des Session Recording-Dienstes Konfiguration > Serververwaltung und klicken Sie dann auf Site erstellen.

    Seite Serververwaltung

    Um auf die Seite Hostverbindung zuzugreifen, wählen Sie im linken Navigationsbereich des Session Recording-Dienstes Konfiguration > Hostverbindung:

    Seite Hostverbindung

  2. Geben Sie auf der Seite Verbindung hinzufügen einen Namen und eine Beschreibung (optional) für die neue Hostverbindung ein. Geben Sie Ihre Azure-Abonnement-ID und die folgenden erforderlichen Informationen zu Ihrer Anwendungsregistrierung ein:

    • Anwendungs-ID (Client-ID)
    • Dienstprinzipal-Objekt-ID (ID des Dienstprinzipal-Objekts, das der Anwendung zugeordnet ist)
    • Verzeichnis-ID (Mandanten-ID)
    • Geheimer Clientschlüssel
    • Ablaufdatum des geheimen Schlüssels

    Seite Verbindung hinzufügen

    Gehen Sie wie folgt vor, um Ihre Azure-Abonnement-ID zu finden:

    1. Melden Sie sich beim Azure-Portal an.
    2. Wählen Sie unter dem Abschnitt Azure-Dienste die Option Abonnements.
    3. Suchen Sie Ihr Abonnement in der Liste und kopieren Sie die in der zweiten Spalte angezeigte Abonnement-ID.

      Suchen der Azure-Abonnement-ID

    Gehen Sie wie folgt vor, um die erforderlichen Informationen zu Ihrer Anwendungsregistrierung zu erhalten:

    1. (Überspringen Sie diesen Schritt, wenn Sie bereits eine Anwendung registriert haben.) Registrieren Sie eine Anwendung bei Ihrem Azure AD-Mandanten. Eine Anwendung muss registriert werden, um Identitäts- und Zugriffsverwaltungsfunktionen an Azure AD zu delegieren.

      Es gibt zwei Methoden zum Registrieren einer Anwendung.

      Methode 1:

      1. Kopieren Sie das folgende von Citrix bereitgestellte Skript und nennen Sie es beispielsweise AppRegistration.ps1:

        <#
        .SYNOPSIS
            Copyright (c) Citrix Systems, Inc. All Rights Reserved.
        .DESCRIPTION
            Create Azure app registrations and give proper permissions for Citrix Session Recording service deployment
        .Parameter azureTenantID
        .Parameter azureSubscriptionID
        .Parameter appName
        .Parameter role
        #>
        
        [CmdletBinding()]
        Param(
            [Parameter(Mandatory = $true)] [String] $tenantId,
            [Parameter(Mandatory = $true)] [String] $subscriptionId,
            [Parameter(Mandatory = $true)] [String] $appName,
            [Parameter(Mandatory = $true)] [String] $role
        )
        
        if ($role -ne "Citrix Session Recording service" -and $role -ne "Citrix Session Recording Deployment" -and $role -ne "Contributor") {
            throw [System.Exception] "Invalid role '$role', only support 'Citrix Session Recording service', 'Citrix Session Recording Deployment', and 'Contributor'."
        }
        
        try {
            Get-InstalledModule -Name "Az.Accounts" -ErrorAction Stop
        }
        catch {
            Install-Module -Name "Az.Accounts" -Scope CurrentUser -Repository PSGallery -SkipPublisherCheck -Force
        }
        try {
            Get-InstalledModule -Name "Az.Resources" -ErrorAction Stop
        }
        catch {
            Install-Module -Name "Az.Resources" -Scope CurrentUser -Repository PSGallery -SkipPublisherCheck -Force
        }
        
        Connect-AzAccount -TenantId $tenantId -Subscription $subscriptionId
        
        try {
        
            $azureAdApplication = Get-AzADApplication -DisplayName $appName
            if ($null -eq $azureAdApplication) {
                Write-Host "Create a new app registration for Citrix Session Recording" -ForegroundColor Green
                $azureAdApplication = New-AzADApplication -DisplayName $appName -AvailableToOtherTenants $false
            }
            else {
                Write-Host "App registration '$appName' already exists." -ForegroundColor Yellow
            }
        
            $azureAdApplicationServicePrincipal = Get-AzADServicePrincipal -DisplayName $appName
            if($null -eq $azureAdApplicationServicePrincipal) {
                $azureAdApplicationServicePrincipal = New-AzADServicePrincipal -AppId $azureAdApplication.AppId
                Write-Host "Create a service principal for app registration '$appName'" -ForegroundColor Green
            }else{
                Write-Host "Service principal already exists for app registration '$appName'" -ForegroundColor Yellow
            }
        
            if ($role -eq "Citrix Session Recording service" -or $role -eq "Citrix Session Recording Deployment") {
                $rootPath = Get-Location
                $customRolePath = $(Join-Path -Path $rootPath -ChildPath "sessionrecording.json") | Resolve-Path
                $customRoleJson = Get-Content $customRolePath | ConvertFrom-Json
                $customRoleJson.AssignableScopes[0] = "/subscriptions/" + $subscriptionId
                $tmpCustomRolePath = Join-Path -Path $rootPath -ChildPath "sessionrecording_tmp.json"
        
                $roleDef = Get-AzRoleDefinition -Name $role
                if ($null -eq $roleDef) {
                    try {
                        $customRoleJson | ConvertTo-Json -depth 32 | Set-Content $tmpCustomRolePath
                        Write-Host "Create a custom role '$role'" -ForegroundColor Green
                        New-AzRoleDefinition -InputFile $tmpCustomRolePath
                    }
                    catch {
                        Write-Host "Failed to create custom role, error: $_" -ForegroundColor Red
                        throw $_.Exception
                    }
                }
                else {
                    try {
                        $customRoleJson | Add-Member -MemberType NoteProperty -Name 'id' -Value $($roleDef.Id)
                        $customRoleJson | ConvertTo-Json -depth 32 | Set-Content $tmpCustomRolePath
                        Write-Host "Upadate the custom role '$role'" -ForegroundColor Green
                        Set-AzRoleDefinition -InputFile $tmpCustomRolePath
                    }
                    catch {
                        Write-Host "Failed to update custom role, error: $_" -ForegroundColor Red
                        throw $_.Exception
                    }
                }
            }
        
            $roleAssignment = Get-AzRoleAssignment -RoleDefinitionName $role -ObjectId $($azureAdApplicationServicePrincipal.Id)
            if ($null -eq $roleAssignment) {
                Write-Host "Assign role '$role' to app '$appName'" -ForegroundColor Green
                New-AzRoleAssignment -RoleDefinitionName $role -ApplicationId $azureAdApplication.AppId
            }
            else {
                Write-Host "Role '$role' already assigned to app '$appName'" -ForegroundColor Yellow
            }
        
            Write-Host "Tenant ID:                   $tenantId" -ForegroundColor Green
            Write-Host "Subscription ID:             $subscriptionId" -ForegroundColor Green
            Write-Host "Application ID:              $($azureAdApplication.AppId)" -ForegroundColor Green
            Write-Host "Service principal object ID: $($azureAdApplicationServicePrincipal.Id)" -ForegroundColor Green
        }
        catch {
            Write-Host "Failed to assign role assignment to this app, error: $_" -ForegroundColor Red
            Write-Host "Please make sure the current azure admin has permission to assign roles" -ForegroundColor Red
        }
        <!--NeedCopy-->
        
      2. Kopieren Sie die folgende benutzerdefinierte Rollendatei und nennen Sie sie sessionrecording.json. Diese benutzerdefinierte Rollendatei hilft dabei, der zu registrierenden Anwendung die geringsten Berechtigungen zuzuweisen.

        {
            "name": "Citrix Session Recording service",
            "description": "This role has permissions which allow Citrix Session Recording service to deploy Session Recording resources using a host connection.",
            "assignableScopes": [
                "/subscriptions/*"
            ],
            "actions": [
                "Microsoft.Compute/availabilitySets/write",
                "Microsoft.Compute/virtualMachines/delete",
                "Microsoft.Compute/virtualMachines/extensions/read",
                "Microsoft.Compute/virtualMachines/extensions/write",
                "Microsoft.Compute/virtualMachines/read",
                "Microsoft.Compute/virtualMachines/runCommands/read",
                "Microsoft.Compute/virtualMachines/runCommands/write",
                "Microsoft.Compute/virtualMachines/write",
                "Microsoft.CostManagement/forecast/read",
                "Microsoft.CostManagement/query/read",
                "Microsoft.KeyVault/locations/deletedVaults/purge/action",
                "Microsoft.KeyVault/vaults/PrivateEndpointConnectionsApproval/action",
                "Microsoft.KeyVault/vaults/read",
                "Microsoft.KeyVault/vaults/secrets/read",
                "Microsoft.KeyVault/vaults/secrets/write",
                "Microsoft.KeyVault/vaults/write",
                "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
                "Microsoft.ManagedIdentity/userAssignedIdentities/read",
                "Microsoft.ManagedIdentity/userAssignedIdentities/write",
                "Microsoft.Network/dnsForwardingRulesets/forwardingRules/read",
                "Microsoft.Network/dnsForwardingRulesets/forwardingRules/write",
                "Microsoft.Network/dnsForwardingRulesets/read",
                "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks/read",
                "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks/write",
                "Microsoft.Network/dnsForwardingRulesets/write",
                "Microsoft.Network/dnsResolvers/outboundEndpoints/join/action",
                "Microsoft.Network/dnsResolvers/outboundEndpoints/read",
                "Microsoft.Network/dnsResolvers/outboundEndpoints/write",
                "Microsoft.Network/dnsResolvers/read",
                "Microsoft.Network/dnsResolvers/write",
                "Microsoft.Network/loadBalancers/backendAddressPools/join/action",
                "Microsoft.Network/loadBalancers/read",
                "Microsoft.Network/loadBalancers/write",
                "Microsoft.Network/networkInterfaces/join/action",
                "Microsoft.Network/networkInterfaces/read",
                "Microsoft.Network/networkInterfaces/write",
                "Microsoft.Network/networkSecurityGroups/delete",
                "Microsoft.Network/networkSecurityGroups/join/action",
                "Microsoft.Network/networkSecurityGroups/read",
                "Microsoft.Network/networkSecurityGroups/securityRules/read",
                "Microsoft.Network/networkSecurityGroups/securityRules/write",
                "Microsoft.Network/networkSecurityGroups/write",
                "Microsoft.Network/privateDnsZones/join/action",
                "Microsoft.Network/privateDnsZones/read",
                "Microsoft.Network/privateDnsZones/virtualNetworkLinks/read",
                "Microsoft.Network/privateDnsZones/virtualNetworkLinks/write",
                "Microsoft.Network/privateDnsZones/write",
                "Microsoft.Network/privateEndpoints/privateDnsZoneGroups/read",
                "Microsoft.Network/privateEndpoints/privateDnsZoneGroups/write",
                "Microsoft.Network/privateEndpoints/read",
                "Microsoft.Network/privateEndpoints/write",
                "Microsoft.Network/publicIPAddresses/join/action",
                "Microsoft.Network/publicIPAddresses/read",
                "Microsoft.Network/publicIPAddresses/write",
                "Microsoft.Network/virtualNetworks/join/action",
                "Microsoft.Network/virtualNetworks/read",
                "Microsoft.Network/virtualNetworks/subnets/join/action",
                "Microsoft.Network/virtualNetworks/subnets/read",
                "Microsoft.Resources/deployments/operationstatuses/read",
                "Microsoft.Resources/deployments/read",
                "Microsoft.Resources/deployments/write",
                "Microsoft.Resources/subscriptions/resourceGroups/delete",
                "Microsoft.Resources/subscriptions/resourceGroups/read",
                "Microsoft.Resources/subscriptions/resourceGroups/write",
                "Microsoft.Sql/servers/auditingSettings/write",
                "Microsoft.Sql/servers/databases/write",
                "Microsoft.Sql/servers/firewallRules/write",
                "Microsoft.Sql/servers/privateEndpointConnectionsApproval/action",
                "Microsoft.Sql/servers/read",
                "Microsoft.Sql/servers/write",
                "Microsoft.Storage/storageAccounts/PrivateEndpointConnectionsApproval/action",
                "Microsoft.Storage/storageAccounts/fileServices/shares/delete",
                "Microsoft.Storage/storageAccounts/fileServices/shares/read",
                "Microsoft.Storage/storageAccounts/fileServices/shares/write",
                "Microsoft.Storage/storageAccounts/listkeys/action",
                "Microsoft.Storage/storageAccounts/read",
                "Microsoft.Storage/storageAccounts/write"
            ],
            "NotActions": [],
            "DataActions": [],
            "NotDataActions": []
        }
        <!--NeedCopy-->
        
      3. Legen Sie AppRegistration.ps1 und sessionrecording.json im selben Ordner ab.
      4. Führen Sie je nach Bedarf einen der folgenden Befehle aus.

      Um eine Anwendung zu erstellen und ihr mit der vorhergehenden benutzerdefinierten Rollendatei (sessionrecording.json) die geringsten Berechtigungen zuzuweisen, führen Sie Folgendes aus:

      ```
      .\AppRegistration.ps1 -tenantId <tenant ID> -subscriptionId <subscription ID> -appName <application name> -role "Citrix Session Recording service"
      <!--NeedCopy--> ```
      
      To create an application and assign it the Azure built-in **Contributor** role, run:
      
      ```
      .\AppRegistration.ps1 -tenantId <tenant ID> -subscriptionId <subscription ID> -appName <application name> -role "Contributor"
      <!--NeedCopy--> ```
      

      Methode 2:

      Gehen Sie zum Azure-Portal und registrieren Sie selbst eine Anwendung. Erteilen Sie der Anwendung die entsprechenden Berechtigungen. Die mindestens erforderlichen Berechtigungen finden Sie in der Datei sessionrecording.json unter Methode 1.

    2. Klicken Sie auf den Anzeigenamen Ihrer Anwendung.

      Anzeigename der Anwendung(/de-de/session-recording/service/media/application-display-name.png)

    3. Auf der Übersichtsseite suchen Sie die Anwendungs-ID (Client-ID) und die Verzeichnis-ID (Mandanten-ID). Klicken Sie auf den Link neben Verwaltete Anwendung im lokalen Verzeichnis, um die ID des Dienstprinzipalobjekts zu finden, das der Anwendung zugeordnet ist. Klicken Sie auf den Link neben Client-Anmeldeinformationen, um die Client-Geheimnis-ID und ihr Ablaufdatum zu finden.

      Anwendungsgrundlagen(/de-de/session-recording/service/media/application-essentials.png)

      Zum Beispiel die ID des Dienstprinzipalobjekts, das der Anwendung zugeordnet ist:

      ID des Dienstprinzipalobjekts(/de-de/session-recording/service/media/service-principal-object-id.png)

      Zum Beispiel die Client-Geheimnis-ID und ihr Ablaufdatum:

      Client-Geheimnis-ID und ihr Ablaufdatum(/de-de/session-recording/service/media/client-secret-id-and-its-expiration-date.png)

  3. Klicken Sie auf Speichern, um zu testen, ob die von Ihnen angegebene Hostverbindung verfügbar ist.

    Wenn die von Ihnen angegebene Hostverbindung verfügbar ist, werden Sie zur Seite Hostverbindung zurückgeleitet und es wird angezeigt, dass die Hostverbindung erfolgreich hinzugefügt wurde.

    Der Session Recording-Dienst erinnert Sie mithilfe von Fehler- bzw. Warnsymbolen an abgelaufene und ablaufende Client-Geheimnisse. Sie können auf die entsprechende Hostverbindung klicken und auf der Seite Verbindungsdetails auf Geheimnis ändern klicken, um das Client-Geheimnis und sein Ablaufdatum zu aktualisieren.

    Geheimnis ändern(/de-de/session-recording/service/media/change-secret.png)

Eine Site über eine ARM-Vorlage erstellen und bereitstellen

Sie können eine Azure Resource Manager-Vorlage (ARM-Vorlage) erstellen, um Session Recording-Ressourcen in Azure bereitzustellen. Im Folgenden sind die wichtigsten Schritte zur Erreichung dieses Ziels aufgeführt:

  1. Erstellen Sie eine ARM-Vorlage im Session Recording-Dienst. Die ARM-Vorlage ist eine JSON-Datei (JavaScript Object Notation), die enthält, wie und welche Ressourcen Sie bereitstellen möchten.
  2. Laden Sie die ARM-Vorlage herunter und entpacken Sie sie. Führen Sie das Bereitstellungsskript im entpackten Vorlagenordner aus, um die Bereitstellung der in der Vorlage angegebenen Ressourcen in Azure zu starten.
  3. Überprüfen Sie den Bereitstellungsfortschritt in Azure. Nachdem die Bereitstellung abgeschlossen ist, richten Sie Session Recording ein, um es in Betrieb zu nehmen. Um Session Recording einzurichten, müssen Sie die Version des zu installierenden Session Recording-Servers angeben und die Datei resourceInfo.json hochladen.

Die spezifischen Schritte sind wie folgt:

  1. Wählen Sie Configuration > Server Management aus der linken Navigation des Session Recording-Dienstes.

    Seite „Serververwaltung“

  2. Klicken Sie auf der Seite Server Management auf Create site. Die Seite Create Site wird angezeigt.

    Seite „Site erstellen“

  3. Wählen Sie Create and deploy a site through an ARM template. Die Hauptschritte sind in der linken Navigation aufgeführt.

    Site über eine ARM-Vorlage erstellen und bereitstellen

  4. Geben Sie einen Sitenamen und eine Beschreibung ein und klicken Sie dann auf Next.

  5. (Optional) Um Empfehlungen für VM- und Speicherkonfigurationen zu erhalten, geben Sie Informationen zu Ihren Aufzeichnungsanforderungen an.

    Sie können diesen Schritt überspringen, indem Sie auf I’m good, skip this step klicken oder auf Next klicken, ohne etwas auszuwählen.

    Ihre Aufzeichnungsanforderungen

    Wenn Sie eine Option aus der Dropdown-Liste auswählen, wird eine Empfehlung entsprechend Ihrer Auswahl angezeigt. Neben der Empfehlung ist eine Schaltfläche reset verfügbar. Sie ermöglicht es Ihnen, Ihre Auswahlen und die entsprechende Empfehlung in diesem Abschnitt zu löschen.

  6. Gehen Sie zum Azure-Portal und erstellen Sie ein neues virtuelles Netzwerk in der von Ihnen ausgewählten Region. Richten Sie dann ein Peering des virtuellen Netzwerks zwischen dem neuen virtuellen Netzwerk und dem Netzwerk ein, mit dem Ihre VDAs verbunden sind. Fügen Sie anschließend ein Subnetz im neuen virtuellen Netzwerk hinzu. Suchen Sie die Subnetz-ID und geben Sie sie unten ein.

    Netzwerkeinstellungen

    Um die Verbindungen zwischen Ressourcen innerhalb des privaten Netzwerks aufrechtzuerhalten, aktivieren Sie das Kontrollkästchen Private Endpunkte für Speicher und Datenbanken erstellen.

    Nachdem Sie das Kontrollkästchen Private Endpunkte für Speicher und Datenbanken erstellen aktiviert haben, entscheiden Sie, ob Sie eine weitere Subnetz-ID eingeben möchten, indem Sie Folgendes berücksichtigen:

    • Wenn Sie nicht planen, Ihre Session Recording-Server einer Active Directory-Domäne beizutreten, wird das Subnetz nicht benötigt, und Sie lassen das Feld für die Subnetz-ID leer.
    • Wenn Sie das Feld für die Subnetz-ID leer lassen, treten Ihre Session Recording-Server einer Azure Active Directory-Domäne bei.

    Eine weitere Subnetz-ID

  7. (Überspringen Sie diesen Schritt, wenn Sie bereits eine Anwendung registriert haben.) Registrieren Sie eine Anwendung bei Ihrem Azure AD-Mandanten. Eine Anwendung muss registriert werden, um Identitäts- und Zugriffsverwaltungsfunktionen an Azure AD zu delegieren.

    Es gibt zwei Methoden zum Registrieren einer Anwendung.

    Methode 1:

    1. Kopieren Sie das folgende von Citrix bereitgestellte Skript und nennen Sie es beispielsweise AppRegistration.ps1:

      <#
      .SYNOPSIS
          Copyright (c) Citrix Systems, Inc. All Rights Reserved.
      .DESCRIPTION
          Create Azure app registrations and give proper permissions for Citrix Session Recording service deployment
      .Parameter azureTenantID
      .Parameter azureSubscriptionID
      .Parameter appName
      .Parameter role
      #>
      
      [CmdletBinding()]
      Param(
          [Parameter(Mandatory = $true)] [String] $tenantId,
          [Parameter(Mandatory = $true)] [String] $subscriptionId,
          [Parameter(Mandatory = $true)] [String] $appName,
          [Parameter(Mandatory = $true)] [String] $role
      )
      
      if ($role -ne "Citrix Session Recording service" -and $role -ne "Citrix Session Recording Deployment" -and $role -ne "Contributor") {
          throw [System.Exception] "Invalid role '$role', only support 'Citrix Session Recording service', 'Citrix Session Recording Deployment', and 'Contributor'."
      }
      
      try {
          Get-InstalledModule -Name "Az.Accounts" -ErrorAction Stop
      }
      catch {
          Install-Module -Name "Az.Accounts" -Scope CurrentUser -Repository PSGallery -SkipPublisherCheck -Force
      }
      try {
          Get-InstalledModule -Name "Az.Resources" -ErrorAction Stop
      }
      catch {
         Install-Module -Name "Az.Resources" -Scope CurrentUser -Repository PSGallery -SkipPublisherCheck -Force
      }
      
      Connect-AzAccount -TenantId $tenantId -Subscription $subscriptionId
      
      try {
      
          $azureAdApplication = Get-AzADApplication -DisplayName $appName
          if ($null -eq $azureAdApplication) {
              Write-Host "Create a new app registration for Citrix Session Recording" -ForegroundColor Green
              $azureAdApplication = New-AzADApplication -DisplayName $appName -AvailableToOtherTenants $false
          }
          else {
              Write-Host "App registration '$appName' already exists." -ForegroundColor Yellow
          }
      
          $azureAdApplicationServicePrincipal = Get-AzADServicePrincipal -DisplayName $appName
          if($null -eq $azureAdApplicationServicePrincipal) {
              $azureAdApplicationServicePrincipal = New-AzADServicePrincipal -AppId $azureAdApplication.AppId
              Write-Host "Create a service principal for app registration '$appName'" -ForegroundColor Green
          }else{
              Write-Host "Service principal already exists for app registration '$appName'" -ForegroundColor Yellow
          }
      
          if ($role -eq "Citrix Session Recording service" -or $role -eq "Citrix Session Recording Deployment") {
              $rootPath = Get-Location
              $customRolePath = $(Join-Path -Path $rootPath -ChildPath "sessionrecordingdeployment.json") | Resolve-Path
              $customRoleJson = Get-Content $customRolePath | ConvertFrom-Json
              $customRoleJson.AssignableScopes[0] = "/subscriptions/" + $subscriptionId
              $tmpCustomRolePath = Join-Path -Path $rootPath -ChildPath "sessionrecording_tmp.json"
      
              $roleDef = Get-AzRoleDefinition -Name $role
              if ($null -eq $roleDef) {
                  try {
                      $customRoleJson | ConvertTo-Json -depth 32 | Set-Content $tmpCustomRolePath
                      Write-Host "Create a custom role '$role'" -ForegroundColor Green
                      New-AzRoleDefinition -InputFile $tmpCustomRolePath
                  }
                  catch {
                      Write-Host "Failed to create custom role, error: $_" -ForegroundColor Red
                      throw $_.Exception
                  }
              }
              else {
                  try {
                      $customRoleJson | Add-Member -MemberType NoteProperty -Name 'id' -Value $($roleDef.Id)
                      $customRoleJson | ConvertTo-Json -depth 32 | Set-Content $tmpCustomRolePath
                      Write-Host "Upadate the custom role '$role'" -ForegroundColor Green
                      Set-AzRoleDefinition -InputFile $tmpCustomRolePath
                  }
                  catch {
                      Write-Host "Failed to update custom role, error: $_" -ForegroundColor Red
                      throw $_.Exception
                  }
              }
          }
      
          $roleAssignment = Get-AzRoleAssignment -RoleDefinitionName $role -ObjectId $($azureAdApplicationServicePrincipal.Id)
          if ($null -eq $roleAssignment) {
              Write-Host "Assign role '$role' to app '$appName'" -ForegroundColor Green
              New-AzRoleAssignment -RoleDefinitionName $role -ApplicationId $azureAdApplication.AppId
          }
          else {
              Write-Host "Role '$role' already assigned to app '$appName'" -ForegroundColor Yellow
          }
      
          Write-Host "Tenant ID:                   $tenantId" -ForegroundColor Green
          Write-Host "Subscription ID:             $subscriptionId" -ForegroundColor Green
          Write-Host "Application ID:              $($azureAdApplication.AppId)" -ForegroundColor Green
          Write-Host "Service principal object ID: $($azureAdApplicationServicePrincipal.Id)" -ForegroundColor Green
      }
      catch {
          Write-Host "Failed to assign role assignment to this app, error: $_" -ForegroundColor Red
          Write-Host "Please make sure the current azure admin has permission to assign roles" -ForegroundColor Red
      }
      <!--NeedCopy-->
      
    2. Kopieren Sie die folgende benutzerdefinierte Rollendatei und nennen Sie sie sessionrecordingdeployment.json. Diese benutzerdefinierte Rollendatei hilft dabei, die geringsten Berechtigungen für die zu registrierende Anwendung zuzuweisen.

      {
          "name": "Citrix Session Recording Deployment",
          "description": "This role has permissions which allow users to deploy Session Recording resources using an Azure Resource Manager template (ARM template). ",
          "assignableScopes": [
            "/subscriptions/*"
          ],
          "actions": [
            "Microsoft.Compute/availabilitySets/write",
            "Microsoft.Compute/virtualMachines/extensions/read",
            "Microsoft.Compute/virtualMachines/extensions/write",
            "Microsoft.Compute/virtualMachines/read",
            "Microsoft.Compute/virtualMachines/runCommands/read",
            "Microsoft.Compute/virtualMachines/runCommands/write",
            "Microsoft.Compute/virtualMachines/write",
            "Microsoft.ContainerInstance/containerGroups/read",
            "Microsoft.ContainerInstance/containerGroups/write",
            "Microsoft.KeyVault/vaults/PrivateEndpointConnectionsApproval/action",
            "Microsoft.KeyVault/vaults/read",
            "Microsoft.KeyVault/vaults/secrets/read",
            "Microsoft.KeyVault/vaults/secrets/write",
            "Microsoft.KeyVault/vaults/write",
            "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
            "Microsoft.ManagedIdentity/userAssignedIdentities/read",
            "Microsoft.ManagedIdentity/userAssignedIdentities/write",
            "Microsoft.Network/dnsForwardingRulesets/forwardingRules/read",
            "Microsoft.Network/dnsForwardingRulesets/forwardingRules/write",
            "Microsoft.Network/dnsForwardingRulesets/read",
            "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks/read",
            "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks/write",
            "Microsoft.Network/dnsForwardingRulesets/write",
            "Microsoft.Network/dnsResolvers/outboundEndpoints/join/action",
            "Microsoft.Network/dnsResolvers/outboundEndpoints/read",
            "Microsoft.Network/dnsResolvers/outboundEndpoints/write",
            "Microsoft.Network/dnsResolvers/read",
            "Microsoft.Network/dnsResolvers/write",
            "Microsoft.Network/loadBalancers/backendAddressPools/join/action",
            "Microsoft.Network/loadBalancers/write",
            "Microsoft.Network/networkInterfaces/join/action",
            "Microsoft.Network/networkInterfaces/read",
            "Microsoft.Network/networkInterfaces/write",
            "Microsoft.Network/networkSecurityGroups/join/action",
            "Microsoft.Network/networkSecurityGroups/read",
            "Microsoft.Network/networkSecurityGroups/securityRules/read",
            "Microsoft.Network/networkSecurityGroups/securityRules/write",
            "Microsoft.Network/networkSecurityGroups/write",
            "Microsoft.Network/privateDnsZones/join/action",
            "Microsoft.Network/privateDnsZones/read",
            "Microsoft.Network/privateDnsZones/virtualNetworkLinks/read",
            "Microsoft.Network/privateDnsZones/virtualNetworkLinks/write",
            "Microsoft.Network/privateDnsZones/write",
            "Microsoft.Network/privateEndpoints/privateDnsZoneGroups/read",
            "Microsoft.Network/privateEndpoints/privateDnsZoneGroups/write",
            "Microsoft.Network/privateEndpoints/read",
            "Microsoft.Network/privateEndpoints/write",
            "Microsoft.Network/publicIPAddresses/join/action",
            "Microsoft.Network/publicIPAddresses/read",
            "Microsoft.Network/publicIPAddresses/write",
            "Microsoft.Network/virtualNetworks/join/action",
            "Microsoft.Network/virtualNetworks/read",
            "Microsoft.Network/virtualNetworks/subnets/join/action",
            "Microsoft.Network/virtualNetworks/subnets/read",
            "Microsoft.Resources/deploymentScripts/read",
            "Microsoft.Resources/deploymentScripts/write",
            "Microsoft.Resources/deployments/operationstatuses/read",
            "Microsoft.Resources/deployments/read",
            "Microsoft.Resources/deployments/validate/action",
            "Microsoft.Resources/deployments/write",
            "Microsoft.Resources/subscriptions/resourceGroups/read",
            "Microsoft.Resources/subscriptions/resourceGroups/write",
            "Microsoft.Resources/templateSpecs/read",
            "Microsoft.Resources/templateSpecs/versions/read",
            "Microsoft.Resources/templateSpecs/versions/write",
            "Microsoft.Resources/templateSpecs/write",
            "Microsoft.Sql/servers/auditingSettings/write",
            "Microsoft.Sql/servers/databases/write",
            "Microsoft.Sql/servers/firewallRules/write",
            "Microsoft.Sql/servers/privateEndpointConnectionsApproval/action",
            "Microsoft.Sql/servers/read",
            "Microsoft.Sql/servers/write",
            "Microsoft.Storage/storageAccounts/PrivateEndpointConnectionsApproval/action",
            "Microsoft.Storage/storageAccounts/blobServices/containers/read",
            "Microsoft.Storage/storageAccounts/blobServices/containers/write",
            "Microsoft.Storage/storageAccounts/fileServices/shares/write",
            "Microsoft.Storage/storageAccounts/listkeys/action",
            "Microsoft.Storage/storageAccounts/read",
            "Microsoft.Storage/storageAccounts/write"
          ],
          "notActions": [],
          "dataActions": [],
          "notDataActions": []
        }
      <!--NeedCopy-->
      
    3. Legen Sie AppRegistration.ps1 und sessionrecordingdeployment.json im selben Ordner ab.
    4. Führen Sie je nach Bedarf einen der folgenden Befehle aus.

      Um eine Anwendung zu erstellen und ihr die geringsten Berechtigungen mit der vorhergehenden benutzerdefinierten Rollendatei (sessionrecordingdeployment.json) zuzuweisen, führen Sie Folgendes aus:

      .\AppRegistration.ps1 -tenantId <tenant ID> -subscriptionId <subscription ID> -appName <application name> -role "Citrix Session Recording Deployment"
      <!--NeedCopy-->
      

      Führen Sie Folgendes aus, um eine Anwendung zu erstellen und ihr die integrierte Azure-Rolle Mitwirkender zuzuweisen:

      .\AppRegistration.ps1 -tenantId <tenant ID> -subscriptionId <subscription ID> -appName <application name> -role "Contributor"
      <!--NeedCopy-->
      

    Methode 2:

    Gehen Sie zum Azure-Portal und registrieren Sie selbst eine Anwendung. Erteilen Sie der Anwendung die entsprechenden Berechtigungen. Die mindestens erforderlichen Berechtigungen finden Sie in der Datei sessionrecordingdeployment.json unter Methode 1.

  8. Geben Sie Konfigurationen für Ihre später zu installierenden Session Recording-Server an.

    VMs als Session Recording-Server erstellen

    Hinweis:

    • Das Feld Anzahl der VMs ist mit der empfohlenen Anzahl vorab ausgefüllt, falls vorhanden. Ändern Sie die Anzahl nach Bedarf.
    • Die geschätzten Kosten basieren auf der Standardpreisgestaltung und berücksichtigen keine Rabatte. Sie können mit niedrigeren tatsächlichen Kosten als geschätzt rechnen.
  9. Fügen Sie die Session Recording-Server derselben Domäne wie Ihre VDAs hinzu und geben Sie ein Zertifikat für die Session Recording-Server an.

    • Wenn Ihre VDAs mit einer Active Directory-Domäne verbunden sind, aktivieren Sie das Kontrollkästchen Server einer Active Directory-Domäne hinzufügen und geben Sie die relevanten Informationen ein.

    • Wenn Ihre VDAs mit einer Azure Active Directory (Azure AD)-Domäne verbunden sind, deaktivieren Sie das Kontrollkästchen Server einer Active Directory-Domäne hinzufügen. Nachdem Sie die Erstellung der aktuellen Site abgeschlossen haben, stellen Sie sicher, dass Sie die Session Recording-Server manuell derselben Azure AD-Domäne hinzufügen. Beachten Sie, dass die reine Azure AD-Bereitstellung nur für Session Recording 2402 und höher verfügbar ist.

    Server einer Active Directory-Domäne hinzufügen

    Server einer Azure Active Directory-Domäne hinzufügen

  10. Konfigurieren Sie ein Azure-Speicherkonto und Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien. Preisinformationen finden Sie unter Azure Files-Preise.

    Ein Azure-Speicherkonto und Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien konfigurieren

  11. Erstellen Sie zwei SQL-Datenbanken in Azure. Eine wird als Session Recording-Datenbank (Name: sessionrecording) und die andere als Administrator-Protokollierungsdatenbank (Name: sessionrecordinglogging) verwendet.

    Zwei SQL-Datenbanken für die ARM-Vorlage erstellen

  12. Erstellen Sie einen Lastenausgleich, um die Arbeitslast auf die Session Recording-Server zu verteilen. Geben Sie die IP-Adressen oder -Bereiche Ihrer VDAs ein und trennen Sie diese durch ein Komma (,) im Feld Zugriff des Lastenausgleichs nur auf die folgenden Adressen beschränken. Informationen zu den Preisen finden Sie unter Load Balancer-Preise.

    Erstellen eines Lastenausgleichs für die ARM-Vorlage

  13. (Optional) Wenden Sie Tags auf die zu erstellenden Azure-Ressourcen an.

    Anwenden von Tags auf Azure-Ressourcen

  14. Erstellen Sie einen sicheren Client, um die Session Recording-Server in den Session Recording-Dienst zu integrieren.

    Klicken Sie auf Client erstellen, damit Citrix in Ihrem Namen einen sicheren Client erstellt. Alternativ können Sie einen sicheren Client über die Registerkarte Identitäts- und Zugriffsverwaltung > API-Zugriff der Citrix Cloud-Konsole erstellen und dann die unten stehenden Informationen eingeben.

    Schaltfläche „Client erstellen“

  15. Zeigen Sie die Zusammenfassung der zu erstellenden Ressourcen an und klicken Sie bei Bedarf auf das Bleistiftsymbol, um Ihre Einstellungen zu bearbeiten. Klicken Sie anschließend auf Vorlage herunterladen. Eine AEM-Vorlage, die beschreibt, wie und welche Ressourcen Sie bereitstellen möchten, wird dann in den Ordner Downloads auf Ihrem Computer heruntergeladen. Sie können die neu erstellte Site auch auf der Seite Serververwaltung sehen.

    AEM-Vorlagenzusammenfassung

  16. Gehen Sie zum Ordner Downloads und entpacken Sie die ARM-Vorlage. Öffnen Sie den entpackten Dateiordner, geben Sie PowerShell in die Adressleiste ein und drücken Sie die Eingabetaste. Warten Sie, bis ein PowerShell-Fenster in diesem Ordner geöffnet wird.

  17. Führen Sie das JavaScript Object Notation (JSON)-Skript mit dem Namen DeploySessionRecording.ps1 aus. Geben Sie Werte für die abgefragten Parameter an. Die tatsächlichen Parameter variieren je nach den Einstellungen, die Sie beim Erstellen der Vorlage angegeben haben. Zum Beispiel:

    Ausführen eines ARM-Vorlagenskripts

    Parameter, die beim Ausführen eines ARM-Vorlagenskripts abgefragt werden

  18. Gehen Sie zum Azure-Portal, suchen Sie die Ressourcengruppe, die Ihre Bereitstellung enthält, und überprüfen Sie dann den Bereitstellungsfortschritt. Warten Sie, bis die gesamte Bereitstellung als Succeeded angezeigt wird.

    Bereitstellungsfortschritt in Azure

  19. Kehren Sie zur Seite Serververwaltung des Session Recording-Dienstes zurück. Suchen Sie die neu erstellte Site, und Sie sehen eine Schaltfläche Einrichten. Klicken Sie auf Einrichten, um Session Recording einzurichten und in Betrieb zu nehmen.

    Schaltfläche „Einrichten“ neben der neuen Site

    Überprüfung der Voraussetzungen für die Einrichtung von Session Recording

    Um Session Recording einzurichten, müssen Sie die zu installierende Version des Session Recording-Servers angeben und die Datei resourceInfo.json hochladen.

    Version des Session Recording-Servers auswählen

    Ressourceninformationen hochladen

    Geben Sie die Anmeldeinformationen für Ihre Datenbanken ein.

    Anmeldeinformationen für Datenbanken eingeben

    Klicken Sie auf Starten. Sie können dann den Einrichtungsfortschritt auf der Seite Serververwaltung überprüfen.

    Einrichtung läuft

    Einrichtungsschritte

    Sie können den Installationsfortschritt einzelner Server in der Serverliste anzeigen.

    Installationsfortschritt eines einzelnen Servers

    Wenn alle Session Recording-Server in der Liste als verfügbar angezeigt werden, ist Ihre Site-Erstellung abgeschlossen und die angegebenen Ressourcen werden in Azure bereitgestellt.

    Eine vollständige Bereitstellung über ARM