Session Recording

Déployer des ressources d’enregistrement de session sur un abonnement cloud

Vous pouvez créer un site pour déployer les ressources d’enregistrement de session suivantes sur votre abonnement Azure depuis le service d’enregistrement de session :

  • Serveurs d’enregistrement de session
  • Bases de données
  • Stockage
  • Équilibrage de charge

Vous pouvez également obtenir des recommandations de configurations de machine virtuelle et de stockage, prévoir les coûts et consulter les coûts mensuels réels liés à l’utilisation d’Azure depuis le service d’enregistrement de session.

Pour un site existant déployé sur Azure, vous pouvez y ajouter des ressources, notamment des serveurs et du stockage, et modifier les adresses IP autorisées à accéder à l’équilibreur de charge.

Cet article vous guide tout au long des procédures suivantes :

Créer un site et déployer des ressources d’enregistrement de session sur votre abonnement Azure

Cette section fournit des instructions détaillées sur la manière de créer un site et de déployer des ressources d’enregistrement de session dans votre abonnement Azure.

  1. Sélectionnez Configuration > Gestion des serveurs dans le volet de navigation de gauche du service d’enregistrement de session.

    Page Gestion des serveurs

  2. Sur la page Gestion des serveurs, cliquez sur Créer un site. La page Créer un site s’affiche.

    Page Créer un site

  3. Sélectionnez Créer et déployer un site via une connexion hôte. Les principales étapes sont répertoriées dans la navigation de gauche.

    Créer et déployer un site via une connexion hôte

  4. Entrez le nom et la description du site, sélectionnez une connexion hôte qui se connecte à votre abonnement Azure et spécifiez une région.

    • Si aucune connexion hôte n’est en place, ajoutez-en une en vous référant à Ajouter une connexion hôte.

    • Les régions Azure Government ne sont pas prises en charge.

  5. Après avoir renseigné les informations du site, cliquez sur Suivant pour continuer.

  6. (Facultatif) Pour obtenir des recommandations concernant les configurations de machines virtuelles et de stockage, fournissez des informations sur vos besoins en matière d’enregistrement.

    Vous pouvez ignorer cette étape en cliquant sur Ignorer cette étape ou en cliquant sur Suivant sans rien sélectionner.

    Vos besoins d'enregistrement

    Lorsque vous sélectionnez une option dans la liste déroulante, une recommandation est présentée en fonction de votre sélection. Un bouton de réinitialisation est disponible à côté de la recommandation. Cela vous permet d’effacer toutes les sélections et les recommandations correspondantes de cette section.

  7. Créez des machines virtuelles (VM) en tant que serveurs d’enregistrement de session.

    Créer des machines virtuelles en tant que serveurs d'enregistrement de session

    Remarque :

    • Si vos VDA résident sur un réseau virtuel différent de celui des machines virtuelles ou sur un réseau sur site, établissez une connectivité pour garantir que les machines virtuelles peuvent communiquer avec vos VDA.
    • Le champ Nombre de VM est prérempli avec le nombre recommandé, le cas échéant. Modifiez ce nombre selon vos besoins.
    • Les coûts estimés sont basés sur la tarification standard et ne tiennent pas compte des remises. Vous pouvez vous attendre à des coûts réels inférieurs aux estimations.
  8. Spécifiez un domaine et un certificat pour les machines virtuelles. Joignez les machines virtuelles au même domaine avec vos VDA.

    Spécifier un domaine et un certificat pour les machines virtuelles

  9. Configurez un compte de stockage Azure et des partages de fichiers pour stocker vos fichiers d’enregistrement. Pour plus d’informations sur les tarifs, consultez la section Tarification Fichiers Azure.

    Configurer un compte de stockage Azure et des partages de fichiers pour stocker vos fichiers d'enregistrement

  10. Créez deux bases de données SQL dans Azure. L’une est utilisée comme base de données d’enregistrement de session (nommée sessionrecording) et l’autre comme base de données de journalisation de l’administrateur (nommée sessionrecordinglogging).

    Créer deux bases de données SQL dans Azure

  11. Créez un équilibreur de charge pour répartir la charge de travail entre les machines virtuelles (serveurs d’enregistrement de session). Entrez les adresses IP ou les plages de vos VDA en les séparant par des virgules (,) dans le champ Restreindre l’accès de l’équilibreur de charge aux seules adresses suivantes. Pour plus d’informations sur les prix, consultez la section Tarification Load Balancer.

    Créer un équilibreur de charge

  12. (Facultatif) Appliquez des balises aux ressources Azure à créer.

    Appliquer des balises aux ressources Azure

  13. Créez un client sécurisé pour intégrer les machines virtuelles (serveurs d’enregistrement de session) au service d’enregistrement de session.

    Cliquez sur Créer un client pour permettre à Citrix de créer un client sécurisé en votre nom. Vous pouvez également créer un client sécurisé via l’onglet Gestion des identités et des accès > Accès aux API de la console Citrix Cloud, puis renseigner les informations ci-dessous.

    Bouton Créer un client

  14. Consultez le résumé du site à créer. Cliquez sur l’icône en forme de crayon pour modifier vos paramètres si nécessaire ou cliquez sur le bouton pour démarrer le déploiement.

    Résumé du site à créer

    Voici quelques exemples du processus de déploiement :

    Déploiement en cours :

    Déploiement en cours

    Pendant le déploiement d’un site, vous pouvez cliquer sur Afficher l’état pour voir la progression.

    Déploiements ayant échoué :

    Déploiements ayant échoué

    Si des erreurs se produisent pendant le processus de déploiement, cliquez sur Afficher l’état pour afficher les détails de l’erreur. Exemple des détails d’erreur :

    Détails d'erreurs de déploiement

    Vous pouvez cliquer sur Retour à la configuration ou Annuler le déploiement. Si vous cliquez sur Retour à la configuration, vous revenez à la page Créer un site où vous pouvez modifier vos configurations et réessayer. Si vous êtes sûr de vouloir annuler le déploiement, suivez les instructions de l’assistant pour supprimer le site et les ressources Azure créées pour le site. Par exemple :

    Déploiement annulé

    Déploiements ayant réussi :

    Une fois le déploiement d’un site terminé, vous pouvez développer le site et afficher et gérer les ressources créées sur celui-ci. Le bouton Afficher l’état devient Paramètres. Une icône Azure est disponible pour représenter les sites déployés sur Azure. Pour plus d’informations sur les paramètres du site, consultez la section Paramètres du site et du serveur.

    Site déployé

