Citrix DaaS

Créer des catalogues joints à Azure Active Directory

Cet article explique comment créer des catalogues joints à Azure Active Directory (AD) à l’aide de Citrix DaaS.

Pour plus d’informations sur les exigences, les limites et les considérations, consultez la section Joint à Azure Active Directory.

Avant de créer le catalogue de machines, vous devez disposer des éléments suivants :

  1. Nouvel emplacement de ressources
    • Accédez à l’interface utilisateur d’administration Citrix Cloud > menu hamburger en haut à gauche > Emplacements des ressources.
    • Cliquez sur + Emplacement des ressources.
    • Entrez un nom pour le nouvel emplacement de ressources, puis cliquez sur Enregistrer.
  2. Créer une connexion hôte. Voir la section Créer et gérer des connexions pour plus de détails. Lorsque vous déployez des machines sur Azure, consultez la section Connexion à Azure Resource Manager.
  3. Pour supprimer systématiquement les machines Azure AD obsolètes et autoriser de nouvelles machines à rejoindre Azure AD, vous pouvez attribuer le rôle d’administrateur de machine cloud au principal du service de provisioning. Si vous ne supprimez pas les machines Azure AD obsolètes, la machine virtuelle non persistante correspondante reste dans l’état d’initialisation jusqu’à ce que vous la supprimiez manuellement du portail Azure AD. Pour cela, activez la gestion des connexions hôtes des appareils joints à Azure AD à l’aide de l’interface Configuration complète ou effectuez les étapes suivantes :

    1. Connectez-vous au portail Azure et accédez à Azure Active Directory > Rôles et administrateurs.
    2. Recherchez le rôle intégré Administrateur de machine cloud et cliquez sur Ajouter des attributions pour attribuer le rôle au principal de service de l’application utilisée par la connexion d’hébergement.
    3. Utilisez le Citrix Remote PowerShell SDK pour exécuter les commandes suivantes afin d’obtenir les paramètres CustomProperties existants de la connexion d’hébergement. ${HostingConnectionName} fait référence au nom de la connexion d’hébergement.

      1. Ouvrez une fenêtre PowerShell.
      2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
      3. Exécutez la commande suivante pour obtenir les propriétés personnalisées existantes de la connexion d’hébergement.

        (Get-Item -LiteralPath XDHyp:\Connections${HostingConnectionName}).CustomProperties
        <!--NeedCopy-->
        
      4. Copiez les CustomProperties depuis la connexion vers un bloc-notes et ajoutez le paramètre de propriété <Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="true" />.
      5. Dans la fenêtre PowerShell, attribuez une variable aux propriétés personnalisées modifiées. Par exemple, $UpdatedCustomProperties=’<CustomProperties …</CustomProperties>’.
      6. Redéfinissez la propriété personnalisée sur la connexion d’hébergement :

        Set-Item -LiteralPath XDHyp:\Connections${HostingConnectionName} -CustomProperties ${UpdatedCustomProperties} -ZoneUid ${ZoneUid}
        <!--NeedCopy-->
        
      7. Exécutez la commande (Get-Item -LiteralPath XDHyp:\Connections\${HostingConnectionName}).CustomProperties pour vérifier les paramètres de propriétés personnalisées mis à jour.

Vous pouvez créer des catalogues joints à Azure AD à l’aide de l’interface Configuration complète ou de PowerShell.

Utiliser l’interface Configuration complète

Les informations suivantes étayent les instructions disponibles dans la section Créer des catalogues de machines. Pour créer des catalogues joints à Azure AD, suivez les instructions générales de cet article, en tenant compte des détails spécifiques aux catalogues joints à Azure AD.

Dans l’assistant de création de catalogues :

  1. Sur la page Image :
    • Sélectionnez 2106 (ou version ultérieure) comme niveau fonctionnel.
    • Sélectionnez Utiliser un profil de machine et sélectionnez la machine appropriée dans la liste.
  2. Sur la page Identités des machines, sélectionnez Joint à Azure Active Directory. Les machines créées appartiennent à une organisation et sont connectées avec un compte Azure AD qui appartient à cette organisation. Elles n’existent que dans le cloud.

    Remarque :

    • Le type d’identité Joint à Azure Active Directory nécessite la version 2106 ou ultérieure comme niveau fonctionnel minimum pour le catalogue.
    • Les machines sont jointes au domaine Azure AD associé au locataire auquel la connexion d’hébergement est liée.
  3. Les utilisateurs doivent disposer d’un accès explicite dans Azure pour se connecter aux machines à l’aide de leurs informations d’identification AAD. Consultez la section Joint à Azure Active Directory pour plus de détails.

