Citrix DaaS™

Connexion à Microsoft Azure

Créer et gérer des connexions et des ressources décrit les assistants qui créent une connexion. Les informations suivantes couvrent les détails spécifiques aux environnements cloud Azure Resource Manager.

Remarque :

Avant de créer une connexion à Microsoft Azure, vous devez terminer la configuration de votre compte Azure en tant qu’emplacement de ressources. Consultez Environnements de virtualisation Microsoft Azure Resource Manager.

Créer des principaux de service et des connexions

Avant de créer des connexions, vous devez configurer des principaux de service que les connexions utilisent pour accéder aux ressources Azure. Vous pouvez créer une connexion de deux manières :

  • Créez un principal de service et une connexion ensemble à l’aide de Studio.
  • Créez une connexion à l’aide d’un principal de service créé précédemment.

Cette section vous montre comment effectuer les tâches suivantes :

Considérations

Avant de commencer, tenez compte des considérations suivantes :

  • Citrix® recommande d’utiliser des principaux de service avec un rôle de Contributeur. Toutefois, consultez la section Autorisations minimales pour obtenir la liste des autorisations minimales.
  • Lors de la création de la première connexion, Azure vous invite à lui accorder les autorisations nécessaires. Pour les futures connexions, vous devez toujours vous authentifier, mais Azure se souvient de votre consentement précédent et n’affiche plus l’invite.
  • Après votre première authentification auprès d’Azure, une application multi-locataire appartenant à Citrix (ID : 08b70dc3-76c5-4611-ba7d-3312ba36cb2b) est invitée à votre ID Microsoft Entra au nom du compte authentifié.
  • Les comptes utilisés pour l’authentification doivent disposer des autorisations nécessaires pour attribuer des rôles dans l’abonnement à l’aide d’Azure RBAC. Par exemple, Propriétaire, Administrateur du contrôle d’accès en fonction du rôle ou Administrateur de l’accès utilisateur de l’abonnement.
  • Le compte utilisé pour l’authentification doit être membre du répertoire de l’abonnement. Il existe deux types de comptes à connaître : « Professionnel ou scolaire » et « compte Microsoft personnel ». Consultez CTX219211 pour plus de détails.
  • Bien que vous puissiez utiliser un compte Microsoft existant en l’ajoutant en tant que membre du répertoire de l’abonnement, des complications peuvent survenir si l’utilisateur a déjà bénéficié d’un accès invité à l’une des ressources du répertoire. Dans ce cas, il pourrait avoir une entrée d’espace réservé dans le répertoire qui ne lui accorde pas les autorisations nécessaires, et une erreur est renvoyée.

    Corrigez cela en supprimant les ressources du répertoire et en les ajoutant explicitement. Cependant, utilisez cette option avec prudence, car elle peut avoir des effets indésirables sur d’autres ressources auxquelles ce compte peut accéder.

  • Il existe un problème connu où certains comptes sont détectés comme invités du répertoire alors qu’ils sont en fait des membres. Des configurations comme celle-ci se produisent généralement avec des comptes de répertoire plus anciens et établis. Solution de contournement : ajoutez un compte au répertoire, qui prend la valeur d’appartenance appropriée.
  • Les groupes de ressources sont simplement des conteneurs pour les ressources, et ils peuvent contenir des ressources provenant de régions autres que leur propre région. Cela peut potentiellement prêter à confusion si vous vous attendez à ce que les ressources affichées dans la région d’un groupe de ressources soient disponibles.
  • Assurez-vous que votre réseau et votre sous-réseau sont suffisamment grands pour héberger le nombre de machines dont vous avez besoin. Cela demande une certaine prévoyance, mais Microsoft vous aide à spécifier les bonnes valeurs, avec des conseils sur la capacité de l’espace d’adressage.

Créer un principal de service et une connexion à l’aide de Studio

Important :

Cette fonctionnalité n’est pas encore disponible pour les abonnements Azure Chine.

Avec Studio, vous pouvez créer un principal de service et une connexion dans un seul flux de travail. Les principaux de service donnent aux connexions l’accès aux ressources Azure. Lorsque vous vous authentifiez auprès d’Azure pour créer un principal de service, une application est enregistrée dans Azure. Une clé secrète (appelée secret client ou secret d’application) est créée pour l’application enregistrée. L’application enregistrée (une connexion dans ce cas) utilise le secret client pour s’authentifier auprès de Microsoft Entra ID.

Avant de commencer, assurez-vous d’avoir rempli les conditions préalables suivantes :

  • Vous disposez d’un compte utilisateur dans le locataire Microsoft Entra de votre abonnement.
  • Les comptes utilisés pour l’authentification doivent disposer des autorisations nécessaires pour attribuer des rôles dans l’abonnement à l’aide d’Azure RBAC. Par exemple, Propriétaire, Administrateur du contrôle d’accès en fonction du rôle ou Administrateur de l’accès utilisateur de l’abonnement.
  • Vous disposez des autorisations d’administrateur global, d’administrateur d’application ou de développeur d’application pour l’authentification. Les autorisations peuvent être révoquées après la création d’une connexion d’hôte. Pour plus d’informations sur les rôles, consultez Rôles intégrés de Microsoft Entra.

Utilisez l’assistant Ajouter une connexion et des ressources pour créer un principal de service et une connexion ensemble :

  1. Sur la page Connexion, sélectionnez Créer une nouvelle connexion, le type de connexion Microsoft Azure et votre environnement Azure.

  2. Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis sélectionnez Suivant.

  3. Sur la page Détails de la connexion, sélectionnez le mode d’authentification Secret client d’application, puis créez un principal de service et définissez le nom de la connexion comme suit :

    1. Saisissez l’ID de votre abonnement Azure et un nom pour la connexion. Une fois l’ID d’abonnement saisi, le bouton Créer est activé.

    Remarque :

    Le nom de la connexion peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ou les caractères \/;:#.*?=<>|[]{}"'()'.

    1. Sélectionnez Créer, puis saisissez le nom d’utilisateur et le mot de passe du compte Microsoft Entra.
    2. Sélectionnez Se connecter.
    3. Sélectionnez Accepter pour accorder à Citrix DaaS™ les autorisations répertoriées. Azure crée un principal de service qui permet à Citrix DaaS de gérer les ressources Azure au nom de l’utilisateur spécifié.
    > **Remarque :**
    >
    > Citrix DaaS requiert les autorisations suivantes pour créer un nouveau principal de service :
    >
    > -  **Accéder à Azure Service Management en tant que vous**
    > -  **Lire et écrire des applications**
    > -  **Vous connecter et lire votre profil**
    > -  **Maintenir l'accès aux données auxquelles vous lui avez donné accès**
    
    1. Après avoir sélectionné Accepter, vous êtes redirigé vers la page Détails de la connexion.

      Remarque :

      Après vous être authentifié avec succès auprès d’Azure, les boutons Créer et Utiliser l’existant disparaissent. Le texte Connexion réussie apparaît avec une coche verte, indiquant la connexion réussie à votre abonnement Azure.

    2. Pour acheminer les requêtes API vers Azure via les Citrix Cloud™ Connectors, cochez la case Acheminer le trafic via les Citrix Cloud Connectors. Lorsque les Cloud Connectors n’ont pas d’accès direct à Internet, vous pouvez sélectionner Utiliser le proxy configuré sur les Citrix Cloud Connectors pour vous assurer que la connectivité Azure fonctionne correctement via les Citrix Cloud Connectors.

      Vous pouvez également activer cette fonctionnalité à l’aide de PowerShell. Pour plus d’informations, consultez Créer un environnement sécurisé pour le trafic géré par Azure.

      Remarque :

      Cette option est disponible uniquement lorsqu’il existe des Citrix Cloud Connectors actifs dans votre déploiement. Actuellement, cette fonctionnalité n’est pas prise en charge pour les Connector Appliances.

  4. Sélectionnez Suivant.

