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 ressource. Consultez Environnements cloud 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éer un principal de service et une connexion ensemble à l’aide de Web Studio
- Créer une connexion à l’aide d’un principal de service créé précédemment
Cette section vous montre comment effectuer les tâches suivantes :
- Créer un principal de service et une connexion à l’aide de Web Studio
- Créer un principal de service à l’aide de PowerShell
- Obtenir le secret de l’application dans Azure
- Créer une connexion à l’aide d’un principal de service existant
Considérations
- Citrix® recommande d’utiliser un principal de service avec le rôle de contributeur. Cependant, 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 devrez toujours vous authentifier, mais Azure se souviendra de votre consentement précédent et n’affichera plus l’invite.
- 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 basé sur les rôles 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 rajoutant explicitement. Cependant, utilisez cette option avec prudence, car elle peut avoir des effets indésirables sur d’autres ressources auxquelles le compte peut accéder.
- Il existe un problème connu où certains comptes sont détectés comme des invités du répertoire alors qu’ils en 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 anticipation, 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 Web Studio
Important :
Cette fonctionnalité n’est pas encore disponible pour les abonnements Azure Chine.
Avec Web Studio, vous pouvez créer à la fois 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 basé sur les rôles 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. Ces autorisations peuvent être révoquées après la création de la 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 :
- Sur la page Connexion, sélectionnez Créer une nouvelle connexion, le type de connexion Microsoft Azure et votre environnement Azure.
- Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis sélectionnez Suivant.
-
Sur la page Détails de la connexion, entrez votre ID d’abonnement Azure et un nom pour la connexion. Une fois l’ID d’abonnement saisi, le bouton Créer nouveau est activé.
Remarque :
Le nom de la connexion peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ni les caractères
\/;:#.*?=<>|[]{}"'()'. - Sélectionnez Créer nouveau, puis entrez le nom d’utilisateur et le mot de passe du compte Microsoft Entra.
- Sélectionnez Se connecter.
- Sélectionnez Accepter pour accorder à Citrix Virtual Apps and Desktops™ les autorisations répertoriées. Citrix Virtual Apps and Desktops crée un principal de service qui lui permet de gérer les ressources Azure au nom de l’utilisateur spécifié.
-
Après avoir sélectionné Accepter, vous revenez à la page Connexion de l’assistant.
Remarque :
Après une authentification réussie à Azure, les boutons Créer nouveau et Utiliser existant disparaissent. Le texte Connexion réussie apparaît, avec une coche verte, indiquant la connexion réussie à votre abonnement Azure.
-
Sur la page Détails de la connexion, sélectionnez Suivant.
Remarque :
Vous ne pouvez pas passer à la page suivante tant que vous ne vous êtes pas authentifié avec succès auprès d’Azure et que vous n’avez pas consenti à accorder les autorisations requises.
-
Configurez les ressources pour la connexion. Les ressources comprennent la région et le réseau.
- 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 ni 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.
- 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 ni les caractères
- Sur la page Résumé, 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 Ajouter une connexion et des ressources, sélectionnez la connexion pour afficher les détails. L’onglet Détails affiche l’ID d’application.
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 :
SubscriptionIDAzure Resource Manager pour l’abonnement où vous souhaitez provisionner des VDA. - ActiveDirectoryID : ID de locataire de l’application que vous avez enregistrée auprès de Microsoft Entra ID.
- ApplicationName : Nom de l’application à créer dans Microsoft Entra ID.
Les étapes détaillées sont les suivantes :
Connectez-vous à votre abonnement Azure Resource Manager.
`Connect-AzAccount`
-
Sélectionnez l’abonnement Azure Resource Manager dans lequel vous souhaitez créer le principal de service.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription -
Créez l’application dans votre locataire AD.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -
Créez un principal de service.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId -
Attribuez un rôle au principal de service.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId -
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 de l’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 :
- Obtenez l’ID d’application à partir de Web Studio ou à l’aide de PowerShell.
- Connectez-vous au portail Azure.
- Dans Azure, sélectionnez Microsoft Entra ID.
- Dans Inscriptions d’applications de Microsoft Entra ID, sélectionnez votre application.
- Accédez à Certificats et secrets.
- Cliquez sur Secrets client.
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 Web Studio.
Assurez-vous d’avoir les éléments suivants à portée de main :
- SubscriptionId
- ActiveDirectoryID (ID de locataire)
- Application ID
-
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 :
-
Sur la page Connexion, sélectionnez Créer une nouvelle connexion, le type de connexion Microsoft Azure et votre environnement Azure.
-
Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis sélectionnez Suivant.
-
Sur la page Détails de la connexion, 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 ni les caractères
\/;:#.*?=<>|[]{}"'()'. -
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 d’Azure AD.
- ID d’application. Entrez l’ID d’application (client) de l’application que vous avez enregistrée auprès d’Azure AD.
- Secret d’application. Créez une clé secrète (secret client). L’application enregistrée utilise la clé pour s’authentifier auprès d’Azure AD. 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. Une icône d’avertissement s’affiche sur la connexion d’hôte spécifique dans le nœud Hébergement à partir de 14 jours avant l’expiration de la clé secrète. Cependant, si la clé secrète expire, vous recevez des erreurs.
Remarque :
Pour des raisons de sécurité, la période d’expiration ne peut pas dépasser deux ans à compter de maintenant.
- 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 téléverser 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 services. 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, c’esthttps://management.azure.com, et pour Azure US Government, c’esthttps://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 téléverser 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}.
- URL d’authentification :
- Après avoir sélectionné Enregistrer, vous revenez à la page Détails de la connexion. Sélectionnez Suivant pour passer à la page suivante.
-
Configurez les ressources pour la connexion. Les ressources comprennent la région et le réseau.
- 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 ni 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.
- 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 ni les caractères
- Sur la page Résumé, affichez un résumé 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
- Activer le partage d’images dans Azure
- Ajouter des locataires partagés à une connexion à l’aide de Web Studio
- Implémenter le partage d’images à l’aide de PowerShell
- Gérer le secret de l’application et la date d’expiration du secret
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 de 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élioration des performances Azure avec Machine Creation Services.
Pour aider à atténuer ces problèmes, vous pouvez supprimer la limitation interne de MCS afin d’utiliser davantage le 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 grandes 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 Web Studio pour configurer les opérations Azure pour une connexion Azure donnée :
- Dans Web Studio, sélectionnez Hébergement dans le volet gauche.
- Sélectionnez la connexion.
- Dans l’assistant Modifier la connexion, sélectionnez Avancé.
- 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.