Ajouter des ressources à un site existant déployé sur Azure

Pour un site existant déployé sur Azure, vous pouvez y ajouter des ressources, notamment des serveurs et du stockage. Pour ce faire, procédez comme suit :

  1. Sélectionnez Configuration > Gestion des serveurs dans le volet de navigation de gauche du service d’enregistrement de session.
  2. Sur la page Gestion des serveurs, localisez et développez le site cible. Une icône Azure est disponible pour représenter les sites déployés sur Azure.
  3. Cliquez sur Ajouter des ressources.

    Bouton Ajouter des ressources

  4. Sur la page Ajouter des ressources, cliquez sur Ajouter un serveur et sur Ajouter du stockage selon vos besoins.

    Page Ajouter des ressources

    • Pour ajouter des serveurs, cliquez sur Ajouter un serveur, puis effectuez les étapes suivantes :

      Ajouter un serveur

      1. Spécifiez le nombre de serveurs à ajouter.
      2. Cliquez sur Fournir informations d’identification pour associer les nouveaux serveurs au même domaine que les serveurs existants.
      3. Cliquez sur Créer un client pour intégrer les nouveaux serveurs au service d’enregistrement de session.
      4. Cliquez sur Démarrer le déploiement.
    • Pour ajouter du stockage afin de stocker des fichiers d’enregistrement, cliquez sur Ajouter du stockage, puis effectuez les étapes suivantes en conséquence :

      1. Si votre site a été créé avec un compte de stockage standard, vous êtes invité à spécifier le nombre de partages de fichiers à ajouter. Par exemple :

        Partages de fichiers à ajouter pour un compte de stockage standard

      2. Si votre site a été créé avec un compte de stockage Premium, vous pouvez spécifier le nombre de partages de fichiers à ajouter et personnaliser la capacité de chaque partage de fichiers. Par exemple :

        Partages de fichiers à ajouter pour un compte de stockage standard

      3. Cliquez sur Démarrer le déploiement.

        Remarque :

        • Le bouton Démarrer le déploiement est disponible lorsque l’une des conditions suivantes est remplie :
          • Au moins un serveur a été spécifié, et le domaine et le client sécurisé ont été configurés.
          • Au moins un partage de fichiers a été spécifié.
        • Lorsque le déploiement des ressources est en cours, le bouton Paramètres de l’équilibreur de charge est désactivé.
        • Le déploiement de ressources supplémentaires peut échouer et le service d’enregistrement de session risque de ne pas être en mesure de supprimer ces ressources de votre abonnement. Dans ce cas, une invite similaire à la suivante vous invite à prendre des mesures :

          Impossible de nettoyer les ressources

