Session Recording

Sitzungsaufzeichnungsressourcen in einem Cloud-Abonnenment bereitstellen

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

Sie können folgende Sitzungsaufzeichnungsressourcen vom Sitzungsaufzeichnungsdienst aus für Ihr Azure-Abonnement bereitstellen:

  • Sitzungsaufzeichnungsserver
  • Datenbanken
  • Speicher
  • Load Balancer

Es gibt zwei Möglichkeiten, Sitzungsaufzeichnungsressourcen für ein Azure-Abonnement bereitzustellen:

  • Verwenden Sie eine Hostverbindung, die eine Verbindung zum Azure-Abonnement herstellt. Um eine Hostverbindung herzustellen, müssen Sie Ihre Abonnementinformationen angeben. Weitere Informationen finden Sie weiter unten in diesem Artikel unter Site über eine Hostverbindung erstellen und bereitstellen.

  • Wenn Sie Ihre Abonnementinformationen nicht angeben möchten, erstellen Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage), die angibt, welche Ressourcen Sie auf welche Weise bereitstellen möchten. Weitere Informationen finden Sie weiter unten in diesem Artikel unter Site mithilfe einer ARM-Vorlage erstellen und bereitstellen.

Site über eine Hostverbindung erstellen und bereitstellen

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

  • Ressourcen zu einer in Azure bereitgestellten Site hinzufügen
  • IP-Adressen, die auf den Load Balancer zugreifen dürfen, ändern
  • Tatsächliche Kosten der Azure-Nutzung anzeigen