MCS prend en charge 500 opérations simultanées maximales par défaut. Vous pouvez également utiliser le SDK PowerShell distant pour définir le nombre maximal d’opérations simultanées.
Utilisez la propriété PowerShell, MaximumConcurrentProvisioningOperations, pour spécifier le nombre maximal d’opérations de provisionnement Azure simultanées. Lors de l’utilisation de cette propriété, tenez compte des éléments suivants :
- La valeur par défaut de
MaximumConcurrentProvisioningOperationsest 500. - Configurez le paramètre
MaximumConcurrentProvisioningOperationsà l’aide de la commande PowerShellSet-item.
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 d’un même locataire ou entre 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), 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, 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 SPN à l’aide du contrôle d’accès basé sur les rôles Azure (RBAC). Azure RBAC est le système d’autorisation utilisé pour gérer l’accès aux ressources Azure. Pour plus d’informations sur Azure RBAC, consultez le document Microsoft Qu’est-ce que le contrôle d’accès basé sur les rôles Azure (Azure RBAC). Pour accorder l’accès, vous attribuez des rôles aux principaux de service au niveau de l’étendue 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 que Administrateur de l’accès utilisateur ou Propriétaire. Pour plus d’informations sur le partage d’images avec un autre SPN, consultez le document Microsoft Attribuer des rôles Azure à l’aide du portail Azure.
Pour plus d’informations sur la sélection d’une image à partir d’un abonnement différent à l’aide de commandes PowerShell, Sélectionner une image à partir d’un abonnement différent.
Partager des images entre locataires
Pour partager des images entre locataires avec Azure Compute Gallery, créez un enregistrement d’application.
Par exemple, s’il existe deux locataires (Locataire 1 et Locataire 2) et que vous souhaitez partager votre galerie d’images avec le Locataire 1, alors :
-
Créez un enregistrement d’application pour le Locataire 1. Pour plus d’informations, consultez Créer l’enregistrement d’application.
-
Donnez au Locataire 2 l’accès à l’application en demandant une connexion à l’aide d’un navigateur. Remplacez
Tenant2 IDpar l’ID de locataire du Locataire 1. RemplacezApplication (client) IDpar 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 au 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 Donner l’accès au Locataire 2.
-
Donnez à l’application l’accès au groupe de ressources du 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.
Pour créer un catalogue à l’aide d’une image provenant d’un locataire différent à l’aide de commandes PowerShell :
- Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de locataire partagés.
- Sélectionner une image d’un locataire différent.
Ajouter des locataires partagés à une connexion à l’aide de Web Studio
Lors de la création ou de la mise à jour de catalogues de machines dans Web 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 des informations sur les locataires et les abonnements partagés pour les connexions d’hôte associées.
Remarque :
Assurez-vous d’avoir configuré les paramètres nécessaires dans Azure pour permettre le partage d’images entre les locataires. Pour plus d’informations, consultez Partager des images entre les locataires.
Suivez les étapes suivantes pour une connexion :
- Dans Web Studio, sélectionnez Hébergement dans le volet gauche.
-
Sélectionnez la connexion, puis sélectionnez Modifier la connexion dans la barre d’actions.