Remarque :

Vous ne pouvez pas passer à la page suivante tant que vous ne vous êtes pas authentifié(e) auprès d’Azure et que vous n’avez pas consenti à accorder les autorisations requises.

  1. Configurez les ressources pour la connexion comme suit :

    • Sur la page Région, sélectionnez une région.
    • Sur la page Réseau, effectuez les opérations suivantes :
      • Saisissez un nom de ressource de 1 à 64 caractères pour aider à identifier la combinaison région et réseau. Un nom de ressource ne peut pas contenir uniquement des espaces vides ou les caractères \/;:#.*?=<>|[]{}"'()'.
      • Sélectionnez une paire réseau virtuel/groupe de ressources. (Si vous avez plusieurs réseaux virtuels portant le même nom, l’association du nom du réseau avec le groupe de ressources fournit des combinaisons uniques.) Si la région que vous avez sélectionnée sur la page précédente ne contient aucun réseau virtuel, revenez à cette page et sélectionnez une région qui en contient.
  2. Sur la page Récapitulatif, affichez un récapitulatif des paramètres et sélectionnez Terminer pour finaliser votre configuration.

Afficher l’ID d’application

Après avoir créé une connexion, vous pouvez afficher l’ID d’application que la connexion utilise pour accéder aux ressources Azure.

Dans la liste Connexion et ressources, sélectionnez la connexion pour afficher les détails. L’onglet Détails affiche l’ID d’application.

ID d'application sur la page Ajouter une connexion et des ressources

Créer un principal de service à l’aide de PowerShell

Pour créer un principal de service à l’aide de PowerShell, connectez-vous à votre abonnement Azure Resource Manager et utilisez les cmdlets PowerShell fournies dans les sections suivantes.

Assurez-vous de disposer des éléments suivants :

  • SubscriptionId : L’ID d’abonnement (SubscriptionID) Azure Resource Manager pour l’abonnement où vous souhaitez provisionner des VDA.
  • ActiveDirectoryID : L’ID de locataire de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
  • ApplicationName : Le nom de l’application à créer dans Microsoft Entra ID.

Les étapes détaillées sont les suivantes :

  1. Connectez-vous à votre abonnement Azure Resource Manager.

    Connect-AzAccount

  2. Sélectionnez l’abonnement Azure Resource Manager dans lequel vous souhaitez créer le principal de service.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Créez l’application dans votre locataire AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Créez un principal de service.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  5. Attribuez un rôle au principal de service.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  6. Dans la fenêtre de sortie de la console PowerShell, notez l’ApplicationId. Vous fournissez cet ID lors de la création de la connexion d’hôte.

Obtenir le secret d’application dans Azure

Pour créer une connexion à l’aide d’un principal de service existant, vous devez d’abord obtenir l’ID d’application et le secret du principal de service dans le portail Azure.

Les étapes détaillées sont les suivantes :

  1. Obtenez l’ID d’application depuis Studio ou à l’aide de PowerShell.
  2. Connectez-vous au portail Azure.
  3. Dans Azure, sélectionnez Microsoft Entra ID.
  4. Dans Inscriptions d’applications de Microsoft Entra ID, sélectionnez votre application.
  5. Accédez à Certificats et secrets.
  6. Cliquez sur Secrets client.

Secret d'application dans le portail Azure

Créer une connexion à l’aide d’un principal de service existant

Si vous disposez déjà d’un principal de service, vous pouvez l’utiliser pour créer une connexion à l’aide de Studio.

Assurez-vous de disposer des éléments suivants :

  • SubscriptionId
  • ActiveDirectoryID (ID de locataire)
  • ID d’application
  • Secret d’application

    Pour plus d’informations, consultez Obtenir le secret d’application.

  • Date d’expiration du secret

Les étapes détaillées sont les suivantes :

Dans l’assistant Ajouter une connexion et des ressources :

  1. Sur la page Connexion, sélectionnez Créer une nouvelle connexion, le type de connexion Microsoft Azure et votre environnement Azure.

  2. Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis sélectionnez Suivant.

  3. Sur la page Détails de la connexion, sélectionnez le mode d’authentification Secret client d’application, puis entrez votre ID d’abonnement Azure et un nom pour la connexion.

    Remarque :

    Le nom de la connexion peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ou les caractères \/;:#.*?=<>|[]{}"'()'.

  4. Sélectionnez Utiliser l’existant. Dans la fenêtre Détails du principal de service existant, entrez les paramètres suivants pour le principal de service existant. Une fois les détails saisis, le bouton Enregistrer est activé. Sélectionnez Enregistrer. Vous ne pouvez pas passer à la page suivante tant que vous n’avez pas fourni des détails valides.

    • ID d’abonnement. Entrez votre ID d’abonnement Azure. Pour obtenir votre ID d’abonnement, connectez-vous au portail Azure et accédez à Abonnements > Vue d’ensemble.
    • ID Active Directory (ID de locataire). Entrez l’ID de répertoire (locataire) de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
    • ID d’application. Entrez l’ID d’application (client) de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
    • Secret d’application. Entrez une clé secrète (secret client). L’application enregistrée utilise la clé pour s’authentifier auprès de Microsoft Entra ID. Nous vous recommandons de changer régulièrement les clés à des fins de sécurité. Assurez-vous de sauvegarder la clé, car vous ne pourrez pas la récupérer ultérieurement.
    • Date d’expiration du secret. Entrez la date après laquelle le secret d’application expire. Vous recevez une alerte sur la console à partir de 14 jours avant l’expiration de la clé secrète. Cependant, si la clé secrète expire, vous recevez des erreurs.

      Remarque :

      À des fins de sécurité, la période d’expiration ne peut pas dépasser deux ans à compter de la date actuelle.

    • URL d’authentification. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • URL de gestion. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Suffixe de stockage. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Point de terminaison de stockage d’objets blob Azure pour télécharger ou charger des disques ou des instantanés. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Service Key Vault. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Suffixe du bus de service. Ce champ est automatiquement renseigné et n’est pas modifiable.

L’accès aux points de terminaison suivants est requis pour créer un catalogue MCS dans Azure. L’accès à ces points de terminaison optimise la connectivité entre votre réseau et le portail Azure et ses services.

  • URL d’authentification : https://login.microsoftonline.com
  • URL de gestion : https://management.azure.com. Il s’agit d’une URL de requête pour les API du fournisseur Azure Resource Manager. Le point de terminaison de gestion dépend de l’environnement. Par exemple, pour Azure Global, il s’agit de https://management.azure.com, et pour Azure US Government, il s’agit de https://management.usgovcloudapi.net.
  • Suffixe de stockage : https://*.core.windows.net. Ce (*) est un caractère générique pour le suffixe de stockage. Par exemple, https://demo.table.core.windows.net.
  • Point de terminaison de stockage d’objets blob Azure pour télécharger ou charger des disques ou des instantanés : https://*.storage.azure.net. Ce (*) est un caractère générique pour les opérations d’importation et d’exportation de stockage d’objets blob. Par exemple, https://md-impexp-xxxxx.z[00-50].blob.storage.azure.net.
  • Service Key Vault : https://*.vault.azure.net. Ce (*) est un caractère générique pour le nom du coffre de clés. Par exemple, https://<your-key-vault-name>.vault.azure.net.
  • Suffixe du bus de services : https://*.servicebus.windows.net. Ce (*) est un caractère générique pour les espaces de noms créés dans le cloud Azure global. Par exemple, https://{serviceNamespace}.servicebus.windows.net/{path}.
  1. Après avoir sélectionné Enregistrer, vous êtes redirigé vers la page Détails de la connexion. Sélectionnez Suivant pour passer à la page suivante.

  2. Configurez les ressources pour la connexion comme suit :

    • Sur la page Région, sélectionnez une région.
    • Sur la page Réseau, effectuez les opérations suivantes :
      • Saisissez un nom de ressource de 1 à 64 caractères pour aider à identifier la combinaison région et réseau. Un nom de ressource ne peut pas contenir uniquement des espaces vides ou les caractères \/;:#.*?=<>|[]{}"'()'.
      • Sélectionnez une paire réseau virtuel/groupe de ressources. (Si vous avez plusieurs réseaux virtuels portant le même nom, l’association du nom du réseau au groupe de ressources fournit des combinaisons uniques.) Si la région que vous avez sélectionnée sur la page précédente ne contient aucun réseau virtuel, revenez à cette page et sélectionnez une région qui contient des réseaux virtuels.
  3. Sur la page Résumé, affichez un récapitulatif des paramètres et sélectionnez Terminer pour finaliser votre configuration.