Site über eine Hostverbindung erstellen und bereitstellen

  1. Wählen Sie in der linken Navigationsleiste des Sitzungsaufzeichnungsdiensts Konfiguration > Serververwaltung.

    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 Site über eine Hostverbindung erstellen und bereitstellen. Die wichtigsten Schritte sind in der linken Navigationsleiste aufgeführt.

    Site über eine Hostverbindung erstellen und bereitstellen

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

    • Wenn Sie keine Hostverbindung eingerichtet haben, fügen Sie eine Verbindung hinzu, wie unter Hostverbindung hinzufügen unten in diesem Artikel beschrieben.

    • Azure Government-Regionen werden nicht unterstützt.

  5. Nach der Eingabe der Siteinformationen klicken Sie zum Fortfahren auf Weiter.

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

    Sie können diesen Schritt überspringen, indem Sie auf Alles in Ordnung, diesen Schritt überspringen oder auf Weiter klicken, ohne eine Auswahl zu treffen.

    Ihre Aufzeichnungsanforderungen

    Wenn Sie eine Option aus der Dropdownliste auswählen, wird eine Empfehlung entsprechend Ihrer Auswahl angezeigt. Eine Taste Zurücksetzen ist neben der Empfehlung verfügbar. Damit können Sie Ihre Auswahl und die entsprechende Empfehlung in diesem Abschnitt löschen.

  7. Geben Sie das virtuelle Netzwerk und das Subnetz an, denen Ihre Sitzungsaufzeichnungsserver beitreten sollen. Wenn sich Ihre VDAs in einem anderen virtuellen Netzwerk als die Sitzungsaufzeichnungsserver oder in einem On-premises-Netzwerk befinden, stellen Sie Konnektivität her, um sicherzustellen, dass die Sitzungsaufzeichnungsserver mit Ihren VDAs kommunizieren können.

    Virtuelles Netzwerk und Subnetz

  8. Erstellen Sie virtuelle Maschinen (VMs) als Sitzungsaufzeichnungsserver.

    Virtuelle Maschinen als Sitzungsaufzeichnungsserver erstellen

    Hinweis:

    • Das Feld Anzahl 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 Preisnachlässe. Die tatsächlichen Kosten sind voraussichtlich niedriger als hier angegeben.
  9. Fügen Sie die Sitzungsaufzeichnungsserver derselben Domäne wie Ihre VDAs hinzu und geben Sie ein Zertifikat für die Sitzungsaufzeichnungsserver an.

    • Wenn Ihre VDAs eine Verbindung mit einer Active Directory-Domäne herstellen, aktivieren Sie das Kontrollkästchen Server mit einer Active Directory-Domäne verbinden und geben Sie die entsprechenden Informationen ein. Indem Sie das Kontrollkästchen Server mit einer Active Directory-Domäne verbinden aktivieren, konfigurieren Sie die Bereitstellung für ein Hybridszenario, bei dem das on-premises Active Directory in Azure AD integriert wird.

    • Wenn Ihre VDAs eine Verbindung mit einer Azure Active Directory-Domäne (Azure AD) herstellen, deaktivieren Sie das Kontrollkästchen Server mit einer Active Directory-Domäne verbinden. Nachdem Sie die aktuelle Site erstellt haben, stellen Sie sicher, dass Sie die Sitzungsaufzeichnungsserver manuell derselben Azure AD-Domäne hinzufügen. Beachten Sie, dass die reine Azure AD-Bereitstellung nur für Sitzungsaufzeichnung 2402 und höher verfügbar ist.

    Server mit einer Active Directory-Domäne verbinden

    Server mit einer Azure Active Directory-Domäne verbinden

    Hinweis:

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

  10. Konfigurieren Sie ein Azure-Speicherkonto und Dateifreigaben zur Speicherung Ihrer Aufzeichnungsdateien. Preisinformationen finden Sie unter Azure Files pricing.

    Azure-Speicherkonto und Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien konfigurieren

  11. Erstellen Sie zwei SQL-Datenbanken in Azure. Die erste Datenbank dient als Datenbank für die Sitzungsaufzeichnung (mit dem Dateinamen sessionrecording), die zweite als Administratorprotokollierungsdatenbank (mit dem Dateinamen sessionrecordinglogging).

    Zwei SQL-Datenbanken in Azure erstellen

  12. Erstellen Sie einen Load Balancer, um die Workload auf die Sitzungsaufzeichnungsserver zu verteilen. Geben Sie die IP-Adressen oder -Bereiche Ihrer VDAs im Feld zum Beschränken des Load Balancer-Zugriffs auf folgende Adressen durch Kommas getrennt ein. Preisinformationen finden Sie unter Load Balancer pricing.

    Load Balancer erstellen

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

    Tags auf Azure-Ressourcen anwenden

  14. Erstellen Sie einen sicheren Client für das Onboarding der Sitzungsaufzeichnungsserver in den Sitzungsaufzeichnungsdienst.

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

    Schaltfläche "Client erstellen"

  15. Sehen Sie sich die Zusammenfassung der zu erstellenden Site an. Klicken Sie auf das Stiftsymbol, um Ihre Einstellungen bei Bedarf zu bearbeiten, oder klicken Sie auf die Schaltfläche “Bereitstellung starten”.

    Zusammenfassung der zu erstellenden Site

    Im Folgenden finden Sie Beispiele für den Bereitstellungsprozess:

    Bereitstellung wird ausgeführt:

    Bereitstellung wird ausgeführt

    Während der Bereitstellung einer Site können Sie zur Fortschrittsanzeige auf Status anzeigen klicken.

    Fehler bei Bereitstellung:

    Fehler bei Bereitstellung

    Wenn bei der Bereitstellung Fehler auftreten, klicken Sie auf Status anzeigen, um die Fehlerdetails anzuzeigen. Beispiel für Fehlerdetails:

    Details zu Bereitstellungsfehlern

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

    Bereitstellung abgebrochen

    Erfolgreiche Bereitstellung:

    Nachdem eine Site bereitgestellt wurde, können Sie sie erweitern und die unter ihr erstellten Ressourcen anzeigen und verwalten. Die Schaltfläche Status anzeigen wechselt zu Einstellungen. Ein Azure-Symbol repräsentiert Sites, die in Azure bereitgestellt sind. Informationen zu den Siteeinstellungen finden Sie unter Site- und Servereinstellungen.

    Bereitgestellte Site

Ressourcen zu einer in Azure bereitgestellten Site hinzufügen

