Authentification unique Entra ID aux VDA (aperçu)
Vous pouvez activer l’authentification unique aux VDA joints à Entra, de sorte qu’après que les utilisateurs se sont authentifiés auprès du magasin à l’aide d’Entra ID, ils n’ont pas besoin de ressaisir leurs informations d’identification lorsqu’ils lancent une application ou un bureau virtuel.
IMPORTANT :
L’authentification Entra ID via OIDC est actuellement en préversion. Cette fonctionnalité est fournie sans support et n’est pas encore recommandée pour une utilisation dans des environnements de production.
Prérequis
- Vous disposez de ressources jointes à Entra ID hébergées par Citrix DaaS™ ou Citrix Virtual Apps and Desktops™ 2603 ou version ultérieure.
- Les utilisateurs s’authentifient auprès de leur magasin à l’aide d’Entra ID. Cela peut se faire en utilisant Citrix Gateway avec OIDC, Citrix Gateway avec SAML, ou SAML directement vers StoreFront.
- L’expérience utilisateur est définie sur Moderne.
- Vous avez terminé toutes les configurations décrites dans Authentification unique Microsoft Entra - DaaS ou Authentification unique Microsoft Entra - Citrix Virtual Apps and Desktops. Dans le cas contraire, l’authentification unique échouera et les utilisateurs pourraient subir des retards de lancement ou des erreurs.
- Si le magasin utilise Citrix Gateway pour l’authentification et publie des ressources à partir de sites Citrix DaaS, alors configurez votre NetScaler ADC pour autoriser les appels non authentifiés au point de terminaison de rachat de tickets. Ceci n’est pas nécessaire si tous les sites sont Citrix Virtual Apps and Desktops, ou si l’authentification se fait directement vers StoreFront sans passerelle.
Problèmes connus
Si l’utilisateur s’authentifie à l’aide de SAML et est connecté à plusieurs comptes Entra ID, lorsque l’utilisateur lance un VDA, le navigateur web ou l’application Citrix Workspace peut lui demander de sélectionner le compte à utiliser, ou l’authentification unique peut échouer. Ce problème ne se produit pas si l’utilisateur s’authentifie à l’aide d’une authentification basée sur OIDC.
Configurer à l’aide de la console de gestion
Pour configurer l’authentification unique Entra ID :
-
Ouvrez la fenêtre Paramètres du magasin pour le magasin que vous souhaitez configurer.
-
Dans le volet Actions, sélectionnez Configurer les paramètres du magasin.
-
Sur la page Configurer les paramètres du magasin, sélectionnez l’onglet SSO Entra.
-
Activez ou désactivez le SSO Entra.

-
Sélectionnez OK pour enregistrer vos modifications.
Ce paramètre n’affecte que les machines des groupes de mise à disposition configurés pour utiliser le type de connexion Entra ou hybride. Pour les groupes de mise à disposition avec le type de connexion Active Directory, vous pouvez également activer le service d’authentification fédérée.
Configuration à l’aide de PowerShell
Pour configurer l’authentification unique à l’aide de PowerShell, appelez la cmdlet Set-STFStoreLaunchOptions avec le paramètre -EntraIdSsoEnabled.
Configurer NetScaler ADC pour autoriser l’accès non authentifié au point de terminaison de validation des tickets
Citrix DaaS utilise un client Azure géré par Citrix pour gérer le SSO via une page web Citrix Entra ID. Pour améliorer la sécurité, StoreFront crée un ticket lié au client. La page web Citrix Entra ID rappelle StoreFront pour valider ce ticket. Comme la page web Citrix Entra ID est hébergée sous un domaine différent de StoreFront, elle n’a pas accès au contexte d’authentification. Par conséquent, si les utilisateurs s’authentifient auprès de leur magasin via une passerelle Citrix, vous devez configurer votre NetScaler ADC pour contourner la passerelle Citrix pour les appels vers /Citrix/<StoreWeb>/Tickets/RedeemStoreTicket.
Remarque :
Citrix Virtual Apps and Desktops exige que vous créiez votre propre client dans Azure plutôt que d’utiliser le client géré par Citrix. Par conséquent, le ticket n’est pas requis et la configuration suivante n’est pas nécessaire.
Le diagramme suivant montre comment vous pouvez utiliser un commutateur de contenu pour contourner l’authentification pour l’URL de validation des tickets.