Gérer les principaux de service et les connexions

Cette section explique comment gérer les principaux de service et les connexions :

Configurer les paramètres de limitation Azure

Azure Resource Manager limite les requêtes pour les abonnements et les locataires, acheminant le trafic en fonction de limites définies, adaptées aux besoins spécifiques du fournisseur. Consultez Limitation des requêtes Resource Manager sur le site Microsoft pour plus d’informations. Des limites existent pour les abonnements et les locataires, où la gestion de nombreuses machines peut devenir problématique. Par exemple, un abonnement contenant de nombreuses machines peut rencontrer des problèmes de performances liés aux opérations d’alimentation.

Conseil :

Pour plus d’informations, consultez Améliorer les performances Azure avec Machine Creation Services.

Pour aider à atténuer ces problèmes, Citrix DaaS vous permet de supprimer la limitation interne de MCS afin d’utiliser une plus grande partie du quota de requêtes disponible d’Azure.

Nous recommandons les paramètres optimaux suivants lors de la mise sous tension ou hors tension de machines virtuelles dans de grands abonnements, par exemple, ceux contenant 1 000 machines virtuelles :

  • Opérations simultanées absolues : 500
  • Nombre maximal de nouvelles opérations par minute : 2000
  • Concurrence maximale des opérations : 500

Utilisez Studio pour configurer les opérations Azure pour une connexion d’hôte donnée :

  1. Dans Studio, sélectionnez Hébergement dans le volet gauche.
  2. Sélectionnez une connexion liée à Azure pour la modifier.
  3. Dans l’assistant Modifier la connexion, sélectionnez Avancé.
  4. Sur la page Avancé, utilisez les options de configuration pour spécifier le nombre d’actions simultanées et le nombre maximal de nouvelles actions par minute, ainsi que toute option de connexion supplémentaire.

Limitation Azure

MCS prend en charge 500 opérations concurrentes maximales par défaut. Vous pouvez également utiliser le SDK PowerShell distant pour définir le nombre maximal d’opérations concurrentes.

Utilisez la propriété PowerShell, MaximumConcurrentProvisioningOperations, pour spécifier le nombre maximal d’opérations de provisionnement Azure concurrentes. Lors de l’utilisation de cette propriété, tenez compte des éléments suivants :

  • La valeur par défaut de MaximumConcurrentProvisioningOperations est 500.
  • Configurez le paramètre MaximumConcurrentProvisioningOperations à l’aide de la commande PowerShell Set-item.

Gérer le principal de service d’une connexion d’hébergement existante

Après avoir créé une connexion d’hébergement à l’aide d’un principal de service, vous pouvez choisir de modifier la connexion d’hébergement pour avoir :

  • Un nouveau principal de service
  • Utiliser un autre principal de service existant
  1. Dans Studio, sélectionnez Hébergement dans le volet gauche.
  2. Sélectionnez la connexion, puis sélectionnez Modifier la connexion dans la barre d’actions.
  3. Sélectionnez Propriétés de la connexion dans le volet gauche.
  4. Sur la page Propriétés de la connexion qui apparaît, cliquez sur Modifier les paramètres de connexion. Vous pouvez maintenant choisir de créer un nouveau principal de service ou d’utiliser un autre principal de service existant.

    Modifier les paramètres

    • Cliquez sur Créer un principal de service pour créer un nouveau principal de service. Suivez l’invite pour vous connecter à votre compte d’utilisateur Microsoft Entra. Citrix utilise l’ID d’application multi-locataire 08b70dc3-76c5-4611-ba7d-3312ba36cb2b pour créer un nouveau principal de service pour la connexion d’hôte existante et accorder les autorisations appropriées.
    • Cliquez sur Utiliser l’existant pour utiliser un autre principal de service existant pour cette connexion d’hébergement.

Activer le partage d’images dans Azure

Lors de la création ou de la mise à jour de catalogues de machines, vous pouvez sélectionner des images partagées à partir de différents locataires et abonnements Azure (partagées via la Galerie de calcul Azure). Pour activer le partage d’images au sein ou entre les locataires, vous devez effectuer les réglages nécessaires dans Azure :

Partager des images au sein d’un locataire (entre abonnements)

Pour sélectionner une image dans la Galerie de calcul Azure qui appartient à un abonnement différent, l’image doit être partagée avec le principal de service (SPN) de cet abonnement.

Par exemple, s’il existe un principal de service (SPN 1), qui est configuré dans Studio comme suit :

Principal de service : SPN 1 Abonnement : abonnement 1 Locataire : locataire 1

L’image se trouve dans un abonnement différent, qui est configuré dans Studio comme suit :

Abonnement : abonnement 2

Locataire : locataire 1

Si vous souhaitez partager l’image de l’abonnement 2 avec l’abonnement 1 (SPN 1), accédez à l’abonnement 2 et partagez le groupe de ressources avec SPN1.

L’image doit être partagée avec un autre principal de service (SPN) à l’aide du contrôle d’accès basé sur les rôles (RBAC) Azure. Le RBAC Azure est le système d’autorisation utilisé pour gérer l’accès aux ressources Azure. Pour plus d’informations sur le RBAC Azure, consultez le document Microsoft Qu’est-ce que le contrôle d’accès basé sur les rôles (RBAC Azure). Pour accorder l’accès, vous attribuez des rôles aux principaux de service au niveau du groupe de ressources avec le rôle de Contributeur. Pour attribuer des rôles Azure, vous devez disposer de l’autorisation Microsoft.Authorization/roleAssignments/write, telle qu’Administrateur de l’accès utilisateur ou Propriétaire. Pour plus d’informations sur le partage d’images avec un autre principal de service, consultez le document Microsoft Attribuer des rôles Azure à l’aide du portail Azure.

Partager des images entre locataires

Pour partager des images entre locataires avec Azure Compute Gallery, créez ou mettez à jour l’enregistrement d’application et utilisez cette application pour créer une connexion d’hébergement.

Par exemple, s’il existe deux locataires (Locataire 1 et Locataire 2) et que vous souhaitez partager votre galerie d’images avec Locataire 1, alors :

  1. Créez un enregistrement d’application pour Locataire 1. Pour plus d’informations, consultez Créer l’enregistrement d’application.

  2. Donnez à Locataire 2 l’accès à l’application en demandant une connexion à l’aide d’un navigateur. Remplacez Tenant2 ID par l’ID de locataire de Locataire 1. Remplacez Application (client) ID par l’ID d’application de l’enregistrement d’application que vous avez créé. Une fois les remplacements effectués, collez l’URL dans un navigateur et suivez les invites de connexion pour vous connecter à Locataire 2. Par exemple :

    https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F
    <!--NeedCopy-->
    

    Pour plus d’informations, consultez Accorder l’accès à Locataire 2.

  3. Donnez à l’application l’accès au groupe de ressources de Locataire 2. Connectez-vous en tant que Locataire 2 et donnez à l’enregistrement d’application l’accès au groupe de ressources qui contient l’image de la galerie. Pour plus d’informations, consultez Authentifier les requêtes entre locataires.