Für eine bestehende Site, die Sie über eine Hostverbindung auf Azure bereitgestellt haben, können Sie Ressourcen wie Server und Speicher hinzufügen. Führen Sie hierzu die folgenden Schritte aus:

  1. Wählen Sie in der linken Navigationsleiste des Sitzungsaufzeichnungsdiensts Konfiguration > Serververwaltung.
  2. Suchen Sie auf der Seite Serververwaltung die Zielsite und öffnen Sie sie. Ein Azure-Symbol repräsentiert Sites, die in Azure bereitgestellt sind.
  3. Klicken Sie auf Ressourcen hinzufügen.

    Schaltfläche "Ressourcen hinzufügen"

  4. Klicken Sie auf der Seite Ressourcen hinzufügen nach Bedarf auf Server hinzufügen und Speicher hinzufügen.

    Seite "Ressourcen hinzufügen"

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

      Server hinzufügen

      1. Geben Sie die Anzahl der Server an, die hinzugefügt werden sollen.
      2. Klicken Sie auf Anmeldeinformationen angeben, um die neuen Server der Domäne mit den vorhandenen Servern hinzuzufügen.
      3. Klicken Sie auf Client erstellen, um die neuen Server in den Sitzungsaufzeichnungsdienst einzubinden.
      4. Klicken Sie auf Bereitstellung starten.
    • Um Speicherplatz für Aufzeichnungsdateien hinzuzufügen, klicken Sie auf Speicher hinzufügen und führen Sie die folgenden Schritte aus:

      1. Wenn die Site mit einem Storage Standard-Konto erstellt wurde, werden Sie aufgefordert, die Anzahl der hinzuzufügenden Dateifreigaben anzugeben. Beispiel:

        Dateifreigaben, die für ein Storage Standard-Konto hinzugefügt werden sollen

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

        Dateifreigaben, die für ein Storage Standard-Konto hinzugefügt werden sollen

      3. Klicken Sie auf Bereitstellung starten.

        Hinweis:

        • Die Schaltfläche Bereitstellung starten ist verfügbar, wenn eine der folgenden Bedingungen erfüllt ist:
          • Es wurde mindestens ein Server angegeben und die Domäne und der sichere Client wurden konfiguriert.
          • Es wurde mindestens eine Dateifreigabe angegeben.
        • Während der Ressourcenbereitstellung ist die Schaltfläche Einstellungen für den Load Balancer deaktiviert.
        • Die Bereitstellung hinzugefügter Ressourcen kann fehlschlagen und der Sitzungsaufzeichnungsdienst kann diese Ressourcen möglicherweise nicht aus Ihrem Abonnement entfernen. In diesem Fall wird eine Aufforderung angezeigt, damit Sie Maßnahmen ergreifen können:

          Failed to clean up resources

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

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

  1. Wählen Sie in der linken Navigationsleiste des Sitzungsaufzeichnungsdiensts Konfiguration > Serververwaltung.
  2. Suchen Sie auf der Seite Serververwaltung die Zielsite und öffnen Sie sie. Ein Azure-Symbol repräsentiert Sites, die in Azure bereitgestellt sind.
  3. Klicken Sie im Abschnitt Load Balancer auf die Schaltfläche Einstellungen.

    Schaltfläche "Einstellungen" für den Load Balancer

  4. Geben Sie auf der Seite mit den Load Balancer-Einstellungen die IP-Adressen oder -Bereiche Ihrer VDAs im Feld zum Beschränken des Load Balancer-Zugriffs auf folgende Adressen durch Kommas getrennt ein.

    Festlegen der VDAs, die auf den Load Balancer zugreifen können

  5. Klicken Sie auf Speichern.

Tatsächliche Kosten der Azure-Nutzung anzeigen

Klicken Sie für eine vorhandene Site, die Sie über eine Hostverbindung auf Azure bereitgestellt haben, auf den Kostenbetrag, um die Kostendetails anzuzeigen. Beispiel:

Kosten für die Nutzung von Azure

Kostenanalyse