Utiliser PowerShell

Les étapes PowerShell suivantes sont équivalentes aux opérations dans Configuration complète. 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/.

La différence entre les catalogues joints à AD sur site et ceux joints à Azure AD réside dans la création du pool d’identités et du schéma de provisioning.

Pour créer un pool d’identités pour les catalogues joints à Azure AD, procédez comme suit :

New-AcctIdentityPool -AllowUnicode -IdentityType="AzureAD" -WorkgroupMachine -IdentityPoolName "AzureADJoinedCatalog" -NamingScheme "AzureAD-VM-##" -NamingSchemeType "Numeric" -Scope @() -ZoneUid "81291221-d2f2-49d2-ab12-bae5bbd0df05"
<!--NeedCopy-->

Pour créer un schéma de provisioning pour les catalogues joints à Azure AD, le paramètre MachineProfile est requis dans New-ProvScheme :

New-ProvScheme -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"StandardSSD_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" /></CustomProperties>" -HostingUnitName "AzureResource" -IdentityPoolName "AzureADJoinedCatalog" -InitialBatchSizeHint 1 -MachineProfile "XDHyp:\HostingUnits\AzureResource\image.folder\azuread-rg.resourcegroup\MasterVDA.vm" -MasterImageVM "XDHyp:\HostingUnits\AzureResource\image.folder\azuread-rg.resourcegroup\azuread-small_OsDisk_1_5fb42fadf7ff460bb301ee0d56ea30da.manageddisk" -NetworkMapping @{"0"="XDHyp:\HostingUnits\AzureResource\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\azuread-rg.resourcegroup\azuread-vnet.virtualprivatecloud\Test_VNET.network"} -ProvisioningSchemeName "AzureADJoinedCatalog" -RunAsynchronously -Scope @() -SecurityGroup @() -ServiceOffering "XDHyp:\HostingUnits\AzureResource\serviceoffering.folder\Standard_DS1_v2.serviceoffering"
<!--NeedCopy-->

Toutes les autres commandes utilisées pour créer des catalogues joints à Azure AD sont les mêmes que pour les catalogues joints à AD sur site traditionnels.

Afficher l’état Azure AD

Dans l’interface Configuration complète, l’état Azure AD est visible lorsque les machines jointes à Azure AD dans un groupe de mise à disposition sont sous tension. Pour afficher l’état, utilisez la fonction Rechercher pour identifier ces machines, puis vérifiez Identité de la machine dans l’onglet Détails du volet inférieur. Les informations suivantes peuvent apparaître dans Identité de la machine :

  • Joint à Azure AD
  • Pas encore joint à Azure AD

Remarque :

Si les machines ne sont pas jointes à Azure AD, elles ne s’enregistrent pas auprès du Delivery Controller. L’état de leur enregistrement apparaît comme Initialisation.

En outre, à l’aide de l’interface Configuration complète, vous pouvez découvrir pourquoi les machines ne sont pas disponibles. Pour ce faire, cliquez sur une machine dans le nœud Rechercher, cochez Enregistrement dans l’onglet Détails dans le volet inférieur, puis lisez l’infobulle pour plus d’informations.

Groupe de mise à disposition

Consultez la section Créer des groupes de mise à disposition pour plus d’informations.

Activer Rendezvous

Une fois le groupe de mise à disposition créé, vous pouvez activer Rendezvous. Consultez Rendezvous V2 pour plus d’informations.

Dépannage