Ajouter des locataires partagés à une connexion à l’aide de Studio

Lors de la création ou de la mise à jour de catalogues de machines dans Studio, vous pouvez sélectionner des images partagées provenant de différents locataires et abonnements Azure (partagées via Azure Compute Gallery). Cette fonctionnalité nécessite que vous fournissiez les informations de locataire et d’abonnement partagés pour les connexions d’hôte associées.

Remarque :

Assurez-vous d’avoir configuré les paramètres nécessaires dans Azure pour activer le partage d’images entre locataires. Pour plus d’informations, consultez Partager des images entre locataires.

Suivez les étapes suivantes pour une connexion :

  1. Dans Studio, sélectionnez Hébergement dans le volet gauche.
  2. Sélectionnez la connexion, puis sélectionnez Modifier la connexion dans la barre d’actions.

    Locataires partagés

  3. Dans Locataires partagés, effectuez les opérations suivantes :
    1. Fournissez l’ID d’application et le secret d’application associés à l’abonnement de la connexion. DaaS utilise ces informations pour s’authentifier auprès de Microsoft Entra ID.
    2. Ajoutez les locataires et les abonnements qui partagent l’Azure Compute Gallery avec l’abonnement de la connexion. Vous pouvez ajouter jusqu’à huit locataires partagés et huit abonnements pour chaque locataire.
  4. Lorsque vous avez terminé, sélectionnez Appliquer pour appliquer les modifications que vous avez apportées et laisser la fenêtre ouverte, ou sélectionnez OK pour appliquer les modifications et fermer la fenêtre.

Implémenter le partage d’images à l’aide de PowerShell

Cette section vous guide à travers les processus de partage d’images à l’aide de PowerShell :

Sélectionner une image à partir d’un abonnement différent

Vous pouvez sélectionner une image dans Azure Compute Gallery qui appartient à un abonnement partagé différent dans le même locataire Azure pour créer et mettre à jour des catalogues MCS à l’aide de commandes PowerShell.

  1. Dans le dossier racine de l’unité d’hébergement, Citrix crée un nouveau dossier d’abonnement partagé appelé sharedsubscription.
  2. Répertoriez tous les abonnements partagés dans un locataire.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"
    <!--NeedCopy-->
    
  3. Sélectionnez un abonnement partagé, puis répertoriez tous les groupes de ressources partagés de cet abonnement partagé.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
    <!--NeedCopy-->
    
  4. Sélectionnez un groupe de ressources, puis répertoriez toutes les galeries de ce groupe de ressources.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
    <!--NeedCopy-->
    
  5. Sélectionnez une galerie, puis répertoriez toutes les définitions d’image de cette galerie.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery"
    <!--NeedCopy-->
    
  6. Sélectionnez une définition d’image, puis répertoriez toutes les versions d’image de cette définition d’image.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition"
    <!--NeedCopy-->
    
  7. Créez et mettez à jour un catalogue MCS à l’aide des éléments suivants :

    • Groupe de ressources
    • Galerie
    • Définition d’image de galerie
    • Version d’image de galerie

Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de locataire partagés

Utilisez Set-Item pour mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de locataire et les ID d’abonnement partagés. Ajoutez une propriété SharedTenants dans CustomProperties. Le format de Shared Tenants est :

[{"Tenant":"94367291-119e-457c-bc10-25337231f7bd","Subscriptions":["7bb42f40-8d7f-4230-a920-be2781f6d5d9"]},{"Tenant":"50e83564-c4e5-4209-b43d-815c45659564","Subscriptions":["06ab8944-6a88-47ee-a975-43dd491a37d0"]}]
<!--NeedCopy-->

Par exemple :

Set-Item -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"123`" />
<Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
<Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"123abc`" />
<Property xsi:type=`"StringProperty`" Name=`"SharedTenants`" Value=`"`[ { 'Tenant':'123abc', 'Subscriptions':['345', '567'] } ]`"` />
</CustomProperties>"
-LiteralPath @("XDHyp:\Connections\aazure") -PassThru -UserName "advc345" -SecurePassword
$psd
<!--NeedCopy-->

Remarque :

Vous pouvez ajouter plusieurs locataires. Chaque locataire peut avoir plusieurs abonnements.

Sélectionner une image à partir d’un autre locataire

Vous pouvez sélectionner une image dans la Galerie de calcul Azure qui appartient à un autre locataire Azure pour créer et mettre à jour des catalogues MCS à l’aide de commandes PowerShell.

  1. Dans le dossier racine de l’unité d’hébergement, Citrix crée un nouveau dossier d’abonnement partagé appelé sharedsubscription.
  2. Répertorier tous les abonnements partagés.

    Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder
    <!--NeedCopy-->
    
  3. Sélectionnez un abonnement partagé, puis répertoriez tous les groupes de ressources partagés de cet abonnement partagé.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription
    <!--NeedCopy-->
    
  4. Sélectionnez un groupe de ressources, puis répertoriez toutes les galeries de ce groupe de ressources.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup
    <!--NeedCopy-->
    
  5. Sélectionnez une galerie, puis répertoriez toutes les définitions d’image de cette galerie.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery
    <!--NeedCopy-->
    
  6. Sélectionnez une définition d’image, puis répertoriez toutes les versions d’image de cette définition d’image.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition
    <!--NeedCopy-->
    
  7. Créez et mettez à jour un catalogue MCS à l’aide des éléments suivants :

    • Groupe de ressources
    • Galerie
    • Définition d’image de galerie
    • Version d’image de galerie

Créer un environnement sécurisé pour le trafic géré par Azure

MCS permet de router le trafic réseau (appels d’API de Citrix Cloud vers l’hyperviseur Azure) via les Cloud Connectors de votre environnement. Cette implémentation vous aide à verrouiller votre abonnement Azure pour autoriser le trafic réseau provenant d’adresses IP spécifiques. Pour ce faire, ajoutez ProxyHypervisorTrafficThroughConnector dans CustomProperties. Après avoir défini les propriétés personnalisées, vous pouvez configurer des stratégies Azure pour avoir un accès privé aux disques gérés Azure.

Si vous configurez la stratégie Azure pour créer automatiquement des accès aux disques pour chaque nouveau disque afin d’utiliser des points de terminaison privés, vous ne pouvez pas télécharger ou charger plus de cinq disques ou instantanés simultanément avec le même objet d’accès au disque, tel qu’imposé par Azure. Cette limite s’applique à chaque catalogue de machines si vous configurez la stratégie Azure au niveau du groupe de ressources, et à tous les catalogues de machines si vous configurez la stratégie Azure au niveau de l’abonnement. Si vous ne configurez pas la stratégie Azure pour créer automatiquement des accès aux disques pour chaque nouveau disque afin d’utiliser des points de terminaison privés, la limite de cinq opérations simultanées n’est pas appliquée.

Remarque :

Actuellement, cette fonctionnalité n’est pas prise en charge pour Connector Appliance. Pour connaître les limitations Azure liées à cette fonctionnalité, consultez Restreindre l’accès d’importation/exportation pour les disques gérés à l’aide d’Azure Private Link.

Activer le proxy

Pour activer le proxy, définissez les propriétés personnalisées comme suit sur la connexion d’hôte :

  1. Ouvrez une fenêtre PowerShell à l’aide du SDK PowerShell distant. Pour plus d’informations, consultez https://docs.citrix.com/fr-fr/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk/.
  2. Exécutez les commandes suivantes :

    Add-PSSnapin citrix*.
    cd XDHyp:\Connections\
    dir
    <!--NeedCopy-->
    
  3. Copiez les CustomProperties de la connexion dans un bloc-notes et ajoutez le paramètre de propriété <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" /> aux CustomProperties pour activer le proxy. Par exemple :

    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" />
    <Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" />
    <Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" />
    <Property xsi:type="StringProperty" Name="TenantId" Value="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>
    <!--NeedCopy-->
    
  4. Dans la fenêtre PowerShell, attribuez une variable aux propriétés personnalisées modifiées. Par exemple :

    $customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" />
    <Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" />
    <Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" />
    <Property xsi:type="StringProperty" Name="TenantId" Value="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Exécutez $cred = Get-Credential. Si vous y êtes invité, fournissez les informations d’identification de la connexion. Les informations d’identification sont l’ID d’application Azure et le secret.
  6. Exécutez Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password.

    Important :

    Si vous recevez un message indiquant que SubscriptionId est manquant, remplacez tous les guillemets doubles (“) par une apostrophe inversée suivie de guillemets doubles (`”) dans la propriété personnalisée. Par exemple :

    <CustomProperties xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`" xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`">
    <Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx`" />
    <Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
    <Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
    <Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
    <Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx`" />
    <Property xsi:type=`"StringProperty`" Name=`"ProxyHypervisorTrafficThroughConnector`" Value=`"True`" />
    </CustomProperties>
    <!--NeedCopy-->
    
  7. Exécutez dir pour vérifier les paramètres CustomProperties mis à jour.