Tipps zur Anzeige der tatsächlichen Kosten:

  • Wenn Sie mit der Maus auf das Flächendiagramm für den aktuellen Monat zeigen, wird eine Referenzlinie für das Datum und die Daten von diesem Tag als Überlagerung angezeigt.
  • Die vergangenen Kosten unterschiedlicher Ressourcen werden durch Liniendiagramme dargestellt. Liniendiagramme sind verfügbar, wenn Daten für mindestens zwei Monate vorliegen. Wenn Sie mit der Maus auf die Liniendiagramme zeigen, werden eine Referenzlinie und eine Kostenaufschlüsselung für den Monat als Überlagerung angezeigt. Um das Liniendiagramm einer bestimmten Ressource anzuzeigen, bewegen Sie den Mauszeiger auf diese Ressource.

Hostverbindung hinzufügen

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

  1. Klicken Sie auf der Seite Site erstellen auf Verbindung hinzufügen, wobei die Option Site über eine Hostverbindung erstellen und bereitstellen ausgewählt ist. Oder klicken Sie auf der Seite Hostverbindung auf Verbindung hinzufügen.

    Um auf die Seite Site erstellen zuzugreifen, wählen Sie in der linken Navigationsleiste des Sitzungsaufzeichnungsdiensts Konfiguration > Serververwaltung und klicken dann auf Site erstellen.

    Seite "Serververwaltung"

    Um auf die Seite Hostverbindung zuzugreifen, wählen Sie im linken Navigationsbereich des Sitzungsaufzeichnungsdiensts Konfiguration > Hostverbindung:

    Seite "Hostverbindung"

  2. Geben Sie auf der Seite Verbindung hinzufügen einen Namen und eine Beschreibung für die neue Hostverbindung ein (optional). Geben Sie Ihre Azure-Abonnement-ID und folgende erforderliche Informationen zur Registrierung Ihrer Anwendung ein:

    • Anwendungs-ID (Client)
    • Dienstprinzipalobjekt-ID (ID des Dienstprinzipalobjekts, das der Anwendung zugeordnet ist)
    • Verzeichnis-ID (Mandant)
    • Geheimer Clientschlüssel
    • Ablaufdatum des Geheimnisses

    Verbindungsseite hinzufügen

    Führen Sie folgende Schritte aus, um Ihre Azure-Abonnement-ID zu finden:

    1. Melden Sie sich beim Azure-Portal an.
    2. Wählen Sie im Abschnitt Azure services die Option Subscriptions.
    3. Suchen Sie Ihr Abonnement in der Liste und kopieren Sie die Subscription ID, die in der zweiten Spalte angezeigt wird.

      Azure-Abonnement-ID finden

    Führen Sie folgende Schritte aus, um die erforderlichen Informationen zur Registrierung Ihrer Anwendung 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 sein, um Funktionen zur Identitäts- und Zugriffsverwaltung an Azure AD zu delegieren.

      Es gibt zwei Methoden, um eine Anwendung zu registrieren.

      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 Datei einer benutzerdefinierten Rolle und nennen Sie sie sessionrecording.json. Diese Datei hilft Ihnen, der zu registrierenden Anwendung die minimal erforderlichen Berechtigungen zuzuweisen.

        {
            "Name":  "Citrix Session Recording service",
            "Description":  "Custom role for session recording service",
            "AssignableScopes":  [
                                     "/subscriptions/*"
                                 ],
            "Actions":  [
                "Microsoft.Authorization/roleAssignments/write",
                "Microsoft.Authorization/roleDefinitions/delete",
                "Microsoft.Authorization/roleDefinitions/write",
                "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/read",
                "Microsoft.KeyVault/vaults/write",
                "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
                "Microsoft.ManagedIdentity/userAssignedIdentities/read",
                "Microsoft.ManagedIdentity/userAssignedIdentities/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/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/publicIPAddresses/join/action",
                "Microsoft.Network/publicIPAddresses/read",
                "Microsoft.Network/publicIPAddresses/write",
                "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/read",
                "Microsoft.Sql/servers/write",
                "Microsoft.Storage/storageAccounts/fileServices/shares/delete",
                "Microsoft.Storage/storageAccounts/fileServices/shares/write",
                "Microsoft.Storage/storageAccounts/listkeys/action",
                "Microsoft.Storage/storageAccounts/read",
                "Microsoft.Storage/storageAccounts/write"
                ],
            "NotActions":  [
        
                           ],
            "DataActions":  [
        
                            ],
            "NotDataActions":  [
        
                               ]
        }
        <!--NeedCopy-->
        
      3. Platzieren Sie AppRegistration.ps1 und sessionrecording.json in denselben Ordner.
      4. Führen Sie nach Bedarf einen der folgenden Befehle aus.

        Um eine Anwendung zu erstellen und ihr mit der zuvor kopierten Datei (sessionrecording.json) eine benutzerdefinierte Rolle mit minimal erforderlichen Berechtigungen zuzuweisen, führen Sie folgenden Befehl aus:

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

        Um eine Anwendung zu erstellen und ihr die in Azure integrierte Rolle Contributor zuzuweisen, führen Sie folgenden Befehl aus:

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

      Methode 2:

      Öffnen Sie das Azure-Portal und registrieren Sie selbst eine Anwendung. Erteilen Sie der Anwendung die notwendigen Berechtigungen. Die minimal erforderlichen Berechtigungen finden Sie in der Datei sessionrecording.json in Methode 1.

    2. Klicken Sie auf den Anzeigenamen Ihrer Anwendung.

      Anzeigename der Anwendung

    3. Suchen Sie auf der Übersichtsseite “Application (client) ID” und “Directory (tenant) ID”. Klicken Sie auf den Link neben Managed application in local directory, um die ID des Dienstprinzipalobjekts zu finden, das der Anwendung zugeordnet ist. Klicken Sie auf den Link neben Client credentials, um ID und Ablaufdatum des geheimen Clientschlüssels zu finden.

      Allgemeine Angaben zur Anwendung

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

      Dienstprinzipalobjekt-ID

      Beispiel: ID und Ablaufdatum des geheimen Clienschlüssels

      ID und Ablaufdatum des geheimen Clientschlüssels

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

    Wenn die angegebene Hostverbindung verfügbar ist, werden Sie zur Seite Hostverbindung zurückgeführt, wo angezeigt wird, dass die Hostverbindung erfolgreich hinzugefügt wurde.

    Fehler- und Warnsymbole zeigen an, welche geheimen Clientschlüssel abgelaufen sind oder demnächst ablaufen. Sie können auf die entsprechende Hostverbindung und dann auf der Seite Verbindungsdetails auf Geheimnis ändern klicken, um den geheimen Clientschlüssel und sein Ablaufdatum zu aktualisieren.

    Geheimnis ändern