Si des machines ne peuvent pas être jointes à Azure AD, procédez comme suit :

  • Vérifiez si l’identité gérée attribuée par le système est activée pour les machines. Elle doit être activée automatiquement sur les machines provisionnées par MCS. Le processus d’association à Azure AD échoue sans identité gérée attribuée par le système. Si l’identité gérée attribuée par le système n’est pas activée pour les machines provisionnées par MCS, la raison peut être la suivante :

    • Le paramètre IdentityType du pool d’identités associé au schéma de provisioning n’est pas défini sur AzureAD. Vous pouvez le vérifier en exécutant Get-AcctIdentityPool.
  • Pour les catalogues qui utilisent des images principales avec VDA version 2206 ou antérieure, vérifiez l’état de provisionning de l’extension AADLoginForWindows pour les machines. Si l’extension AADLoginForWindows n’existe pas, les raisons possibles sont les suivantes :

    • Le paramètre IdentityType du pool d’identités associé au schéma de provisioning n’est pas défini sur AzureAD. Vous pouvez le vérifier en exécutant Get-AcctIdentityPool.

    • L’installation de l’extension AADLoginForWindows est bloquée par la stratégie Azure.

  • Pour résoudre les problèmes de provisioning de l’extension AADLoginForWindows, vous pouvez consulter les journaux sous C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.ActiveDirectory.AADLoginForWindows sur la machine provisionnée par MCS.

    Remarque :

    MCS ne base pas sur l’extension AADLoginForWindows pour joindre une machine virtuelle à Azure AD lorsqu’une image principale est utilisée avec VDA version 2209 ou ultérieure. Dans ce cas, l’extension AADLoginForWindows ne sera pas installée sur la machine provisionnée par MCS. Par conséquent, il n’est pas possible de collecter les journaux de provisionning de l’extension AADLoginForWindows.

  • Vérifiez l’état de l’association avec Azure AD et les journaux de débogage en exécutant la commande dsregcmd /status sur la machine provisionnée par MCS.

  • Consultez les journaux d’événements Windows sous Journaux des applications et des services > Microsoft > Windows > User Device Registration (Enregistrement de l’appareil utilisateur).
  • Vérifiez si la gestion des appareils Azure AD est correctement configurée en exécutant Get-Item -LiteralPath XDHyp:\Connections\${HostingConnectionName}.

    Assurez-vous que la valeur de :

    • la propriété AzureAdDeviceManagement dans CustomProperties est true
    • la propriété Citrix_MCS_AzureAdDeviceManagement_PermissionGranted dans les métadonnées est true

    Si Citrix_MCS_AzureAdDeviceManagement_PermissionGranted est défini sur false, cela indique que le ServicePrincipal de l’application utilisée par la connexion d’hébergement ne dispose pas des autorisations suffisantes pour effectuer la gestion des appareils Azure AD. Pour résoudre ce problème, attribuez à ServicePrincipal le rôle Administrateur de machine cloud.

Groupe de sécurité dynamique Azure Active Directory

Les règles de groupe dynamique placent les machines virtuelles du catalogue dans un groupe de sécurité dynamique en fonction du schéma de dénomination du catalogue de machines.

Si le schéma de dénomination du catalogue de machines est Test### (où # signifie numéro), Citrix crée la règle d’appartenance dynamique ^Test[0-9]{3}$ dans le groupe de sécurité dynamique. Désormais, si le nom de la machine virtuelle créée par Citrix est compris entre Test001 et Test999, la machine virtuelle est incluse dans le groupe de sécurité dynamique.

Remarque :

Si le nom de la machine virtuelle que vous avez créée manuellement est compris entre Test001 et Test999, la machine virtuelle est également incluse dans le groupe de sécurité dynamique. C’est l’une des limites du groupe de sécurité dynamique.

La fonctionnalité de groupe de sécurité dynamique est utile lorsque vous souhaitez gérer les machines virtuelles avec Azure Active Directory (Azure AD). Elle est également utile lorsque vous souhaitez appliquer des stratégies d’accès conditionnel ou distribuer des applications depuis Intune en filtrant les machines virtuelles avec le groupe de sécurité dynamique Azure AD.

Vous pouvez utiliser des commandes PowerShell pour :

  • Créer un catalogue de machines avec groupe de sécurité dynamique Azure AD
  • Activer la fonctionnalité de groupe de sécurité pour un catalogue Azure AD
  • Supprimer un catalogue de machines avec groupe de sécurité de machines jointes à Azure AD

Important :