Option d’utiliser le proxy système sur les Citrix Cloud Connectors pour le trafic API Azure redirigé

Pour router tout le trafic externe via un proxy non transparent, configurez la connexion d’hôte avec la propriété personnalisée UseSystemProxyForHypervisorTrafficOnConnectors. Cela redirige le trafic Internet de l’API Azure sur les Citrix Cloud Connectors via le proxy système.

Suivez les mêmes étapes que celles décrites dans Activer le proxy pour configurer la connexion d’hôte avec la propriété personnalisée. Cependant, assurez-vous d’ajouter le paramètre de propriété <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> aux CustomProperties pour activer le proxy.

<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
<!--NeedCopy-->

Exemple :

<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
<Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
<Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" />
<Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" />
<Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" />
<Property xsi:type="StringProperty" Name="TenantId" Value="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
</CustomProperties>
<!--NeedCopy-->

Remarque :

Après avoir défini cette propriété, le proxy configuré dans les paramètres netsh winhttp sur les Citrix Cloud Connectors est utilisé pour le trafic sortant vers le fournisseur de services cloud.

Gérer le secret d’application et la date d’expiration du secret

Assurez-vous de modifier le secret d’application d’une connexion avant son expiration. Vous recevez une alerte dans Studio avant l’expiration de la clé secrète.

Créer un secret d’application dans Azure

Vous pouvez créer un secret d’application pour une connexion via le portail Azure.

  1. Sélectionnez Microsoft Entra ID.
  2. Dans Inscriptions d’applications de Microsoft Entra ID, sélectionnez votre application.
  3. Accédez à Certificats et secrets.
  4. Cliquez sur Secrets client > Nouveau secret client.

    Créer un secret d'application

  5. Fournissez une description du secret et spécifiez une durée. Lorsque vous avez terminé, sélectionnez Ajouter.

    Remarque :

    Assurez-vous de sauvegarder le secret client, car vous ne pourrez pas le récupérer ultérieurement.

  6. Copiez la valeur du secret client et la date d’expiration.
  7. Dans Studio, modifiez la connexion correspondante et remplacez le contenu des champs Secret d’application et Date d’expiration du secret par les valeurs que vous avez copiées.

Modifier la date d’expiration du secret

Vous pouvez utiliser Studio pour ajouter ou modifier la date d’expiration du secret d’application en cours d’utilisation.

  1. Dans l’assistant Ajouter une connexion et des ressources, cliquez avec le bouton droit sur une connexion, puis cliquez sur Modifier la connexion.
  2. Sur la page Propriétés de la connexion, cliquez sur Date d’expiration du secret pour ajouter ou modifier la date d’expiration du secret d’application en cours d’utilisation.

Modifier la date d'expiration du secret

Créer une connexion d’hôte à l’aide d’Azure Managed Identity

Vous pouvez créer une connexion d’hôte à Microsoft Azure Resource Manager à l’aide d’Azure Managed Identity. Les identités gérées Azure offrent un moyen sécurisé et évolutif d’accéder aux services Azure sans avoir à gérer les informations d’identification. Cette approche élimine les risques associés au stockage, à la rotation et à la gestion des secrets.

Le Mode d’authentification propose trois options :

  • AppClientSecret
  • SystemAssignedManagedIdentity
  • UserAssignedManagedIdentity

Avant de commencer

Voici les étapes à suivre avant de créer la connexion d’hôte à l’aide d’Azure Managed Identity :

  1. Installez un Citrix Cloud Connector™ dans une machine virtuelle Azure.
  2. Activez Azure Managed Identity sur cette machine virtuelle Cloud Connector.

    • Pour l’identité gérée affectée par l’utilisateur :

      1. Sur le portail Azure, créez une identité gérée affectée par l’utilisateur. Pour plus d’informations, consultez Créer et attribuer une identité gérée affectée par l’utilisateur.
      2. Attribuez des rôles Azure à l’identité gérée. Consultez Autorisations Azure requises.
      3. Créez une machine virtuelle Azure en tant que Cloud Connector et ajoutez-y l’identité affectée par l’utilisateur.
    • Pour l’identité gérée affectée par le système :

      1. Ouvrez le portail Azure et accédez à votre machine virtuelle.
      2. Sélectionnez le panneau Identité dans les paramètres de la machine virtuelle.
      3. Sous l’onglet Affectée par le système, définissez le statut sur Activé.
      4. Cliquez sur Enregistrer.
      5. Accordez les Autorisations Azure requises.

      Remarque :

      Si vous activez l’identité gérée affectée par le système sur une machine virtuelle Cloud Connector et l’utilisez pour créer une connexion d’hôte, vous pouvez toujours créer des connexions d’hôte avec l’identité gérée affectée par le système même après l’avoir désactivée sur la machine virtuelle Cloud Connector. La création de connexions d’hôte peut réussir même 24 heures après la désactivation de l’identité. Cela se produit parce que les jetons d’identité gérée sont mis en cache par l’infrastructure Azure sous-jacente. Pour plus d’informations, consultez Les jetons d’identité gérée sont-ils mis en cache ?.

Créer la connexion d’hôte avec Azure Managed Identity à l’aide de Studio

Dans l’assistant Ajouter une connexion et des ressources :

  1. Sur la page Connexion :
    1. Sélectionnez Créer une nouvelle connexion, le type de connexion Microsoft Azure et votre environnement Azure.
    2. Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis sélectionnez Suivant.
  2. Sur la page Détails de la connexion, sélectionnez le Mode d’authentification.

    • Pour l’identité gérée affectée par l’utilisateur, saisissez les paramètres suivants. Après avoir saisi les détails, sélectionnez Suivant pour passer aux pages suivantes. Vous ne pouvez pas avancer au-delà de cette page tant que vous n’avez pas fourni des détails valides.

      • ID d’abonnement : Saisissez votre ID d’abonnement Azure. Pour obtenir votre ID d’abonnement, connectez-vous au portail Azure et accédez à Abonnements > Vue d’ensemble.
      • ID Active Directory (ID de locataire) : Saisissez l’ID de répertoire (locataire) de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
      • ID client : Saisissez l’ID client de l’identité gérée que vous avez créée dans le portail Azure.
      • URL d’authentification : Ce champ est automatiquement renseigné et n’est pas modifiable.
      • URL de gestion : Ce champ est automatiquement renseigné et n’est pas modifiable.
      • Suffixe de stockage : Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Pour l’identité gérée affectée par le système, saisissez les paramètres suivants. Après avoir saisi les détails, sélectionnez Suivant pour passer aux pages suivantes. Vous ne pouvez pas avancer au-delà de cette page tant que vous n’avez pas fourni des détails valides.

      • ID d’abonnement : Saisissez votre ID d’abonnement Azure. Pour obtenir votre ID d’abonnement, connectez-vous au portail Azure et accédez à Abonnements > Vue d’ensemble.
      • ID Active Directory (ID de locataire) : Saisissez l’ID de répertoire (locataire) de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
      • URL d’authentification : Ce champ est automatiquement renseigné et n’est pas modifiable.
      • URL de gestion : Ce champ est automatiquement renseigné et n’est pas modifiable.
      • Suffixe de stockage : Ce champ est automatiquement renseigné et n’est pas modifiable.