Site mithilfe einer ARM-Vorlage erstellen und bereitstellen

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

  1. Erstellen Sie eine ARM-Vorlage im Sitzungsaufzeichnungsdienst. Die ARM-Vorlage ist eine JSON-Datei (JavaScript Object Notation), die angibt, welche Ressourcen Sie auf welche Weise bereitstellen möchten.
  2. Laden Sie die ARM-Vorlage herunter und entpacken Sie sie. Führen Sie das Bereitstellungsskript im entpackten Vorlagenordner aus, um mit der Bereitstellung der in der Vorlage angegebenen Ressourcen in Azure zu beginnen.
  3. Überprüfen Sie den Fortschritt der Bereitstellung in Azure. Richten Sie nach Abschluss der Bereitstellung die Sitzungsaufzeichnung ein, um sie auszuführen. Für die Einrichtung der Sitzungsaufzeichnung müssen Sie die Version des Sitzungsaufzeichnungsservers angeben, um die Datei resourceInfo.json zu installieren und hochzuladen.

Die spezifischen Schritte lauten wie folgt:

  1. Wählen Sie in der linken Navigationsleiste des Sitzungsaufzeichnungsdiensts Konfiguration > Serververwaltung.

    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 Site mithilfe einer ARM-Vorlage erstellen und bereitstellen aus. Die wichtigsten Schritte sind in der linken Navigationsleiste aufgeführt.

    Site mithilfe einer ARM-Vorlage erstellen und bereitstellen

  4. Geben Sie einen Site-Namen und eine Beschreibung ein, und klicken Sie dann auf Weiter.

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

    Sie können diesen Schritt überspringen, indem Sie auf Alles in Ordnung, diesen Schritt überspringen oder auf Weiter klicken, ohne eine Auswahl zu treffen.

    Ihre Aufzeichnungsanforderungen

    Wenn Sie eine Option aus der Dropdownliste auswählen, wird eine Empfehlung entsprechend Ihrer Auswahl angezeigt. Eine Taste Zurücksetzen ist neben der Empfehlung verfügbar. Damit können Sie Ihre Auswahl und die entsprechende Empfehlung in diesem Abschnitt löschen.

  6. Gehen Sie zum Azure-Portal und erstellen Sie ein neues virtuelles Netzwerk in der Region, die Sie ausgewählt haben, und richten Sie ein virtuelles Netzwerk-Peering zwischen dem neuen virtuellen Netzwerk und dem Netzwerk ein, mit dem Ihre VDAs verbunden sind. Fügen Sie dann dem neuen virtuellen Netzwerk ein Subnetz hinzu. Suchen Sie die folgende Subnetz-ID und geben Sie sie ein.

    Netzwerkeinstellungen

    Um die Verbindungen zwischen Ressourcen innerhalb des privaten Netzwerks beizubehalten, 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. Beachten Sie dabei Folgendes:

    • Wenn Sie nicht planen, Ihre Sitzungsaufzeichnungsserver einer Active Directory-Domäne hinzuzufügen, wird das Subnetz nicht benötigt. Lassen Sie das Feld für die Subnetz-ID daher leer.
    • Wenn Sie das Feld für die Subnetz-ID leer lassen, verbinden Sie Ihre Sitzungsaufzeichnungsserver mit einer Azure Active Directory-Domäne.

    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 sein, um Funktionen zur Identitäts- und Zugriffsverwaltung an Azure AD zu delegieren.

    Es gibt zwei Methoden, um eine Anwendung zu registrieren.

    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 Datei einer benutzerdefinierten Rolle und nennen Sie sie sessionrecordingdeployment.json. Diese Datei hilft Ihnen, der zu registrierenden Anwendung die minimal erforderlichen Berechtigungen 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. Platzieren Sie AppRegistration.ps1 und sessionrecordingdeployment.json in denselben Ordner.
    4. Führen Sie nach Bedarf einen der folgenden Befehle aus.

      Um eine Anwendung zu erstellen und ihr mit der zuvor kopierten Datei (sessionrecordingdeployment.json) eine benutzerdefinierte Rolle mit minimal erforderlichen Berechtigungen zuzuweisen, führen Sie folgenden Befehl aus:

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

      Um eine Anwendung zu erstellen und ihr die in Azure integrierte Rolle Contributor zuzuweisen, führen Sie folgenden Befehl aus:

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

    Methode 2:

    Öffnen Sie das Azure-Portal und registrieren Sie selbst eine Anwendung. Erteilen Sie der Anwendung die notwendigen Berechtigungen. Die minimal erforderlichen Berechtigungen finden Sie in der Datei sessionrecordingdeployment.json in Methode 1.

  8. Geben Sie Konfigurationen für Ihre Sitzungsaufzeichnungsserver an, die später installiert werden sollen.

    Virtuelle Maschinen als Sitzungsaufzeichnungsserver erstellen

    Hinweis:

    • Das Feld Anzahl 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 Preisnachlässe. Die tatsächlichen Kosten sind voraussichtlich niedriger als hier angegeben.
  9. Fügen Sie die Sitzungsaufzeichnungsserver derselben Domäne wie Ihre VDAs hinzu und geben Sie ein Zertifikat für die Sitzungsaufzeichnungsserver an.

    • Wenn Ihre VDAs eine Verbindung mit einer Active Directory-Domäne herstellen, aktivieren Sie das Kontrollkästchen Server mit einer Active Directory-Domäne verbinden und geben Sie die entsprechenden Informationen ein.

    • Wenn Ihre VDAs eine Verbindung mit einer Azure Active Directory-Domäne (Azure AD) herstellen, deaktivieren Sie das Kontrollkästchen Server mit einer Active Directory-Domäne verbinden. Nachdem Sie die aktuelle Site erstellt haben, stellen Sie sicher, dass Sie die Sitzungsaufzeichnungsserver manuell derselben Azure AD-Domäne hinzufügen. Beachten Sie, dass die reine Azure AD-Bereitstellung nur für Sitzungsaufzeichnung 2402 und höher verfügbar ist.

    Server mit einer Active Directory-Domäne verbinden

    Server mit einer Azure Active Directory-Domäne verbinden

  10. Konfigurieren Sie ein Azure-Speicherkonto und Dateifreigaben zur Speicherung Ihrer Aufzeichnungsdateien. Preisinformationen finden Sie unter Azure Files pricing.

    Azure-Speicherkonto und Dateifreigaben zum Speichern Ihrer Aufzeichnungsdateien konfigurieren

  11. Erstellen Sie zwei SQL-Datenbanken in Azure. Die erste Datenbank dient als Datenbank für die Sitzungsaufzeichnung (mit dem Dateinamen sessionrecording), die zweite als Administratorprotokollierungsdatenbank (mit dem Dateinamen sessionrecordinglogging).

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

  12. Erstellen Sie einen Load Balancer, um die Workload auf die Sitzungsaufzeichnungsserver zu verteilen. Geben Sie die IP-Adressen oder -Bereiche Ihrer VDAs im Feld zum Beschränken des Load Balancer-Zugriffs auf folgende Adressen durch Kommas getrennt ein. Preisinformationen finden Sie unter Load Balancer pricing.

    Einen Load Balancer für die ARM-Vorlage erstellen

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

    Tags auf Azure-Ressourcen anwenden

  14. Erstellen Sie einen sicheren Client für das Onboarding der Sitzungsaufzeichnungsserver in den Sitzungsaufzeichnungsdienst.

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

    Schaltfläche "Client erstellen"

  15. Sehen Sie sich die Zusammenfassung der zu erstellenden Ressourcen an und klicken Sie auf das Stiftsymbol, um Ihre Einstellungen bei Bedarf zu bearbeiten. Klicken Sie danach auf Vorlage herunterladen. Eine AEM-Vorlage, die angibt, welche Ressourcen Sie auf welche Weise 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.

    Zusammenfassung der AEM-Vorlage

  16. Gehen Sie zum Download-Ordner 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 für diesen 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. Beispiel:

    Ein ARM-Vorlagenskript ausführen

    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 Fortschritt der Bereitstellung. Warten Sie, bis für die gesamte Bereitstellung die Meldung Erfolgreich angezeigt wird.

    Fortschritt der Bereitstellung in Azure

  19. Kehren Sie zur Seite Serververwaltung des Sitzungsaufzeichnungsdienstes zurück. Suchen Sie die neu erstellte Site. Es wird eine Schaltfläche zum Einrichten angezeigt. Klicken Sie auf Einrichten, um die Sitzungsaufzeichnung einzurichten und sie auszuführen.

    Einrichtungsschaltfläche neben der neuen Site

    Voraussetzungen für die Einrichtung der Sitzungsaufzeichnung überprüfen

    Für die Einrichtung der Sitzungsaufzeichnung müssen Sie die Version des Sitzungsaufzeichnungsservers angeben, um die Datei resourceInfo.json zu installieren und hochzuladen.

    Version des Sitzungsaufzeichnungsservers auswählen

    Ressourceninformationen hochladen

    Geben Sie die Anmeldeinformationen für Ihre Datenbanken ein.

    Anmeldeinformationen für Datenbanken eingeben

    Klicken Sie auf Start starten. Sie können dann den Fortschritt der Installation auf der Seite Serververwaltung überprüfen.

    Setup wird ausgeführt

    Setup-Schritte

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

    Installationsfortschritt eines einzelnen Servers

    Wenn alle Sitzungsaufzeichnungsserver 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