-
Dans Locataires partagés, effectuez les opérations suivantes :
- Fournissez l’ID d’application et le secret d’application associés à l’abonnement de la connexion. Citrix Virtual Apps™ and Desktops utilise ces informations pour s’authentifier auprès de Microsoft Entra ID.
- Ajoutez les locataires et les abonnements qui partagent la Galerie de calcul Azure avec l’abonnement de la connexion. Vous pouvez ajouter jusqu’à 8 locataires partagés et 8 abonnements pour chaque locataire.
- 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
- Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de locataire partagés
- Sélectionner une image à partir d’un locataire différent
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 tenant Azure pour créer et mettre à jour des catalogues MCS à l’aide de commandes PowerShell.
- Dans le dossier racine de l’unité d’hébergement, Citrix crée un nouveau dossier d’abonnement partagé appelé
sharedsubscription. -
Répertorier tous les abonnements partagés dans un tenant.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder" <!--NeedCopy--> -
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--> -
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--> -
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--> -
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--> -
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
Pour plus d’informations sur la création d’un catalogue à l’aide du SDK PowerShell distant, consultez https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de tenant partagés
Utilisez Set-Item pour mettre à jour les propriétés personnalisées de la connexion d’hébergement avec les ID de tenant partagés et les ID d’abonnement. 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 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.
- Dans le dossier racine de l’unité d’hébergement, Citrix crée un nouveau dossier d’abonnement partagé appelé
sharedsubscription. -
Répertorier tous les abonnements partagés.
Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder <!--NeedCopy--> -
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--> -
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--> -
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--> -
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--> -
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
Pour plus d’informations sur la création d’un catalogue à l’aide du SDK PowerShell distant, consultez https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Gérer le secret de l’application et la date d’expiration du secret
Assurez-vous de modifier le secret de l’application pour une connexion avant l’expiration du secret. Une icône d’avertissement s’affiche sur la connexion d’hôte spécifique dans le nœud Hébergement à partir de 14 jours avant l’expiration de la clé secrète. Toutefois, si la clé secrète expire, vous recevez des erreurs.
Créer un secret d’application dans Azure
Vous pouvez créer un secret d’application pour une connexion via le portail Azure.
- Sélectionnez Microsoft Entra ID.
- Dans Inscriptions d’applications de Microsoft Entra ID, sélectionnez votre application.
- Accédez à Certificats et secrets.
- Cliquez sur Secrets client > Nouveau secret client.
-
Fournissez une description du secret et spécifiez une durée. Lorsque vous avez terminé, sélectionnez Ajouter.
Remarque :
Assurez-vous d’enregistrer le secret client car vous ne pourrez pas le récupérer ultérieurement.
- Copiez la valeur du secret client et la date d’expiration.
- Dans Web Studio, modifiez la connexion correspondante et remplacez le contenu des champs Secret de l’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 Web Studio pour ajouter ou modifier la date d’expiration du secret d’application en cours d’utilisation.
Remarque :
Une icône d’avertissement s’affiche sur la connexion d’hôte spécifique dans le nœud Hébergement à partir de 14 jours avant l’expiration de la clé secrète.
- Dans l’assistant Ajouter une connexion et des ressources, cliquez avec le bouton droit sur une connexion, puis cliquez sur Modifier la connexion.
- 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.
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 maître 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 maître, 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 :
-
S’inscrire auprès d’Azure :
- Les zones étendues ne sont pas activées par défaut.
- Enregistrez le fournisseur de ressources
Microsoft.EdgeZonesdans votre abonnement Azure : Enregistrez votre abonnement pour le fournisseur de ressources Microsoft.EdgeZones. - Enregistrez chaque zone étendue requise séparément (ex : LosAngeles, Perth) : S’inscrire à une zone étendue Azure.
-
Préparez les ressources Citrix :
- Créez un réseau virtuel dans votre zone étendue.
- 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
-
Créer une unité d’hébergement dans une zone étendue
Les zones étendues, qui utilisent le type
.extendedzone, sont répertoriées avec les 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--> -
Créer un catalogue MCS dans une zone étendue
Après avoir créé votre unité d’hébergement, passez à la création du catalogue à l’aide de Studio ou de PowerShell. Assurez-vous que votre catalogue fait 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 :
- Assurez-vous que votre abonnement est enregistré pour les zones étendues.
- Confirmez que votre abonnement est enregistré auprès du fournisseur de ressources Microsoft.EdgeZones.
- Assurez-vous que chaque zone étendue est enregistrée individuellement.
-
Vérifiez que votre principal de service dispose de la nouvelle autorisation.
- Votre principal de service doit disposer de l’autorisation
Microsoft.EdgeZones/extendedZones/read.
- Votre principal de service doit disposer de l’autorisation
Les éléments d’inventaire dans les zones étendues peuvent être affichés comme « 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 provenant 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 d’images 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 :
- Ouvrez une fenêtre PowerShell à l’aide du SDK PowerShell distant.
-
Exécutez les commandes suivantes :
Add-PSSnapin citrix*. cd XDHyp:\HostingUnits\ Dir <!--NeedCopy--> -
Sélectionnez une unité d’hébergement pour récupérer les détails :
Get-Item "XDHyp:\HostingUnits\<hostingunitname>" <!--NeedCopy--> -
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--> -
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--> - 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. -
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 toutes les guillemets doubles (“) par une apostrophe inversée suivie de guillemets doubles (`”) dans la propriété personnalisée.
- Exécutez
dirpour vérifier les paramètresCustomPropertiesmis à jour.
Remarque :
Il faut plus d’une minute pour que les mises à jour soient prises en compte.
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.
-
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--> -
Récupérer 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érer le nombre maximal d’enregistrements dans une page :
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Récupérer le nombre maximal d’enregistrements dans une page, et filtrer 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érer en utilisant l’option de saut pour indiquer directement la page, et filtrer 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--> -
Utiliser un jeton pour récupérer la page suivante, et filtrer 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érer tous les groupes de ressources avec l’étiquette interne Citrix et limiter le nombre maximal d’enregistrements avec
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Filtrer pour le profil de machine (image principale) avec l’étiquette interne Citrix et limiter le nombre maximal d’enregistrements avec
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtrer pour l’image préparée avec l’étiquette interne Citrix et limiter le nombre maximal d’enregistrements avec
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}' <!--NeedCopy--> -
Filtrer pour le profil de machine (image préparée) avec l’étiquette interne Citrix et limiter le nombre maximal d’enregistrements avec
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtrer pour l’image avec l’étiquette interne Citrix et limiter le nombre maximal d’enregistrements avec
MaxRecordset l’emplacement.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}' <!--NeedCopy--> -
Récupérer tous les groupes de ressources sans tenir compte des étiquettes
CitrixResource.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true <!--NeedCopy-->
Se connecter à l’environnement cloud Azure Sovereign Airgap
L’environnement cloud Azure Sovereign Airgap convient aux charges de travail top secrètes qui doivent se trouver sur des domaines de réseau séparés. Vous pouvez vous connecter à l’environnement cloud Azure Sovereign Airgap à l’aide d’une propriété personnalisée DisableInstanceDiscovery lors de la création d’une connexion d’hôte.
<Property xsi:type="StringProperty" Name="DisableInstanceDiscovery" Value="true" />
<!--NeedCopy-->
Consultez Create-HostingConnection.ps1 pour plus d’informations sur la création d’une connexion d’hôte Azure.
Autorisations Azure requises
Cette section contient les autorisations minimales et 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 en raison de l’utilisation uniquement des autorisations minimales.
Création d’une connexion d’hôte
Ajoutez une nouvelle 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"
<!--NeedCopy-->
Gestion de l’alimentation des machines virtuelles
Mettez sous tension ou hors tension les instances de machine.
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->
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 l’image principale est un disque géré ou que les instantanés sont situés 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"
<!--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 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é, alors les instantanés ou le VHD se trouvent 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 un 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 Azure Compute Gallery (anciennement Shared Image Gallery) 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 de l’hôte dédié 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 une 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 un disque non géré
Voici la liste des autorisations minimales requises lorsque l’image principale est un VHD et que le groupe de ressources est 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 Cost Management > Manage > Read cost (par défaut pour les administrateurs cloud). Pour plus d’informations sur l’onglet Cost Insights, consultez Afficher les détails du catalogue.
Permission générale
Le rôle de contributeur a un accès complet pour gérer toutes les ressources. Cet ensemble de permissions ne vous empêche pas d’obtenir de nouvelles fonctionnalités.
L’ensemble de permissions suivant offre la meilleure compatibilité à l’avenir, bien qu’il inclue plus de permissions 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.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read"
<!--NeedCopy-->
Valider la connexion hôte dans un environnement Azure non secret
Vous pouvez valider les permissions sur une connexion 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 permissions 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 permissions sur une connexion 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 une divergence de permissions manquantes d’un utilisateur.
- Permission manquante : La liste des permissions manquantes pour une catégorie.
Pour valider les permissions, procédez comme suit :
- Créez une connexion hôte à Azure.
- Ouvrez une fenêtre PowerShell à partir de l’hôte Delivery Controller™.
- Exécutez
asnp citrix*pour charger les modules PowerShell spécifiques à Citrix. -
Exécutez la commande suivante pour vérifier si vous disposez des permissions requises pour tester une connexion.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon" <!--NeedCopy-->Permission de niveau de rôle requise pour le SPN :
- Microsoft.Authorization/roleDefinitions/read (au niveau de l’abonnement ou du groupe de ressources si un groupe de ressources est fourni)
- Microsoft.Authorization/roleAssignments/read (au niveau de l’abonnement ou du groupe de ressources si un groupe de ressources est fourni)
Autorisations de niveau API requises pour le SPN :
Microsoft.Graph :
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
Après avoir ajouté les autorisations manquantes requises pour rechercher vos autorisations, exécutez la commande suivante pour vérifier si vous disposez d’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 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 supérieur 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.
Valider la connexion hôte dans un environnement secret Azure
Vous pouvez vérifier si une connexion hôte dispose des autorisations requises dans un environnement secret Azure à l’aide d’une commande PowerShell Test-HypHypervisorConnection.
Cependant, pour obtenir le résultat de la validation, créez ou mettez à jour une connexion hôte existante afin qu’elle dispose d’une propriété personnalisée AuthenticationObjectId. Cette propriété stocke l’ID d’objet du principal de service lié à la connexion d’hébergement.
Remarque :
Obtenez l’ID d’objet du principal de service à partir du portail Azure. N’utilisez pas l’ID de l’application.
Créer ou mettre à jour une connexion hôte pour inclure AuthenticationObjectId
Utilisez New-Item pour créer une connexion hôte et ajouter AuthenticationObjectId en tant que propriété personnalisée. Exemple :
New-Item -ConnectionType 'Azure' -HypervisorAddress @('http://hypervisorhost1.example.com','http://hypervisorhost2.example.com')`
-LoggingId $loggingId -Path @('XDHyp:\\Connections\\Example') -Persist -Scope @() `
-Password 'Password' -UserName 'root' -CustomProperties <Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/>
<!--NeedCopy-->
Utilisez Set-Item pour mettre à jour une connexion hôte existante afin d’ajouter AuthenticationObjectId en tant que propriété personnalisée. Les étapes à suivre sont les suivantes :
- Ouvrez une fenêtre PowerShell à l’aide du SDK PowerShell distant.
-
Exécutez les commandes suivantes :
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copiez le
CustomPropertiesde la connexion dans un bloc-notes et ajoutez le paramètre de propriété<Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/>auCustomProperties. - Dans la fenêtre PowerShell, attribuez une variable aux propriétés personnalisées modifiées.
- 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. - Exécutez
Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password. -
Exécutez
dirpour vérifier les paramètresCustomPropertiesmis à jour.Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties <Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/> -username $cred.username -Securepassword $cred.password <!--NeedCopy-->
Valider la connexion hôte pour les autorisations
Pour valider les connexions hôtes pour les rôles et autorisations requis, exécutez les commandes suivantes :
-
Si vous avez des rôles et des autorisations attribués au niveau de l’abonnement :
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\<Your-HostingConnection> <!--NeedCopy--> -
Si vous avez des rôles et des autorisations attribués au niveau du groupe de ressources :
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\<Your-HostingConnection> -CustomProperties $CustomProperties $CustomProperties = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">'` + '<Property xsi:type="StringProperty" Name="ResourceGroups" Value="ExampleResourceGroup" />'` + '</CustomProperties>' <!--NeedCopy-->
Étapes suivantes
- Si vous êtes dans le processus de déploiement initial, consultez Créer des catalogues de machines
- Pour des informations spécifiques à Azure, consultez Créer un catalogue Microsoft Azure
Plus d’informations
Dans cet article
- Créer des principaux de service et des connexions
- Gérer les principaux de service et les connexions
- Zones étendues Azure
- Utiliser un groupe de sécurité réseau pré-créé
- Filtrer les groupes de ressources vides
- Se connecter à l’environnement cloud Azure Sovereign Airgap
- Autorisations Azure requises
- Valider la connexion hôte dans un environnement Azure non secret
- Valider la connexion hôte dans un environnement secret Azure
- Étapes suivantes
- Plus d’informations