Créer la connexion d’hôte avec Azure Managed Identity à l’aide de PowerShell

Vous pouvez créer cette connexion d’hôte à l’aide d’une nouvelle propriété personnalisée AuthenticationMode. La propriété AuthenticationMode propose trois options : AppClientSecret, SystemAssignedManagedIdentity et UserAssignedManagedIdentity. Voici la description des options du mode d’authentification :

  • AppClientSecret : Il s’agit de la valeur par défaut. Elle nécessite un ID d’application et un secret.
  • UserAssignedManagedIdentity : Cette option nécessite qu’un ID client soit fourni via un nom d’utilisateur.
  • SystemAssignedManagedIdentity : Cette option ne nécessite aucune entrée. Même si vous fournissez un ID client, il est ignoré.

Remarque :

Lors de l’utilisation de PowerShell, le paramètre ProxyHypervisorTrafficThroughConnector doit être défini sur true pour utiliser l’identité gérée.

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger les modules PowerShell spécifiques à Citrix.
  3. Créez des connexions d’hôte. Par exemple :

    • Pour l’identité gérée affectée par l’utilisateur :

       $UserName = "should be the Client ID of the user-assigned managed identity"
       $Password = "It can be any string.Not used"
       
       $CustomProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' `
       +  '<Property xsi:type="StringProperty" Name="SubscriptionId" Value="' + $SubscriptionId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" />'`
       +  '<Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" />'`
       +  '<Property xsi:type="StringProperty" Name="TenantId" Value="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="UserAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      
    • Pour l’identité gérée affectée par le système :

       $UserName = "It can be any string. Not used"
       $Password = "It can be any string. Not used"  
       $CustomProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' `
       +  '<Property xsi:type="StringProperty" Name="SubscriptionId" Value="' + $SubscriptionId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" />'`
       +  '<Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" />'`
       +  '<Property xsi:type="StringProperty" Name="TenantId" Value="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      

Gérer l’identité gérée Azure d’une connexion d’hébergement existante

Utiliser Studio

Après avoir créé une connexion d’hébergement, vous pouvez choisir de mettre à jour la connexion d’hébergement existante pour qu’elle dispose :

  • D’une identité gérée affectée par le système
  • D’une identité gérée affectée par l’utilisateur
  • D’une nouvelle identité gérée affectée par l’utilisateur
  1. Dans Studio, sélectionnez Hébergement dans le volet gauche.
  2. Sélectionnez la connexion, puis sélectionnez Modifier la connexion dans la barre d’actions.
  3. Sur la page Propriétés de la connexion qui apparaît, cliquez sur Modifier le mode d’authentification. Vous pouvez maintenant choisir de mettre à jour le mode d’authentification.

    • Cliquez sur Identité gérée affectée par l’utilisateur pour utiliser l’identité gérée affectée par l’utilisateur pour cette connexion d’hébergement. Suivez les instructions pour renseigner l’ID client.
    • Cliquez sur Identité gérée affectée par le système pour utiliser l’identité gérée affectée par le système pour cette connexion d’hébergement.

Utiliser PowerShell

Vous pouvez également mettre à jour une connexion d’hôte existante à l’aide de PowerShell pour utiliser une identité affectée par le système ou une identité gérée affectée par l’utilisateur. Par exemple, exécutez les commandes PowerShell suivantes :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger les modules PowerShell spécifiques à Citrix.
  3. Exécutez les commandes suivantes :

    $connName = "ConnectionName"
    $conn = get-item XDHyp:\Connections\$connName
    $conn.CustomProperties
    <!--NeedCopy-->
    
  4. Définissez ProxyHypervisorTrafficThroughConnector sur True et ajoutez la propriété personnalisée pour AuthenticationMode définie sur SystemAssignedManagedIdentity ou UserAssignedManagedIdentity. Par exemple :

    $customProps = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"><Property xsi:type="StringProperty" Name="SubscriptionId" Value="subscriptionId" /><Property xsi:type="StringProperty" Name="ManagementEndpoint" Value="https://management.azure.com/" /><Property xsi:type="StringProperty" Name="AuthenticationAuthority" Value="https://login.microsoftonline.com/" /><Property xsi:type="StringProperty" Name="StorageSuffix" Value="core.windows.net" /><Property xsi:type="StringProperty" Name="TenantId" Value="tenantId" /><Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="false" /><Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="true" /><Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" /></CustomProperties>'
    <!--NeedCopy-->
    
  5. Exécutez $cred = Get-Credential. Saisissez n’importe quoi ici.
  6. Exécutez Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties $CustomProperties -username $cred.username -Securepassword $cred.password.

Zones étendues Azure

Les zones étendues Azure sont des extensions à faible encombrement des régions Azure existantes, permettant aux organisations d’exécuter des charges de travail plus près de leurs utilisateurs pour des performances et une conformité améliorées. MCS sur Azure prend désormais en charge le provisionnement et la gestion de l’alimentation des machines virtuelles dans les zones étendues.

Pour en savoir plus sur les zones étendues Azure, consultez la documentation Microsoft : Documentation sur les zones étendues Azure.

Cas d’utilisation

Cette fonctionnalité est applicable aux catalogues persistants et non persistants :

  • Machines virtuelles gérées uniquement par l’alimentation : Vous pouvez importer vos machines virtuelles de zone étendue existantes dans un catalogue géré uniquement par l’alimentation et les gérer avec Citrix MCS.

  • Machines virtuelles provisionnées par MCS : Vous pouvez provisionner de nouvelles machines virtuelles dans une zone étendue et les gérer avec MCS. Cette fonctionnalité inclut également la prise en charge des workflows de gestion d’images.

Limitations

Il existe actuellement plusieurs limitations à l’utilisation des zones étendues Azure. Bon nombre de ces limitations sont dues aux contraintes actuelles d’Azure :

  • Les hôtes dédiés ne sont pas pris en charge.
  • Les réservations de capacité ne sont pas prises en charge.
  • Les groupes de placement de proximité ne sont pas pris en charge.
  • Les machines virtuelles Spot ne sont pas prises en charge.
  • Les zones de disponibilité ne sont pas prises en charge dans les zones étendues.
  • Seuls les types de stockage StandardSSD_LRS et Premium_LRS sont pris en charge.
  • Vous ne pouvez pas actuellement utiliser la fonctionnalité UseSharedImageGallery pour enregistrer une image principale dans une galerie de calcul Azure (ou Shared Image Gallery) dans une zone étendue. Par conséquent, les disques de système d’exploitation éphémères ne sont pas non plus pris en charge.
  • Si vous utilisez une version d’image de la galerie de calcul Azure comme image principale, assurez-vous que la réplication est entièrement terminée dans la zone étendue avant de tenter de l’utiliser. Tenter d’utiliser la version de l’image avant la fin de la réplication peut entraîner un échec de déploiement.

Prérequis

Avant d’utiliser les zones étendues, assurez-vous d’avoir effectué les étapes de prérequis suivantes :

  1. S’inscrire auprès d’Azure :

    1. Les zones étendues ne sont pas activées par défaut.
    2. Enregistrez le fournisseur de ressources Microsoft.EdgeZones dans votre abonnement Azure : Enregistrer votre abonnement pour le fournisseur de ressources Microsoft.EdgeZones.
    3. Enregistrez chaque zone étendue requise séparément (par exemple : LosAngeles, Perth) : S’inscrire à une zone étendue Azure.
  2. Préparer les ressources Citrix :

    1. Créez un réseau virtuel dans votre zone étendue.
    2. Créez des images principales et des instantanés si nécessaire.

Autorisations requises

Pour créer un catalogue dans une zone étendue, votre principal de service doit disposer de l’autorisation suivante : Microsoft.EdgeZones/extendedZones/read.

Pour plus d’informations sur les autorisations minimales requises, consultez Autorisations minimales.

Étapes de configuration

  1. Créer une unité d’hébergement dans une zone étendue

    Les zones étendues, qui utilisent le type .extendedzone, sont répertoriées aux côtés des régions dans l’inventaire Citrix MCS. Pour provisionner dans une zone étendue, vous devez créer une nouvelle unité d’hébergement liée à cette zone étendue.

    Exemple : Pour créer une unité d’hébergement dans la zone étendue de Los Angeles

    $RootPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone" 
    
    $NetworkPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone\virtualprivatecloud.folder\MyResourceGroup.resourcegroup\MyExtendedZoneNetwork.virtualprivatecloud\MyExtendedZoneSubnet.network" 
    
    $HostingUnitPath = "XDHyp:\HostingUnits\MyHostingUnitName" 
    
    New-Item -HypervisorConnectionName MyConnectionName -NetworkPath @($NetworkPath) -Path @($HostingUnitPath) -RootPath $RootPath -StoragePath @() 
    <!--NeedCopy-->
    
  2. Créer un catalogue MCS dans une zone étendue

    Après avoir créé votre unité d’hébergement, procédez à la création du catalogue à l’aide de Studio ou de PowerShell. Assurez-vous que votre catalogue référence l’unité d’hébergement de la zone étendue.

Dépannage

Si vous rencontrez des problèmes, vérifiez les points suivants :

  1. Assurez-vous que votre abonnement est enregistré pour les zones étendues.
    1. Confirmez que votre abonnement est enregistré auprès du fournisseur de ressources Microsoft.EdgeZones.
    2. Assurez-vous que chaque zone étendue est enregistrée individuellement.
  2. Vérifiez que votre principal de service dispose de la nouvelle autorisation.

    1. Votre principal de service doit disposer de l’autorisation Microsoft.EdgeZones/extendedZones/read.

Les éléments d’inventaire dans les zones étendues peuvent apparaître comme « Unknown Extended Zone » (Zone étendue inconnue) si l’enregistrement ou les autorisations sont manquants.

Remarque :

Si vous créez un catalogue dans la région parente à l’aide d’une image principale d’une zone étendue, l’enregistrement et les autorisations pour la zone étendue sont toujours requis.

Utiliser un groupe de sécurité réseau pré-créé

Créez un groupe de sécurité réseau Deny-All pour la préparation de l’image au lieu de demander à Citrix de créer et de modifier le NSG. Modifiez les propriétés personnalisées de l’unité d’hébergement à l’aide d’une commande PowerShell Set-Item pour inclure le paramètre NsgForPreparation afin de fournir le groupe de sécurité réseau Deny-All.

Prérequis

Configurez les autorisations suivantes requises pour un principal de service :

  • Microsoft.Network/networkSecurityGroups/join/action : Associer un groupe de sécurité réseau à un sous-réseau ou à une interface réseau
  • Microsoft.Network/networkSecurityGroups/read : Obtient le groupe de sécurité réseau
  • Microsoft.Network/networkSecurityGroups/securityRules/read : Obtient la règle

Ajouter le groupe de sécurité réseau Deny-All pré-créé

Pour ajouter le groupe de sécurité réseau Deny-All pré-créé, définissez les propriétés personnalisées comme suit sur l’unité d’hébergement :

  1. Ouvrez une fenêtre PowerShell à l’aide du SDK PowerShell distant.
  2. Exécutez les commandes suivantes :

    Add-PSSnapin citrix*.
    cd XDHyp:\HostingUnits\
    Dir
    <!--NeedCopy-->
    
  3. Sélectionnez une unité d’hébergement pour récupérer les détails :

    Get-Item "XDHyp:\HostingUnits\<hostingunitname>"
    <!--NeedCopy-->
    
  4. Copiez les CustomProperties dans un bloc-notes et ajoutez le paramètre de propriété <Property xsi:type="StringProperty” Name="NsgForPreparation” Value="{ResourceGroupName}/{NetworkSecurityGroupName}"/>. Par exemple :

    <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>
    <!--NeedCopy-->
    
  5. Dans la fenêtre PowerShell, attribuez une variable aux propriétés personnalisées modifiées. Par exemple :

    $customProperty = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>"
    <!--NeedCopy-->
    
  6. Exécutez $cred = Get-Credential. Si vous y êtes invité, fournissez les informations d’identification de connexion. Les informations d’identification sont l’ID d’application Azure et le secret.
  7. Exécutez la commande suivante.

    Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password
    <!--NeedCopy-->
    

    Important :

    Si vous recevez un message indiquant que SubscriptionId est manquant, remplacez tous les guillemets doubles (“) par une apostrophe inversée suivie de guillemets doubles (`”) dans la propriété personnalisée.

  8. Exécutez dir pour vérifier les paramètres CustomProperties mis à jour.

