Connexion à Microsoft Azure
Remarque :
Depuis juillet 2023, Microsoft a renommé Azure Active Directory (Azure AD) Microsoft Entra ID. Dans ce document, toute occurrence de l’appellation Azure Active Directory, Azure AD ou de l’acronyme AAD fait désormais référence à Microsoft Entra ID.
La section 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 de cloud Azure Resource Manager.
Remarque :
Avant de créer une connexion à Microsoft Azure, vous devez terminer la configuration de votre compte Azure en tant qu’emplacement de ressources. Voir Environnements de cloud Microsoft 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 ensemble un principal de service et une connexion à l’aide de Web Studio
- Créer une connexion à l’aide d’un principal de service créé précédemment
Cette section explique 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 le principal du service avec un rôle de contributeur. Consultez toutefois la section Autorisations minimales pour obtenir la liste des autorisations minimales.
- Lorsque vous créez la première connexion, Azure vous invite à leur accorder les autorisations nécessaires. Vous devrez toujours vous authentifier pour les futures connexions, mais Azure mémorise votre accord préalable et n’affiche plus l’invite.
- Les comptes utilisés pour l’authentification doivent être des co-administrateurs de l’abonnement.
- Le compte utilisé pour l’authentification doit être un membre du répertoire de l’abonnement. Il existe deux types de comptes : « Professionnel ou école » et « compte Microsoft personnel ». Voir 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, cela peut entraîner des complications si un accès invité à l’une des ressources du répertoire a précédemment été accordé à l’utilisateur. Dans ce cas, le répertoire peut contenir une entrée fictive 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. Soyez toutefois prudent, car cela a des effets indésirables sur d’autres ressources auxquelles ce compte peut accéder.
- Il existe un problème connu dans lequel certains comptes sont détectés en tant qu’invités du répertoire alors qu’ils en sont membres. Des configurations comme celle-ci se produisent généralement avec d’anciens comptes de répertoire établis. Solution : ajoutez un compte au répertoire, qui prend la valeur d’appartenance appropriée.
- Les groupes de ressources sont des conteneurs de ressources qui peuvent contenir des ressources provenant de régions autres que leur propre région. Cela peut porter à 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 sous-réseau sont suffisamment grands pour héberger le nombre de machines dont vous avez besoin. Cela nécessite une démarche prospective, mais Microsoft vous permet de spécifier les valeurs correctes, en fournissant 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 permettent aux connexions d’accéder 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 clé secrète client ou secret d’application) est créée pour l’application enregistrée. L’application enregistrée (une connexion dans ce cas) utilise la clé secrète client pour s’authentifier auprès d’Azure AD.
Avant de commencer, assurez-vous de remplir les conditions préalables suivantes :
- Vous disposez d’un compte utilisateur dans le locataire Azure Active Directory de votre abonnement.
- Le compte d’utilisateur Azure AD est également un co-administrateur pour l’abonnement Azure que vous utiliserez pour les ressources de provisioning.
- Vous disposez d’autorisations d’administrateur global, d’administrateur d’application ou de développeur d’applications pour l’authentification. Ces autorisations peuvent être révoquées après la création d’une connexion hôte. Pour plus d’informations sur les rôles, consultez la section Rôles intégrés d’Azure AD.
Utilisez l’assistant Ajouter une connexion et des ressources pour créer simultanément un principal de service et une connexion :
-
Sur la page Connexion, sélectionnez Créer une connexion, le type de connexion Microsoft Azure et votre environnement Azure.
-
Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis cliquez sur Suivant.
-
Sur la page Détails de la connexion, entrez votre ID d’abonnement Azure et un nom pour la connexion. Lorsque vous entrez l’ID d’abonnement, le bouton Créer nouveau est activé.
Remarque :
Le nom de la connexion peut contenir entre 1 et 64 caractères, et ne peut pas contenir uniquement des espaces ou les caractères
\/;:#.*?=<>|[]{}"'()'
. -
Sélectionnez Créer, puis entrez le nom d’utilisateur et le mot de passe du compte Azure Active Directory.
-
Sélectionnez Se connecter.
-
Sélectionnez Accepter pour donner à 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 pour le compte d’utilisateur spécifié.
-
Une fois que vous avez sélectionné Accepter, vous revenez à la page Connexion de l’assistant.
Remarque :
Une fois que vous vous êtes authentifié auprès d’Azure, les boutons Créer et Utiliser existant disparaissent. Le texte Connexion établie avec succès 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 correctement authentifié auprès d’Azure et 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, procédez comme suit :
- tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères
\/;:#.*?=<>|[]{}"'()'
. - Sélectionnez une paire réseau virtuel/groupe de ressources (si vous avez plusieurs réseaux virtuels avec le même nom, le couplage 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 dispose pas de réseaux virtuels, retournez à cette page et sélectionnez une région contenant des réseaux virtuels.
- tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères
-
Sur la page Résumé, affichez un résumé des paramètres et sélectionnez Terminer pour terminer votre configuration.
Afficher l’ID de l’application
Après avoir créé une connexion, vous pouvez voir l’ID de l’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 de l’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 applets de commande PowerShell fournies dans les sections suivantes.
Assurez-vous que les éléments suivants sont prêts :
-
SubscriptionId :
SubscriptionID
Azure Resource Manager pour l’abonnement sur lequel vous souhaitez provisionner les VDA. - ActiveDirectoryID : ID de locataire de l’application que vous avez enregistrée auprès d’Azure AD.
- ApplicationName : nom de l’application à créer dans Azure AD.
Les étapes détaillées sont les suivantes :
Connectez-vous à votre abonnement Azure Resource Manager.
`Connect-AzAccount`
-
Sélectionnez l’abonnement Azure Resource Manager sur 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 sortie de la fenêtre de la console PowerShell, notez la valeur ApplicationId. Vous fournissez cet ID lors de la création de la connexion 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 code secret du principal du service sur le portail Azure.
Les étapes détaillées sont les suivantes :
- Obtenez l’ID de l’application dans Web Studio ou à l’aide de PowerShell.
- Connectez-vous au portail Azure.
- Dans Azure, sélectionnez Azure Active Directory.
- Dans Inscriptions des applications dans Azure AD, sélectionnez votre application.
- Accédez à Certificats et secrets.
- Cliquez sur Clés secrètes 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 que les éléments suivants sont prêts :
- ID d’abonnement
- ID Active Directory (ID du locataire)
- ID de l’application
-
Secret d’application
Pour plus d’informations, consultez la section 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 connexion, le type de connexion Microsoft Azure et votre environnement Azure.
-
Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis cliquez sur 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 entre 1 et 64 caractères, et ne peut pas contenir uniquement des espaces ou les caractères
\/;:#.*?=<>|[]{}"'()'
. -
Sélectionnez Utiliser 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 que vous avez saisi les détails, le bouton Enregistrer est activé. Sélectionnez Save. Vous ne pouvez pas avancer au-delà de cette page tant que vous n’avez pas fourni de détails valides.
- ID d’abonnement. Saisissez votre identifiant 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 du locataire). Entrez l’ID du répertoire (locataire) de l’application que vous avez enregistrée auprès d’Azure AD.
- ID de l’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 pour des raisons de sécurité. Assurez-vous d’enregistrer la clé car vous ne pouvez pas la récupérer ultérieurement.
-
Date d’expiration du secret. Entrez la date après laquelle le secret d’application expire. Vous recevez une alerte sur la console avant l’expiration de la clé secrète. Toutefois, si la clé secrète expire, des erreurs s’affichent.
Remarque :
Pour des raisons de sécurité, la période d’expiration ne peut pas dépasser deux ans.
- 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.
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 demande pour les API du fournisseur Azure Resource Manager. Le point de terminaison dédié à la gestion dépend de l’environnement. Par exemple, pour Azure Global, il s’agit de https://management.azure.com/, et pour Azure US Government, il s’agit de https://management.usgovcloudapi.net/.
- Suffixe de stockage : https://*.core.windows.net./. Ce (*) est un caractère générique pour le suffixe de stockage. Par exemple,
https://demo.table.core.windows.net/
.
-
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 :
- tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères
\/;:#.*?=<>|[]{}"'()'
. - Sélectionnez une paire réseau virtuel/groupe de ressources (si vous avez plusieurs réseaux virtuels avec le même nom, le couplage 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 dispose pas de réseaux virtuels, retournez à cette page et sélectionnez une région contenant des réseaux virtuels.
- tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères
-
Sur la page Résumé, affichez un résumé des paramètres et sélectionnez Terminer pour terminer 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 d’Azure
- Activer le partage d’images dans Azure
- Ajouter des locataires partagés à une connexion à l’aide de la configuration complète
- Mettre en œuvre 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 d’Azure
Azure Resource Manager limite les demandes d’abonnements et de locataires, en acheminant le trafic en fonction de limites définies, adaptées aux besoins spécifiques du fournisseur. Pour plus d’informations, consultez la section Limitation des demandes Resource Manager sur le site Microsoft. Il existe des limites pour les abonnements et les locataires, où la gestion de nombreuses machines peut devenir problématique. Par exemple, un abonnement contenant un grand nombre de machines peut rencontrer des problèmes de performances liés aux opérations d’alimentation.
Conseil :
Pour plus d’informations, consultez la section Amélioration des performances Azure avec Machine Creation Services.
Pour aider à atténuer ces problèmes, vous pouvez supprimer la limitation interne de MCS pour utiliser une plus grande partie du quota de demandes disponible d’Azure.
Nous recommandons les paramètres optimaux suivants lors de la mise hors/sous tension de machines virtuelles dans les abonnements volumineux, 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 de gauche.
- Sélectionnez la connexion.
- Dans l’assistant Modifier la connexion, sélectionnez Avancé.
- Dans la page Avancé, utilisez les options de configuration pour spécifier le nombre d’actions simultanées, le nombre maximal de nouvelles actions par minute et toutes les options de connexion supplémentaires.
MCS prend en charge 500 opérations simultanées maximum par défaut. Vous pouvez également utiliser le SDK Remote 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 provisioning Azure simultanées. Lorsque vous utilisez cette propriété, prenez en compte des éléments suivants :
- La valeur par défaut de
MaximumConcurrentProvisioningOperations
est 500. - Configurez le paramètre
MaximumConcurrentProvisioningOperations
à l’aide de la commande PowerShellSet-item
.
Activer le partage d’images dans Azure
Lorsque vous créez ou mettez à jour des catalogues de machines, vous pouvez sélectionner des images partagées à partir de différents locataires et abonnements Azure (partagées via la galerie Azure Compute Gallery). Pour activer le partage d’images au sein des locataires ou entre eux, vous devez définir les paramètres nécessaires dans Azure :
Partager des images au sein d’un locataire (entre abonnements)
Pour sélectionner une image dans Azure Compute Gallery qui appartient à un autre abonnement, l’image doit être partagée avec le service principal (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, qui est configuré dans Studio comme suit :
Abonnement : abonnement 2
Locataire : locataire 1
Si vous souhaitez partager l’image de l’abonnement 2 avec l’abonnement 1 (SPN 1), accédez à l’abonnement 2 et partagez le groupe de ressources avec SPN1.
L’image doit être partagée avec un autre 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 en fonction du rôle Azure (RBAC Azure). Pour accorder l’accès, vous attribuez des rôles aux principaux de service au niveau du groupe de ressources avec le rôle Contributeur. Pour attribuer des rôles Azure, vous devez disposer d’une autorisation Microsoft.Authorization/roleAssignments/write
, telle que le rôle 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 provenant d’un autre abonnement à l’aide de commandes PowerShell, consultez la section Sélectionner une image provenant d’un autre abonnement.
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 y a deux locataires (Tenant 1 et Tenant 2) et que vous souhaitez partager votre galerie d’images avec Tenant 1, alors :
-
Créez une demande d’enregistrement pour Tenant 1. Pour plus d’informations, voir Créer l’enregistrement de l’application.
-
Donnez à Tenant 2 l’accès à l’application en demandant une connexion à l’aide d’un navigateur. Remplacez
Tenant2 ID
par l’identifiant de Tenant 1. RemplacezApplication (client) ID
par l’ID de l’application de l’enregistrement d’application que vous avez créé. Lorsque vous avez terminé d’effectuer les remplacements, collez l’URL dans un navigateur et suivez les instructions de connexion pour vous connecter à Tenant 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 la section Donner accès à Tenant 2.
-
Donnez à l’application l’accès au groupe de ressources Tenant 2. Connectez-vous en tant que Tenant 2 et autorisez l’enregistrement d’application à accéder au groupe de ressources contenant l’image de la galerie. Pour plus d’informations, consultez Authentifier les demandes auprès des locataires.
Pour créer un catalogue à partir d’une image provenant d’un autre locataire à l’aide de commandes PowerShell :
- Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec des ID de locataire partagés.
- Sélectionner une image provenant d’un autre locataire.
Ajouter des locataires partagés à une connexion à l’aide de la configuration complète
Lorsque vous créez ou mettez à jour des 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 Azure Compute Gallery). Cette fonctionnalité exige que vous fournissiez des informations partagées sur les locataires et les abonnements pour les connexions hôtes associées.
Remarque :
Vérifiez que vous avez configuré les paramètres nécessaires dans Azure pour permettre le partage d’images entre les locataires. Pour plus d’informations, consultez la section Partager des images entre les locataires.
Pour établir une connexion, procédez comme suit :
- Dans Web Studio, sélectionnez Hébergement dans le volet de gauche.
-
Sélectionnez la connexion, puis sélectionnez Modifier la connexion dans le volet Actions.
-
Dans Locataires partagés, procédez comme suit :
- 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 d’Azure AD.
- Ajoutez des locataires et des abonnements qui partagent Azure Compute Gallery avec l’abonnement de la connexion. Vous pouvez ajouter jusqu’à huit locataires partagés et huit 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.
Mettre en œuvre le partage d’images à l’aide de PowerShell
Cette section décrit les processus à suivre pour le partage d’images à l’aide de PowerShell :
- Sélectionner une image provenant d’un autre abonnement
- Mettre à jour les propriétés personnalisées de la connexion d’hébergement avec des ID de locataire partagés
- Sélectionner une image provenant d’un autre locataire
Sélectionner une image provenant d’un autre abonnement
Vous pouvez sélectionner une image dans Azure Compute Gallery qui appartient à un abonnement partagé différent dans le même locataire Azure pour créer et mettre à jour des catalogues MCS à l’aide de commandes PowerShell.
- Citrix crée un nouveau dossier d’abonnement partagé appelé
sharedsubscription
dans le dossier racine de l’unité d’hébergement. -
Répertoriez tous les abonnements partagés d’un client.
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’images 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 de l’image de la galerie
- Version d’image de la galerie
Pour plus d’informations sur la création d’un catalogue à l’aide du SDK Remote PowerShell, 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 des ID de locataire partagés
Utilisez Set-Item
pour mettre à jour les propriétés personnalisées de connexion d’hébergement avec des ID de locataire et des identifiants d’abonnement partagés. Ajoutez une propriété SharedTenants
dans CustomProperties
. Le format de Shared Tenants
est le suivant :
[{"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 provenant d’un autre locataire
Vous pouvez sélectionner une image dans Azure Compute Gallery qui appartient à un autre locataire Azure pour créer et mettre à jour des catalogues MCS à l’aide de commandes PowerShell.
- Citrix crée un nouveau dossier d’abonnement partagé appelé
sharedsubscription
dans le dossier racine de l’unité d’hébergement. -
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’images 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 de l’image de la galerie
- Version d’image de la galerie
Pour plus d’informations sur la création d’un catalogue à l’aide du SDK Remote PowerShell, 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
Veillez à modifier le secret de l’application pour une connexion avant son expiration. Vous recevez une alerte sur Studio Web avant l’expiration de la clé secrète.
Créer un secret d’application dans Azure
Vous pouvez créer un secret d’application pour une connexion via le portail Azure.
- Sélectionnez Azure Active Directory.
- Dans Inscriptions des applications dans Azure AD, sélectionnez votre application.
- Accédez à Certificats et secrets.
- Cliquez sur Clés secrètes client > Nouvelle clé secrète client.
-
Fournissez une description du secret et spécifiez une durée. Lorsque vous avez terminé, sélectionnez Ajouter.
Remarque :
Veillez à enregistrer le secret client car vous ne pouvez 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 du champ Secret de l’application et Date d’expiration du secret par la valeur que vous avez copiée.
Modifier la date d’expiration du secret
Vous pouvez utiliser Studio Web pour ajouter ou modifier la date d’expiration du secret d’application utilisé.
- 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 utilisé.
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é. Toutefois, les nouvelles fonctionnalités qui nécessitent des autorisations supplémentaires échouent si seules des autorisations minimales sont utilisées.
Création d’une connexion hôte
Ajoutez une nouvelle connexion hôte à l’aide des informations obtenues auprès 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"
<!--NeedCopy-->
Gestion de l’alimentation des machines virtuelles
Mettez les instances de machine sous tension ou hors tension.
"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 se trouvent dans la même région que la connexion d’hébergement.
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/locations/usages/read",
<!--NeedCopy-->
Vous avez besoin des autorisations supplémentaires suivantes basées sur des autorisations minimales pour les fonctionnalités suivantes :
-
Si l’image principale est un disque dur virtuel 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 Shared Image Gallery :
"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é, les instantanés ou un disque dur virtuel 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 des hôtes dédiés Azure :
"Microsoft.Compute/hostGroups/read", "Microsoft.Compute/hostGroups/write", "Microsoft.Compute/hostGroups/hosts/read", <!--NeedCopy-->
-
Si vous utilisez le chiffrement côté serveur (SSE) avec des clés gérées par le client (CMK) :
"Microsoft.Compute/diskEncryptionSets/read", <!--NeedCopy-->
-
Si vous déployez des machines virtuelles à l’aide de modèles ARM (profil de machine) :
"Microsoft.Resources/deployments/write", "Microsoft.Resources/deployments/operationstatuses/read", "Microsoft.Resources/deployments/read", "Microsoft.Resources/deployments/delete", "Microsoft.Insights/DataCollectionRuleAssociations/Read", "Microsoft.Insights/dataCollectionRules/read", <!--NeedCopy-->
-
Si vous utilisez la spécification de modèle Azure comme profil de machine :
"Microsoft.Resources/templateSpecs/read", "Microsoft.Resources/templateSpecs/versions/read", <!--NeedCopy-->
Création, mise à jour et suppression de machines dotées d’un disque non géré
Voici la liste des autorisations minimales requises lorsque l’image principale est un disque dur virtuel et utilise un groupe de ressources 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-->
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’obtenir de nouvelles fonctionnalités.
L’ensemble d’autorisations suivant fournit la meilleure compatibilité à l’avenir, même s’il inclut 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",
<!--NeedCopy-->
Valider les autorisations sur une connexion hôte
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 mise en œuvre permet d’identifier 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 à l’avance, 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 : action ou tâche qu’un utilisateur peut effectuer pour créer et gérer un catalogue de machines MCS.
- Action corrective : étape qu’un administrateur doit suivre pour corriger les différences d’autorisations manquantes d’un utilisateur.
- Autorisation manquante : 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 depuis l’hôte Delivery Controller.
- Exécutez
asnp citrix*
pour charger des modules PowerShell propres à 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 de niveau du rôle requise pour le SPN :
- Microsoft.Authorization/roleDefinitions/read (au niveau de l’abonnement ou au niveau du groupe de ressources si un groupe de ressources est fourni)
- Microsoft.Authorization/roleAssignments/read (au niveau de l’abonnement ou au niveau du groupe de ressources si un groupe de ressources est fourni)
Autorisations au niveau de l’API requises pour le SPN :
Microsoft.Graph:
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
Après avoir ajouté les autorisations manquantes requises pour consulter 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 nécessitant un niveau d’autorisation supérieur :
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 de 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.
Autres ressources
- Si vous êtes dans le processus de déploiement initial, consultez la section Créer des catalogues de machines.
- Pour obtenir des informations spécifiques à Azure, consultez la section Créer un catalogue Microsoft Azure.