Les appels vers /Citrix/<StoreWeb>/Tickets/RedeemStoreTicket sont dirigés vers un équilibreur de charge qui transmet les requêtes à StoreFront, en contournant la passerelle. Notez que l’équilibreur de charge est requis car le commutateur de contenu ne peut pas être configuré pour diriger le trafic directement vers une URL et nécessite un serveur virtuel comme cible. L’équilibreur de charge n’effectue aucune répartition de charge et transmet simplement le trafic à StoreFront. Si vous disposez déjà d’un équilibreur de charge StoreFront approprié sur la même machine, vous pouvez l’utiliser à la place.
Tous les autres appels sont dirigés vers le serveur virtuel VPN de la passerelle.
Créer un équilibreur de charge pour le transfert du commutateur de contenu vers StoreFront
Si vous disposez déjà d’un serveur virtuel d’équilibrage de charge devant votre groupe de serveurs StoreFront et exécuté sur la même machine que la passerelle, vous pouvez ignorer cette étape et configurer le commutateur de contenu pour envoyer le trafic directement à ce serveur virtuel. Sinon, vous devez créer un équilibreur de charge pour transférer le trafic vers le ou les serveurs StoreFront. En effet, les actions du commutateur de contenu doivent faire référence à un serveur virtuel.
Les étapes sont légèrement différentes selon que StoreFront est configuré pour HTTPS (recommandé) ou HTTP.
StoreFront est configuré pour HTTPS
Créez un service stf_srv représentant StoreFront à l’aide de son adresse IP et liez-le à un équilibreur de charge SSL sans persistance.
add service stf_srv <StoreFront Ip Address> SSL 443
add lb vserver lb_vs SSL <lb_vs Ip Address> 443 -persistenceType NONE -cltTimeout 180
bind lb vserver lb_vs stf_srv
<!--NeedCopy-->
StoreFront est configuré pour HTTP
Créez un service stf_srv représentant StoreFront à l’aide de son nom de domaine complet (FQDN) et liez-le à un équilibreur de charge HTTP sans persistance.
add server storefront1 <storefront fqdn>
add service stf_srv storefront1 HTTP 80
add lb vserver lb_vs HTTP 0.0.0.0 0 -persistenceType NONE -cltTimeout 180
bind lb vserver lb_vs stf_srv
<!--NeedCopy-->
Créer un serveur virtuel de commutation de contenu SSL
Créez un serveur virtuel de commutation de contenu SSL pour gérer les requêtes client. Ce serveur virtuel de commutation de contenu écoute le trafic HTTPS sur le port 443 et achemine les requêtes vers le serveur virtuel VPN de la passerelle ou les transfère vers StoreFront via l’équilibreur de charge.
Par défaut, la commutation de contenu est désactivée, vous devez donc l’activer si vous ne l’avez pas déjà fait.
enable feature CS
add cs vserver cs_vs SSL <cs_vs Ip Address> 443 -cltTimeout 180 -persistenceType NONE
bind ssl vserver cs_vs -certkeyName <Certificate Name>
<!--NeedCopy-->
Créer une stratégie de commutation de contenu pour l’échange de tickets
Créez une stratégie de commutation de contenu pour l’équilibrage de charge basée sur une URL contenant un chemin d’échange de tickets StoreFront.
Cette stratégie correspond aux requêtes lorsque l’URL contient /Citrix/<StoreWeb>/Tickets/RedeemStoreTicket et les achemine vers l’équilibreur de charge sans passer par le serveur virtuel VPN.
Remplacez <StoreWeb> par le nom du site Web StoreFront de la stratégie Web du serveur virtuel StoreFront. Vous pouvez utiliser l’équilibreur de charge lb_vs créé à l’étape précédente, ou un serveur virtuel d’équilibrage de charge existant devant vos serveurs StoreFront.
add cs action cs_lb_vs -targetLBVserver lb_vs
add cs policy cs_lb_vs_pol -rule "HTTP.REQ.URL.CONTAINS(\"/Citrix/<StoreWeb>/Tickets/RedeemStoreTicket\")" -action cs_lb_vs
bind cs vserver cs_vs -policyName cs_lb_vs_pol -priority 100
<!--NeedCopy-->
Créer une stratégie de commutation de contenu pour tout autre trafic
Créez une stratégie de commutation de contenu générique pour envoyer tout autre trafic StoreFront via le serveur virtuel VPN pour l’authentification.
add cs action cs_vpn_vs -targetVserver <VPN vServer>
add cs policy cs_vpn_pol -rule TRUE -action cs_vpn_vs
bind cs vserver cs_vs -policyName cs_vpn_pol -priority 110
<!--NeedCopy-->