Créer un catalogue de machines avec groupe de sécurité dynamique Azure AD

  1. Dans l’interface utilisateur de configuration de catalogue de machines de la console Web, sur la page Identités des machines, sélectionnez Joint à Azure Active Directory.
  2. Connectez-vous à Azure AD.
  3. Obtenez le jeton d’accès à l’API MS Graph. Utilisez ce jeton d’accès comme valeur de paramètre $AzureADAccessToken lorsque vous exécutez les commandes PowerShell.
  4. Exécutez la commande suivante pour vérifier si le nom du groupe de sécurité dynamique existe dans le locataire.

    Get-AcctAzureADSecurityGroup
    –AccessToken  $AzureADAccessToken
    –Name "SecurityGroupName"
    <!--NeedCopy-->
    
  5. Créez un catalogue de machines à l’aide de l’ID du locataire, du jeton d’accès et du groupe de sécurité dynamique. Exécutez la commande suivante pour créer un IdentityPool avec IdentityType=AzureAD et créer un groupe de sécurité dynamique dans Azure.

    New-AcctIdentityPool
    -AllowUnicode
    -IdentityPoolName "SecurityGroupCatalog"
    -NamingScheme "SG-VM-###"
    -NamingSchemeType "Numeric" -Scope @()
    -ZoneUid "81291221-d2f2-49d2-ab12-bae5bbd0df05"
    -WorkgroupMachine
    -IdentityType "AzureAD"
    -DeviceManagementType "None"
    -AzureADTenantId  620387bb-9167-4bdd-8435-e3dccc58369e
    -AzureADSecurityGroupName "SecurityGroupName"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Activer la fonctionnalité de groupe de sécurité pour un catalogue Azure AD

Vous pouvez activer la fonctionnalité de sécurité dynamique pour un catalogue Azure AD qui a été créé sans que la fonctionnalité de groupe de sécurité dynamique soit activée. Pour ce faire :

  1. Créez manuellement un nouveau groupe de sécurité dynamique. Vous pouvez également réutiliser un groupe de sécurité dynamique existant.
  2. Connectez-vous à Azure AD et obtenez le jeton d’accès à l’API MS Graph. Utilisez ce jeton d’accès comme valeur de paramètre $AzureADAccessToken lorsque vous exécutez les commandes PowerShell.

    Remarque :

    Pour plus d’informations sur les autorisations requises par l’utilisateur Azure AD, consultez https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent#prerequisites/.

  3. Exécutez la commande suivante pour connecter le pool d’identités au groupe de sécurité dynamique Azure AD créé.

    Set-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADTenantId 620387bb-9167-4bdd-8435-e3dccc58369e
    -AzureADSecurityGroupNam "ExistingSecurityGroupName"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Si vous mettez à jour le schéma de dénomination, Citrix le met à jour en tant que nouvelle règle d’appartenance. Si vous supprimez le catalogue, c’est la règle d’appartenance qui est supprimée, et non le groupe de sécurité.

Supprimer un catalogue de machines avec groupe de sécurité de machines jointes à Azure AD

Lorsque vous supprimez un catalogue de machines, le groupe de sécurité de machines jointes à Azure AD est également supprimé.

Pour supprimer le groupe de sécurité dynamique Azure AD, procédez comme suit :

  1. Connectez-vous à Azure AD.
  2. Obtenez le jeton d’accès à l’API MS Graph. Utilisez ce jeton d’accès comme valeur de paramètre $AzureADAccessToken lorsque vous exécutez les commandes PowerShell.
  3. Exécutez la commande suivante :

    Remove-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Créer un groupe de sécurité dynamique Azure AD sous un groupe de sécurité attribué à Azure AD existant

Vous pouvez créer un groupe de sécurité dynamique Azure AD dans un groupe de sécurité attribué à Azure AD existant. Vous pouvez effectuer les opérations suivantes :

  • Obtenir des informations sur les groupes de sécurité.
  • Obtenir tous les groupes de sécurité attribués à Azure AD qui sont synchronisés à partir du serveur AD local ou aux groupes de sécurité attribués auxquels des rôles Azure AD peuvent être attribués.
  • Obtenir tous les groupes de sécurité dynamiques Azure AD.
  • Ajouter un groupe de sécurité dynamique Azure AD en tant que membre de groupe attribué à Azure AD.
  • Supprimer l’appartenance entre le groupe de sécurité dynamique Azure AD et le groupe de sécurité attribué à Azure AD lorsque le groupe de sécurité dynamique Azure AD est supprimé en même temps que le catalogue de machines.