Remarque :

La mise à jour prend plus d’une minute pour être effective.

Récupérer les détails du groupe de sécurité réseau

Pour récupérer les détails du groupe de sécurité réseau, récupérez d’abord les groupes de ressources contenant le groupe de sécurité réseau, puis récupérez le groupe de sécurité réseau en fonction du nom du groupe de ressources.

  1. Récupérez les groupes de ressources contenant le groupe de sécurité réseau. Par exemple :

    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["networksecuritygroup"]}'
    <!--NeedCopy-->
    
  2. Récupérez le groupe de sécurité réseau en fonction du nom du groupe de ressources. Par exemple :

    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}'
    <!--NeedCopy-->
    

Filtrer les groupes de ressources vides

Utilisez la commande PowerShell Get-HypInventoryItem pour filtrer les groupes de ressources vides lors de la sélection d’une image principale, d’un profil de machine ou d’une image préparée pendant la création du catalogue de machines.

Exemples :

  • Récupérez le nombre maximal d’enregistrements sur une page :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Récupérez le nombre maximal d’enregistrements sur une page et filtrez pour trouver les conteneurs de ressources qui ont des ressources spécifiques.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Récupérez avec un saut pour indiquer directement la page, et filtrez pour trouver les conteneurs de ressources qui ont des ressources spécifiques.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Utilisez un jeton pour récupérer la page suivante et filtrez pour trouver les conteneurs de ressources qui ont des ressources spécifiques.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ=='
     <!--NeedCopy-->
    
  • Récupérez tous les groupes de ressources avec la balise interne Citrix et limitez le nombre maximal d’enregistrements avec MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Filtrez pour le profil de machine (image principale) avec la balise interne Citrix et limitez le nombre maximal d’enregistrements avec MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtrez pour l’image préparée avec la balise interne Citrix et limitez le nombre maximal d’enregistrements avec MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}'
     <!--NeedCopy-->
    
  • Filtrez pour le profil de machine (image préparée) avec la balise interne Citrix et limitez le nombre maximal d’enregistrements avec MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtrez pour l’image avec la balise interne Citrix et limitez le nombre maximal d’enregistrements avec MaxRecords et l’emplacement.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}'
     <!--NeedCopy-->
    
  • Récupérez tous les groupes de ressources sans tenir compte des balises CitrixResource.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true
     <!--NeedCopy-->
    

Autorisations Azure requises

Cette section détaille les autorisations minimales et les autorisations générales requises pour Azure.

Autorisations minimales

Les autorisations minimales offrent un meilleur contrôle de la sécurité. Cependant, les nouvelles fonctionnalités qui nécessitent des autorisations supplémentaires échouent si seules les autorisations minimales sont accordées. Cette section répertorie les autorisations minimales par action.

