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 configurer votre compte Azure en tant qu’emplacement de ressource. Consultez Environnements cloud Azure Resource Manager.
-
Créer des principaux de service et des connexions
-
Avant de créer des connexions, vous devez configurer les 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 précédemment créé
-
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 d’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. 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 connexions futures, vous devez toujours vous authentifier, mais Azure mémorise votre consentement précédent et n’affiche 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 : « Compte 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 de nouveau 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, ce 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 Web Studio
Important :
Cette fonctionnalité n’est pas encore disponible pour les abonnements Azure Chine.
Avec Web 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 d’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 général, 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 entré, 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 ni les caractères
\/;:#.*?=<>|[]{}"'()'.
-
- Sélectionnez Créer 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 :
-
Une fois que vous vous êtes 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.
-
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 contient des réseaux virtuels.
- 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.
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 :** `SubscriptionID` Azure Resource Manager pour l'abonnement dans lequel 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éer un principal de service.
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-->
-
-
Attribuer un rôle au principal de service.
``` - Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"```
-
- Dans la fenêtre de sortie de la console PowerShell, notez l’ID d’application (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.
- Voici les étapes détaillées :
- 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.
your-key-vault-name -
- 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 de disposer des éléments suivants :
- ID d’abonnement (SubscriptionId)
- ID Active Directory (ID de locataire)
- ID d’application
-
Secret d’application
Pour plus d’informations, consultez Obtenir le secret d’application.
- Date d’expiration du secret
Voici les étapes détaillées :
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 de 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 modifier 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. Toutefois, 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 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 de 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 dehttps://management.azure.com, et pour Azure US Government, il s’agit dehttps://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 de bus de service :
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}.
- 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, procédez comme suit :
- 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 contient des réseaux virtuels.
- 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 d’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, en 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 Improving Azure performance with Machine Creation Services.
Pour aider à atténuer ces problèmes, vous pouvez 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
-
Nombre maximal d’opérations simultanées : 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 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 points 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 plusieurs 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 du groupe de ressources avec le rôle Contributor. Pour attribuer des rôles Azure, vous devez disposer de l’autorisation Microsoft.Authorization/roleAssignments/write, telle que User Access Administrator ou Owner. 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, consultez Sélectionner une image à partir d’un abonnement différent.
- #### Partager des images entre locataires
- Pour partager des images entre locataires avec la Galerie de calcul Azure, 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 via 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 à partir 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 à partir de différents locataires et abonnements Azure (partagées via la Galerie de calcul Azure). 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.
-
Effectuez 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’application ID 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 garder 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 au sein du même 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épertoriez tous les abonnements partagés dans un locataire.
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 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 locataire différent
Vous pouvez sélectionner une image dans Azure Compute Gallery qui appartient à un locataire Azure différent 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épertoriez 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 d’application et la date d’expiration du secret
Assurez-vous de modifier le secret d’application d’une connexion avant son expiration. Une icône d’avertissement apparaît 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.
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. Une fois 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 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 Web Studio pour ajouter ou modifier la date d’expiration du secret d’application en cours d’utilisation.
Remarque :
Une icône d’avertissement apparaît sur la connexion d’hôte spécifique dans le nœud Hébergement 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.
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-Itempour inclure le paramètreNsgForPreparationafin de fournir le groupe de sécurité réseau Deny-All.
Conditions préalables
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 tous 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 :
La prise en compte des mises à jour prend plus d’une minute.
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é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érer le nombre maximal d’enregistrements sur une page :
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Récupérer le nombre maximal d’enregistrements sur 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 avec skip 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 par 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 par 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 par 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 par 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 est adapté aux charges de travail top secrètes qui doivent se trouver sur des domaines réseau séparés. Vous pouvez vous connecter à l’environnement cloud Azure Sovereign Airgap en utilisant 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 en utilisant les 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é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) au sein d’un locataire ou d’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 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 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.
Autorisation générale
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’accéder aux 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.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 autorisations 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 autorisations manquantes requises pour différents scénarios, tels que la création, la suppression et la mise à jour de machines virtuelles, ainsi que 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 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 d’un utilisateur.
- Autorisation manquante : La liste des autorisations manquantes pour une catégorie.
Pour valider les autorisations, 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 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 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 au niveau de l’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 consulter 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 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.
Valider la connexion d’hôte dans un environnement secret Azure
Vous pouvez vérifier si une connexion d’hôte dispose des autorisations requises dans un environnement secret Azure à l’aide de la commande PowerShell Test-HypHypervisorConnection.
Cependant, pour obtenir un résultat de validation réussi, créez ou mettez à jour une connexion d’hôte existante pour 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 d’hôte pour inclure AuthenticationObjectId
Utilisez New-Item pour créer une connexion d’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 d’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 les
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"/>auxCustomProperties. - 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 d’hôte pour les autorisations
Pour valider les connexions d’hôte pour les rôles et autorisations requis, exécutez les commandes suivantes :
-
Si vous disposez de rôles et d’autorisations attribués au niveau de l’abonnement :
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\<Your-HostingConnection> <!--NeedCopy--> -
Si vous disposez de rôles et d’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 en phase 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
- Créer un principal de service et une connexion à l’aide de Web Studio
- Gérer les principaux de service et les connexions
- 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 d’hôte dans un environnement secret Azure
- Étapes suivantes
- Plus d’informations