Vous pouvez également voir des messages d’erreur explicites lorsque l’une des opérations échoue.

Exigence :

Vous devez disposer du jeton d’accès à l’API MS Graph lorsque vous exécutez les commandes PowerShell.

Pour obtenir le jeton d’accès :

  1. Ouvrez l’afficheur Graph de Microsoft et connectez-vous à Azure AD.
  2. Assurez-vous de disposer des autorisations Group.ReadWrite.All et GroupMember.ReadWrite.All.
  3. Obtenez un jeton d’accès depuis l’afficheur Graph de Microsoft. Utilisez ce jeton d’accès lorsque vous exécutez les commandes PowerShell.

Pour obtenir des informations sur les groupes de sécurité par identifiant de groupe :

  1. Obtenez le jeton d’accès.
  2. Trouvez l’identifiant d’un objet de groupe sur le portail Azure.
  3. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token> -GroupId <GroupUid>
    <!--NeedCopy-->
    

Pour obtenir des groupes de sécurité par nom d’affichage :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Name <TargetGroupDisplayName>
    <!--NeedCopy-->
    

Pour obtenir des groupes de sécurité dont le nom d’affichage contient une sous-chaîne :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -SearchString <displayNameSubString>
    <!--NeedCopy-->
    

Pour obtenir tous les groupes de sécurité attribués à Azure AD qui sont synchronisés à partir du serveur AD local ou les groupes de sécurité attribués auxquels des rôles Azure AD peuvent être attribués :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Assigned true
    <!--NeedCopy-->
    

Pour obtenir tous les groupes de sécurité dynamiques Azure AD :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Dynamic true
    <!--NeedCopy-->
    

Pour obtenir des groupes de sécurité attribués à Azure AD avec un nombre maximal d’enregistrements :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Assigned true
    -MaxRecordCount 10
    <!--NeedCopy-->
    

Pour ajouter un groupe de sécurité dynamique Azure AD en tant que membre de groupe de sécurité attribué à Azure AD :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Add-AcctAzureADSecurityGroupMember
    -AccessToken <token>
    -GroupId <ASG-Id>
    -RefGroupId <DSG-Id>
    <!--NeedCopy-->
    

Pour obtenir les membres d’un groupe de sécurité attribué à Azure AD :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Get-AcctAzureADSecurityGroupMember
    -AccessToken <token>
    -GroupId <ASG-Id>
    <!--NeedCopy-->
    

    Remarque :

    Get-AcctAzureADSecurityGroupMember vous fournit uniquement les membres directs du type de groupe de sécurité dans le groupe de sécurité attribué à Azure AD.

Pour supprimer l’appartenance entre le groupe de sécurité dynamique Azure AD et le groupe de sécurité attribué à Azure AD lorsque le groupe de sécurité dynamique Azure AD est supprimé avec le catalogue de machines :

  1. Obtenez le jeton d’accès.
  2. Exécutez la commande PowerShell suivante dans la console PowerShell :

    Remove-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Modifier le nom du groupe de sécurité dynamique Azure AD

Vous pouvez modifier le nom du groupe de sécurité dynamique Azure AD associé à un catalogue de machines. Cette modification fait en sorte que les informations du groupe de sécurité stockées dans l’objet du pool d’identités Azure AD correspondent aux informations stockées dans le portail Azure.

Remarque :

Les groupes de sécurité dynamiques d’Azure AD n’incluent pas les groupes de sécurité synchronisés à partir d’une instance AD locale et d’autres types de groupes tels que le groupe Office 365.

Vous pouvez modifier le nom du groupe de sécurité dynamique Azure AD à l’aide de l’interface Configuration complète et de commandes PowerShell.

Pour modifier le nom du groupe de sécurité dynamique Azure AD à l’aide de PowerShell :

  1. Ouvrez la fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
  3. Exécutez la commande Set-AcctIdentityPool -AzureAdSeurityGroupName [DSG-Name].

Les messages d’erreur appropriés s’affichent si le nom du groupe de sécurité dynamique Azure AD ne peut pas être modifié.