Création d’une connexion d’hôte

Ajoutez une connexion d’hôte à l’aide des informations obtenues d’Azure.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/tenants/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.EdgeZones/extendedZones/read"
<!--NeedCopy-->

Gestion de l’alimentation des machines virtuelles

Mettez sous tension ou hors tension les instances de machine.

Création, mise à jour ou suppression de machines virtuelles

Créez un catalogue de machines, puis ajoutez, supprimez, mettez à jour des machines et supprimez le catalogue de machines.

Voici la liste des autorisations minimales requises lorsque les images principales sont des disques gérés ou des instantanés qui se trouvent dans la même région que la connexion d’hébergement.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action"
<!--NeedCopy-->

Vous avez besoin des autorisations supplémentaires suivantes, basées sur les autorisations minimales pour les fonctionnalités suivantes :

  • Si l’image principale est un VHD dans un compte de stockage situé dans la même région que la connexion d’hébergement :

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Si l’image principale est une ImageVersion de la Galerie de calcul Azure (anciennement Galerie d’images partagées) :

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Si l’image principale est un disque géré, un instantané ou un VHD situé dans une région différente de celle de la connexion d’hébergement :

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     "Microsoft.Storage/checknameavailability/read",
     "Microsoft.Storage/locations/usages/read",
     "Microsoft.Storage/skus/read",
     <!--NeedCopy-->
    
  • Si vous utilisez le groupe de ressources géré par Citrix :

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Si vous placez l’image principale dans la Galerie de calcul Azure (anciennement Galerie d’images partagées) dans un locataire ou un abonnement partagé :

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     "Microsoft.Resources/subscriptions/read",
     <!--NeedCopy-->
    
  • Si vous utilisez la prise en charge des hôtes dédiés Azure :

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Si vous utilisez le chiffrement côté serveur (SSE) avec des clés gérées par le client (CMK) :

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Si vous déployez des machines virtuelles à l’aide de modèles ARM (profil de machine) :

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     "Microsoft.Insights/DataCollectionRuleAssociations/Read",
     "Microsoft.Insights/dataCollectionRules/read",
     <!--NeedCopy-->
    
  • Si vous utilisez la spécification de modèle Azure comme profil de machine :

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Création, mise à jour et suppression de machines avec disque non géré

Voici la liste des autorisations minimales requises lorsque l’image principale est un VHD et que vous utilisez le groupe de ressources tel que fourni par l’administrateur :

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"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/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read"
<!--NeedCopy-->

Gestion des coûts

Voici l’autorisation minimale requise pour récupérer la tarification des machines virtuelles :

"Microsoft.Consumption/pricesheets/read"
<!--NeedCopy-->

Voici l’autorisation minimale requise pour récupérer le coût des machines virtuelles :

"Microsoft.CostManagement/query/read"
<!--NeedCopy-->

Remarque :

Pour afficher l’onglet Cost Insights d’un catalogue de machines Azure, vous devez disposer de l’autorisation Gestion des coûts > Gérer > Lire le coût (par défaut pour les administrateurs cloud). Pour plus d’informations sur l’onglet Cost Insights, consultez Afficher les détails du catalogue.

Autorisations générales

Le rôle de contributeur dispose d’un accès complet pour gérer toutes les ressources. Cet ensemble d’autorisations ne vous empêche pas d’obtenir de nouvelles fonctionnalités.

L’ensemble d’autorisations suivant offre la meilleure compatibilité à l’avenir, bien qu’il inclue plus d’autorisations que nécessaire avec l’ensemble de fonctionnalités actuel :

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Network/networkInterfaces/delete",
"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/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Consumption/pricesheets/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action",
"Microsoft.EdgeZones/extendedZones/read"

<!--NeedCopy-->

Configurer les autorisations requises pour la connexion d’hôte Azure

Vous pouvez facilement configurer toutes les autorisations minimales requises pour qu’un principal de service ou un compte d’utilisateur dans Azure lié à une connexion d’hôte puisse effectuer toutes les opérations MCS à l’aide d’un modèle ARM. Ce modèle ARM automatise les éléments suivants :

  • La création d’un rôle Azure avec les autorisations minimales nécessaires aux opérations.
  • L’attribution de ce rôle à un principal de service Azure existant au niveau de l’abonnement.

Vous pouvez déployer ce modèle ARM à l’aide du portail Azure ou des commandes PowerShell. Pour plus d’informations, consultez Modèle ARM pour les opérations Citrix Virtual Apps and Desktops.

Valider les autorisations sur la connexion d’hôte

Vous pouvez valider les autorisations sur une connexion d’hôte pour effectuer des tâches liées à la création et à la gestion de catalogues de machines MCS. Cette implémentation vous aide à identifier à l’avance les autorisations manquantes requises pour différents scénarios, tels que la création, la suppression et la mise à jour de machines virtuelles, la gestion de l’alimentation des machines virtuelles, afin d’éviter d’être bloqué à des moments critiques.

Vous pouvez valider les autorisations sur une connexion d’hôte à l’aide de la commande PowerShell Test-HypHypervisorConnection. Le résultat de la commande est capturé sous forme de liste, où chaque élément de la liste est divisé en trois sections.

  • Catégorie : L’action ou la tâche qu’un utilisateur peut effectuer pour créer et gérer un catalogue de machines MCS.
  • Action corrective : L’étape qu’un administrateur doit suivre pour résoudre un écart d’autorisations manquantes pour un utilisateur.
  • Autorisation manquante : La liste des autorisations manquantes pour une catégorie.

Pour valider les autorisations, procédez comme suit :

  1. Créez une connexion d’hôte à Azure.
  2. Ouvrez une fenêtre PowerShell à partir de l’hôte Delivery Controller™.
  3. Exécutez asnp citrix* pour charger les modules PowerShell spécifiques à Citrix.
  4. Exécutez la commande suivante pour vérifier si vous disposez des autorisations requises pour tester une connexion.

    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon"
    <!--NeedCopy-->
    

    Autorisation au niveau du rôle requise pour le SPN :

    • Microsoft.Authorization/roleDefinitions/read (au niveau de l’abonnement ou au niveau du groupe de ressources si un groupe de ressources est fourni)
    • Microsoft.Authorization/roleAssignments/read (au niveau de l’abonnement ou au niveau du groupe de ressources si un groupe de ressources est fourni)

    Autorisations au niveau de l’API requises pour le SPN :

    Microsoft.Graph :

    • Application.Read.All
    • Directory.Read.All
    • ServicePrincipalEndpoint.Read.All
  5. Après avoir ajouté les autorisations manquantes requises pour rechercher vos autorisations, exécutez la commande suivante pour vérifier si vous disposez des autorisations dans les différentes catégories.

    Exemple :

    Pour tester une connexion au niveau de l’abonnement avec un niveau d’autorisation plus élevé requis :

    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\ AzureCon -SecurePassword $password -UserName 922e65d5-38ae-4cf5-xxxx-xxxxxxxxx
     <!--NeedCopy-->
    

    Exemple :

    Pour tester une connexion au niveau du groupe de ressources sans un niveau d’autorisation élevé :

    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List
    <!--NeedCopy-->
    

    Remarque :

    Le paramètre CustomProperties est utilisé pour fournir le niveau du groupe de ressources, car le groupe de ressources est une information spécifique à la connexion.

    Exemple :

    Pour tester une connexion avec le niveau d’autorisation le plus élevé au niveau du groupe de ressources :

    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -SecurePassword $password -UserName 922e65d5-38ae-4cf5-832b-54122196b7dd -CustomProperties $customProperties
    <!--NeedCopy-->
    

Pour plus d’informations sur les autorisations, consultez Autorisations Azure requises.

Étapes suivantes

Plus d’informations