Modifier les adresses IP autorisées à accéder à l’équilibreur de charge

Pour un site existant déployé sur Azure, vous pouvez modifier les adresses IP autorisées à accéder à l’équilibreur de charge. Pour ce faire, procédez comme suit :

  1. Sélectionnez Configuration > Gestion des serveurs dans le volet de navigation de gauche du service d’enregistrement de session.
  2. Sur la page Gestion des serveurs, localisez et développez le site cible. Une icône Azure est disponible pour représenter les sites déployés sur Azure.
  3. Cliquez sur le bouton Paramètres dans la section Équilibreur de charge.

    Bouton Paramètres de l'équilibreur de charge

  4. Sur la page Paramètres de la section Équilibreur de charge, entrez les nouvelles adresses IP ou les plages de vos VDA en les séparant par des virgules (,) dans le champ Restreindre l’accès de l’équilibreur de charge aux seules adresses suivantes.

    Définition des VDA pouvant accéder à l'équilibreur de charge

  5. Cliquez sur Enregistrer.

Ajouter une connexion hôte

Pour déployer des ressources d’enregistrement de session sur votre abonnement Azure, vous devez disposer d’une connexion hôte qui se connecte à votre abonnement Azure. Pour ajouter une connexion hôte, procédez comme suit :

  1. Cliquez sur Ajouter une connexion sur la page Créer un site avec l’option Créer et déployer un site via une connexion hôte sélectionnée. Vous pouvez également cliquer sur Ajouter une connexion sur la page Connexion hôte.

    Pour accéder à la page Créer un site, sélectionnez Configuration > Gestion des serveurs dans la barre de navigation de gauche du service d’enregistrement de session, puis cliquez sur Créer un site.

    Page Gestion des serveurs

    Pour accéder à la page Connexion hôte, sélectionnez Configuration > Connexion hôte dans la barre de navigation de gauche du service d’enregistrement de session :

    Page Connexion hôte

  2. Sur la page Ajouter une connexion, attribuez un nom et une description à la nouvelle connexion hôte (facultatif). Entrez votre identifiant d’abonnement Azure et les informations requises suivantes concernant l’enregistrement de votre application :

    • ID d’application (client)
    • ID d’objet du principal de service (ID d’objet du principal de service associé à l’application)
    • ID de répertoire (locataire)
    • Clé secrète client
    • Date d’expiration du secret

    Ajouter une page de connexion

    Pour trouver votre identifiant d’abonnement Azure, procédez comme suit :

    1. Connectez-vous au portail Azure.
    2. Dans la section Services Azure, sélectionnez Abonnements.
    3. Trouvez votre abonnement dans la liste et copiez l’ID d’abonnement indiqué dans la deuxième colonne.

      Rechercher l'ID d'abonnement Azure

    Pour obtenir les informations requises concernant l’enregistrement de votre application, procédez comme suit :

    1. (Ignorez cette étape si vous avez déjà enregistré une application.) Enregistrez une application auprès de votre client Azure AD. Une application doit être enregistrée pour déléguer les fonctions de gestion des identités et des accès à Azure AD.

      Il existe deux méthodes pour enregistrer une application.

      Méthode 1 :

      1. Copiez le script suivant, fourni par Citrix, et nommez-le, par exemple 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 customRole
        #>
        [CmdletBinding()]
        Param(
            [Parameter(Position = 0, Mandatory = $true)]  [String] $tenantId,
            [Parameter(Mandatory = $true)] [String] $subscriptionId,
            [Parameter(Mandatory = $true)] [String] $appName,
            [Parameter(Mandatory = $false)] [Switch] $customRole
        )
        # Import the Azure module
        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
        }
        
        # Prompt the user to sign in with their credential
        Connect-AzAccount -TenantId $tenantId
        try
        {
            # Create a new app registration with a display name
            Write-Host "Create a new app registration for Citrix Session Recording service" -ForegroundColor Green
            $azureAdApplication = New-AzADApplication -DisplayName $AppName -AvailableToOtherTenants $false
        
            # Create a service principal for the app registration
            $azureAdApplicationServicePrincipal = New-AzADServicePrincipal -AppId $azureAdApplication.AppId
            $azureAdApplicationServicePrincipal = Get-AzADServicePrincipal -DisplayName $appName
        
            #Attempt to give role assignment
            if($customRole)
            {
                $rootPath = Get-Location
                $roleDef = Get-AzRoleDefinition -Name "Citrix Session Recording service"
                if($roleDef -eq $null)
                {
                    $customRolePath = $(Join-Path -Path $rootPath -ChildPath "sessionrecording.json") | Resolve-Path
                    $customRoleJson = Get-Content $customRolePath | ConvertFrom-Json
                    $customRoleJson.AssignableScopes[0] = "/subscriptions/" + $subscriptionId
                    $customRoleJson | ConvertTo-Json -depth 32 | Set-Content $customRolePath -Verbose
                    # Create custom role
                    try
                    {
                        New-AzRoleDefinition -InputFile $customRolePath.Path
                    }
                    catch
                    {
                        Write-Host "Failed to create custom roles $_" -ForegroundColor Red
                    }
                }
        
                # Assign this custom role to newly created application
                Write-Host "Try to assign session recording service custom roles to the above app" -ForegroundColor Green
                New-AzRoleAssignment -RoleDefinitionName "Citrix Session Recording service" -ApplicationId $azureAdApplication.AppId
        
            }
            else
            {
                Write-Host "Try to assign builtin contributor roles to above app" -ForegroundColor Green
                New-AzRoleAssignment -RoleDefinitionName "Contributor" -ApplicationId $azureAdApplication.AppId
            }
        
            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 $_" -ForegroundColor Red
            Write-Host "Please make sure the current azure admin has permission to assign roles" -ForegroundColor Red
        }
        <!--NeedCopy-->
        
      2. Copiez le fichier de rôle personnalisé suivant et nommez-le sessionrecording.json. Ce fichier de rôle personnalisé permet d’attribuer un minimum d’autorisations pour l’enregistrement de l’application.

        {
            "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. Placez AppRegistration.ps1 et sessionrecording.json dans le même dossier.
      4. Exécutez l’une des commandes suivantes selon vos besoins.

        Pour créer une application et lui attribuer le moins d’autorisations possible avec le fichier de rôle personnalisé précédent (sessionrecording.json), exécutez :

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

        Pour créer une application et lui attribuer le rôle Contributeur intégré d’Azure, exécutez :

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

      Méthode 2 :

      Accédez au portail Azure et enregistrez vous-même une application. Accordez les autorisations appropriées à l’application. Pour connaître le minimum d’autorisations requises, consultez le fichier sessionrecording.json de la méthode 1.

    2. Cliquez sur le nom d’affichage de votre application.

      Nom d'affichage de l'application

    3. Sur la page d’aperçu, recherchez l’ID d’application (client) et l’ID de répertoire (locataire). Cliquez sur le lien à côté de Application gérée dans le répertoire local pour trouver l’ID d’objet du principal de service associé à l’application. Cliquez sur le lien à côté des informations d’identification du client pour trouver l’ID secret du client et sa date d’expiration.

      Éléments essentiels de l'application

      Par exemple, l’ID d’objet du principal du service associé à l’application :

      ID d'objet du principal de service

      Par exemple, l’ID secret du client et sa date d’expiration :

      ID secret du client et date d'expiration

  3. Cliquez sur Enregistrer pour vérifier si la connexion hôte que vous spécifiez est disponible.

    Si la connexion hôte que vous spécifiez est disponible, vous êtes redirigé vers la page Connexion hôte et vous êtes invité à confirmer que la connexion hôte a été correctement ajoutée.

    Le service d’enregistrement de session vous rappelle les secrets clients expirés et arrivant à expiration à l’aide d’icônes d’erreur et d’avertissement, respectivement. Vous pouvez cliquer sur la connexion hôte correspondante, puis sur Changer le secret sur la page Détails de la connexion pour mettre à jour le secret client et sa date d’expiration.

    Changer le secret

Afficher les coûts réels liés à l’utilisation d’Azure

Pour un site déployé sur Azure, cliquez sur le montant du coût pour afficher le détail des coûts. Par exemple :

Coût d'utilisation d'Azure

Analyse des coûts

Conseils pour consulter les coûts réels :

  • Lorsque vous passez le curseur sur le graphique empilé du mois en cours, une ligne de référence pour la date et les données de ce jour apparaît en superposition.
  • Les coûts historiques des différentes ressources sont représentés par des graphiques linéaires. Les graphiques linéaires sont disponibles lorsqu’il existe au moins deux mois de données. Lorsque vous passez le curseur sur les graphiques linéaires, une courbe de référence et une ventilation des coûts du mois apparaissent en superposition. Pour afficher le graphique linéaire d’une ressource spécifique uniquement, placez le pointeur de la souris sur la ressource.
Déployer des ressources d’enregistrement de session sur un abonnement cloud