Product Documentation

Intégration d’Azure AD au Service d'authentification fédérée

Jul 25, 2017

Introduction

Ce document décrit comment intégrer un environnement Citrix avec la fonctionnalité Azure AD de Windows 10. 

Windows 10 a introduit Azure AD, qui est un nouveau modèle de jonction de domaine dans lequel les ordinateurs portables itinérants peuvent être joints à un domaine d'entreprise via Internet à des fins de gestion et d'authentification unique. 

L'exemple de déploiement dans ce document décrit un système dans lequel l’informatique fournit aux nouveaux utilisateurs une adresse de messagerie d'entreprise et un code d'inscription pour leurs ordinateurs portables Windows 10 personnels.Les utilisateurs accèdent à ce code via Système > À propos de > Connecter à Azure AD dans le volet Paramètres.

localized image

Une fois que l'ordinateur portable est inscrit, le navigateur Web Microsoft Edge se connecte automatiquement aux sites Web de l'entreprise et aux applications publiées Citrix via la page Web d'applications Azure SAAS, avec d'autres applications Azure telles que Microsoft Office 365.

localized image

Architecture

Cette architecture réplique un réseau d'entreprise traditionnel dans Azure, tout en intégrant des technologies de cloud modernes telles que Azure AD et Office 365.Les utilisateurs sont considérés comme des travailleurs distants, et la notion d’intranet n’a pas lieu.

Le modèle peut être appliqué aux entreprises disposant déjà de systèmes locaux, car le service de synchronisation Azure AD Connect peut établir un lien à Azure via Internet.

localized image

Les connexions sécurisées et l'authentification unique, qui sont traditionnellement derrière un pare-feu sur le LAN et l'authentification NTLM/ Kerberos, sont remplacées dans cette architecture par des connexions TLS à Azure et SAML.Des nouveaux services sont créés à mesure que des applications Azure sont jointes à Azure AD. Les applications existantes qui nécessitent Active Directory (telles qu'une base de données SQL Server) peuvent être exécutées à l'aide d'une VM de serveur Active Directory standard dans la partie IAAS du Azure Cloud Service.

Lorsqu'un utilisateur lance une application traditionnelle, elle est accessible à l'aide des applications publiées XenApp et XenDesktop.Les différents types d'applications sont compilés via la page Applications Azure de l’utilisateur, à l'aide des fonctionnalités d’authentification unique de Microsoft Edge.Microsoft fournit également des applications Android et iOS qui peuvent énumérer et lancer des applications Azure.

Créer une zone DNS

Azure AD requiert que l'administrateur ait enregistré une adresse DNS publique et qu’il contrôle la zone de délégation pour le suffixe de nom de domaine.Pour ce faire, l'administrateur peut utiliser la fonctionnalité de zone DNS d’Azure.

Cet exemple utilise le nom de zone DNS « citrixsamldemo.net. »

localized image

La console affiche les noms des serveurs de noms DNS Azure.Ces derniers doivent être référencés dans les entrées NS du bureau d’enregistrement DNS pour la zone (par exemple, citrixsamldemo.net. NS n1-01.azure-dns.com)

Lors de l'ajout de références aux VM exécutées dans Azure, il est plus facile d’utiliser un pointeur CNAME vers l’enregistrement DNS géré par Azure pour la VM.Si l'adresse IP de la VM change, vous n'aurez pas besoin de mettre à jour manuellement le fichier de la zone DNS.

Les suffixes des adresses DNS internes et externes correspondront pour ce déploiement.Le domaine est citrixsamldemo.net, et utilise un split DNS (10.0.0.* en interne). 

Ajoutez une entrée « fs.citrixsamldemo.net » qui fait référence au serveur proxy d'application Web.Il s’agit du service de fédération pour cette zone.

Créer un service de cloud

Cet exemple configure un environnement Citrix comprenant un environnement Active Directory avec un serveur ADFS exécuté dans Azure.Un service de cloud appelé « citrixsamldemo » est créé.

localized image

Créer des machines virtuelles Windows

Créez cinq VM Windows exécutées dans le service de cloud :

  • Contrôleur de domaine (domaincontrol)
  • Serveur ADFS Azure Connect (adfs)
  • Proxy d’accès Web ADFS (proxy d’application Web, non joint à un domaine)
  • Citrix XenDesktop Delivery Controller (ddc)
  • les Agents Virtual Desktop Citrix (VDA) ;
localized image

Contrôleur de domaine

  • Ajoutez les rôles Serveur DNS et Services de domaine Active Directory pour créer un déploiement Active Directory standard (dans cet exemple, citrixsamldemo. net).Une fois la promotion de domaine terminée, ajoutez le rôle Services de certification Active Directory.
  • Créez un compte d'utilisateur normal pour le test (par exemple, George@citrixsamldemo.net).
  • Étant donné que ce serveur exécutera le DNS interne, tous les serveurs doivent faire référence à ce serveur pour la résolution DNS.Cette opération peut être effectuée au travers de la page des paramètres Azure DNS. (Pour de plus amples informations, consultez la section Annexe dans ce document).

Contrôleur ADFS et serveur proxy d’application Web

  • Joignez le serveur ADFS au domaine citrixsamldemo.Le serveur proxy d’application Web doit rester dans un groupe de travail isolé, vous devez donc enregistrer une adresse DNS manuellement avec le DNS AD. 
  • Exécutez l'applet de commande Enable-PSRemoting –Force sur ces serveurs afin d'autoriser l'accès à distance PowerShell via les pare-feu depuis l’outil Azure AD Connect.

XenDesktop Delivery Controller et VDA

  • Installez XenApp ou XenDesktop Delivery Controller et le VDA sur les deux autres serveurs Windows joints à citrixsamldemo.

Configurer un DNS interne

Une fois le contrôleur de domaine installé, configurez le serveur DNS afin de gérer l’affichage interne de citrixsamldemo.net, et d'agir en tant que redirecteur vers un serveur DNS externe (par exemple : 8.8.8.8).

localized image

Ajoutez un enregistrement statique pour :

  • wap.citrixsamldemo.net [la VM du proxy d’application Web ne sera pas jointe au domaine]
  • fs.citrixsamldemo.net [adresse du serveur de fédération interne]
  • enterpriseregistration.citrixsaml.net [identique à fs.citrixsamldemo.net]

Toutes les VM exécutées dans Azure doivent être configurées pour utiliser uniquement ce serveur DNS. Vous pouvez effectuer cette opération à l'aide de l'interface réseau. 

localized image

Par défaut, l'adresse IP interne (10.0.0.9) est attribuée de manière dynamique.Vous pouvez utiliser le paramètre d’adresses IP pour attribuer l'adresse IP de manière permanente. Ceci doit être effectué pour le serveur proxy d’application Web et le contrôleur de domaine.

Configurer une adresse DNS externe

Lorsqu'une VM est en cours d'exécution, Azure gère son propre serveur de zone DNS qui pointe vers l'adresse IP publique attribuée à la VM.Il est utile d’activer cette fonctionnalité car Azure attribue par défaut des adresses IP au démarrage de chaque VM.

localized image

Cet exemple attribue l’adresse DNS domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com au contrôleur de domaine.

Notez que lorsque la configuration distante est terminée, seuls le proxy d’application Web et les VM NetScaler doivent disposer d’adresses IP publiques. (Lors de la configuration, l'adresse IP publique est utilisée pour accéder à distance à l'environnement).

Configurer des groupes de sécurité

Le cloud Azure gère les règles de pare-feu pour l’accès TCP/UDP aux VM à partir d'Internet à l'aide de groupes de sécurité.Par défaut, toutes les VM autorisent l’accès RDP.Les serveurs NetScaler et proxy d’application Web doivent également autoriser TLS sur le port 443.

localized image

Créer un certificat d'ADFS

Activez le modèle de certificat Serveur Web sur l'autorité de certification Microsoft (CA).Ceci permet la création d'un certificat avec des adresses DNS personnalisées qui peuvent être exportées (y compris la clé privée) sur un fichier pfx.Vous devez installer ce certificat sur les serveurs ADFS et proxy d'applications Web, par conséquent le fichier pfx est l’option préférée.

Émettez un certificat de serveur Web avec les noms de sujets suivants :

  • Commonname:
    • adfs.citrixsamldemo.net [nom d'ordinateur]
  • SubjectAltname:
    • *.citrixsamldemo.net [nom de zone]
    • fs.citrixsamldemo. net [entrée dans le DNS]
    • enterpriseregistration.citrixsamldemo.net
localized image

Exportez le certificat sur un fichier pfx, y compris une clé privée protégée par mot de passe.

Configurer Azure AD

Cette section décrit en détail la création d'une nouvelle instance Azure AD et la création d'identités utilisateur qui peuvent être utilisées pour joindre Windows 10 à Azure AD.

Créer un nouveau répertoire

Ouvrez une session sur le portail Azure et créez un nouveau répertoire.

localized image

Une fois le répertoire créé, une page de résumé apparaît.

localized image

Créer un utilisateur administrateur global (AzureAdmin)

Créez un administrateur global dans Azure (dans cet exemple, AzureAdmin@citrixsamldemo.onmicrosoft.com) et ouvrez une session avec le nouveau compte pour définir un mot de passe.

localized image

Enregistrer votre domaine avec Azure AD

Par défaut, les utilisateurs sont identifiés avec une adresse e-mail au format : <nom.utilisateur>@<société>.onmicrosoft.com.

Bien que cela fonctionne sans configuration supplémentaire, une adresse e-mail au format standard est préférable, de préférence une qui correspond au compte de messagerie de l'utilisateur final : @.com

L’action Ajouter un domaine configure une redirection de votre domaine d’entreprise réel.Cet exemple utilise citrixsamldemo.net.

Si vous configurez ADFS pour l'authentification unique, activez la case à cocher.

localized image

Installer Azure AD Connect

L’étape 2 de l’interface de configuration d’Azure AD redirige l’utilisateur vers la page de téléchargement Microsoft d’Azure AD Connect.Installez ce composant sur la VM ADFS.Utilisez Installation personnalisée, plutôt que Configuration rapide afin que les options ADFS soient disponibles.

localized image

Sélectionnez l'option d’authentification unique Fédération avec AD FS.

localized image

Connectez-vous à Azure avec le compte administrateur que vous avez créé précédemment.

localized image

Sélectionnez la forêt AD interne.

localized image

Synchronisez tous les anciens objets Active Directory avec Azure AD.

localized image

Si la structure de répertoire est simple, les noms d'utilisateur sont suffisamment uniques pour identifier un utilisateur qui ouvre une session.

localized image

Acceptez les options de filtrage par défaut, ou limitez les utilisateurs et machines à un ensemble de groupes particulier.

localized image

Si vous le souhaitez, vous pouvez synchroniser les mots de passe Azure AD avec Active Directory. Ceci n’est généralement pas nécessaire pour l’authentification ADFS.

localized image

Sélectionnez le fichier .pfx de certificat à utiliser dans ADFS, en spécifiant fs.citrixsamldemo.net en tant que nom DNS.

localized image

Lorsque vous êtes invité à sélectionner un serveur proxy, entrez l'adresse du serveur wap.citrixsamldemo.net.Vous devrez peut-être exécuter l'applet de commande Enable-PSRemoting –Force en tant qu'administrateur sur le serveur proxy d'application Web, de façon à ce que Azure AD Connect puisse le configurer.

localized image

Remarque : si cette étape échoue en raison de problèmes de confiance avec PowerShell à distance, essayez de joindre le serveur proxy d’application Web au domaine.

Pour les étapes restantes de l'assistant, utilisez les mots de passe de l'administrateur et créez un compte de service pour ADFS. Azure AD Connect vous invitera alors à valider l’appartenance de la zone DNS.

localized image

Ajoutez les enregistrements TXT et MX aux enregistrements d’adresses DNS dans Azure.

localized image

Cliquez sur Vérifier dans la console de gestion Azure.

localized image

Remarque : si cette étape échoue, vous pouvez vérifier le domaine avant d'exécuter Azure AD Connect.

Lorsque l'installation est terminée, l'adresse externe fs.citrixsamldemo.net est contactée sur le port 443.

localized image

Activer Azure AD Join (Jonction à un domaine Azure AD)

Lorsqu'un utilisateur entre une adresse e-mail afin que Windows 10 puisse réaliser la jonction Azure AD, le suffixe DNS est utilisé pour construire un enregistrement DNS CNAME qui doit pointer vers ADFS : enterpriseregistration..

Dans cet exemple, il s’agit de fs.citrixsamldemo.net.

localized image

Si vous n'utilisez pas d’autorité de certification publique, assurez-vous que le certificat racine ADFS est installé sur l'ordinateur Windows 10 de façon à ce que Windows fasse confiance au serveur ADFS.Effectuez une jonction de domaine Azure AD à l'aide du compte utilisateur standard généré précédemment.

localized image

Veuillez noter que le nom UPN doit correspondre au nom UPN reconnu par le contrôleur de domaine ADFS.

localized image
localized image
localized image

Vérifiez que la jonction Azure AD a réussi en redémarrant la machine et en ouvrant une session à l'aide de l'adresse e-mail de l'utilisateur.Une fois connecté, lancez Microsoft Edge et connectez-vous à http://myapps.microsoft.com. Le site Web doit utiliser l’authentification unique automatiquement.

Installer XenApp ou XenDesktop

Vous pouvez installer le Delivery Controller et des machines virtuelles VDA dans Azure directement depuis l’ISO XenApp ou XenDesktop de la manière habituelle.

Dans cet exemple, StoreFront est installé sur le même serveur que le Delivery Controller.Le VDA est installé en tant que travailleur RDS Windows 2012 R2 autonome, sans intégration avec Machine Creation Services (mais cela peut être configuré).Vérifiez que l'utilisateur George@citrixsamldemo.net peut s'authentifier avec un mot de passe avant de continuer.

localized image

Exécutez l’applet de commande Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true sur le Controller pour permettre à StoreFront de s’authentifier sans les informations d'identification de l'utilisateur.

Installer le service d'authentification fédérée

Installez le composant Service d'authentification fédérée (FAS) sur le serveur ADFS et configurez une règle pour faire en sorte que le Controller agisse en tant que StoreFront approuvé.

localized image
localized image

Configurer StoreFront

Demandez un certificat d’ordinateur pour le Delivery Controller, et configurez IIS et StoreFront pour utiliser HTTPS en définissant une liaison IIS pour le port 443 et en modifiant l'adresse de base de StoreFront sur https:.

localized image

Configurez StoreFront pour utiliser le serveur (FAS) (utilisez le script PowerShell dans l'article Service d'authentification fédérée) et effectuez des tests en interne dans Azure, en vous assurant que l'ouverture de session utilise le FAS en vérifiant l'observateur d'événements sur le serveur FAS.

localized image

Configurer StoreFront pour utiliser NetScaler

À l'aide de l'interface Gérer les méthodes d'authentification de la console de gestion StoreFront, configurez StoreFront de manière à ce qu’il utilise NetScaler pour l'authentification.

localized image

Pour intégrer les options d'authentification NetScaler, configurez une STA (Secure Ticket Authority) et configurez l'adresse NetScaler Gateway.

localized image

Configurer une nouvelle application Azure AD pour le Single Sign-On sur StoreFront

Cette section utilise les fonctionnalités d’authentification unique d’Azure AD SAML 2.0, qui requièrent un abonnement Azure Active Directory Premium.Dans l’outil de gestion Azure AD, sélectionnez Nouvelle application et Ajouter une application à partir de la galerie.

localized image

Sélectionnez PERSONNALISER > Ajouter une application non répertoriée que mon organisation utilise pour créer une nouvelle application personnalisée pour vos utilisateurs. 

Configurer une icône

Créez une image de 215 x 215 pixels et chargez-la sur la page CONFIGURER pour l’utiliser comme icône pour l'application.

localized image

Configurer l'authentification SAML

Retournez sur la page de tableau de bord de l’application et sélectionnez Configurer l'authentification unique.

localized image

Ce déploiement utilise l'authentification SAML 2.0, qui correspond à Authentification unique avec Microsoft Azure AD.

localized image

L'identificateur peut être une chaîne arbitraire (doit correspondre à la configuration fournie à NetScaler) ; dans cet exemple, l'URL de réponse est /cgi/samlauth sur le serveur NetScaler.

localized image

La page suivante contient des informations qui sont utilisées pour configurer NetScaler en tant que partie de confiance pour Azure AD.

localized image

Téléchargez le certificat de signature approuvé base 64 et copiez les URL de connexion et de déconnexion.Collez ces dernières dans les écrans de configuration de NetScaler qui suivent.

Attribuer l'application aux utilisateurs

La dernière étape consiste à activer l'application afin qu'elle apparaisse sur la page de contrôle “myapps.microsoft.com” des utilisateurs.Cette opération est réalisée sur la page UTILISATEURS ET GROUPES.Attribuez l'accès aux comptes d’utilisateurs de domaine synchronisés par Azure AD Connect.D'autres comptes peuvent également être utilisés, mais ils doivent être explicitement mappés car ils ne sont pas conformes au format @.

localized image

Page MyApps

Lorsque l'application a été configurée, elle s'affiche dans les listes d’applications Azure des utilisateurs lorsqu'ils visitent https://myapps.microsoft.com.

localized image

Lorsqu'il est joint à Azure AD, Windows Azure 10 prend en charge l'authentification unique aux applications Azure pour l'utilisateur qui ouvre une session.Le fait de cliquer sur l'icône dirige le navigateur vers la page Web SAML cgi/samlauth qui a été configurée précédemment.

URL d’authentification unique

Retournez à l'application dans le tableau de bord Azure AD.Une adresse URL d’authentification unique est maintenant disponible pour l'application. Cette adresse URL est utilisée pour fournir des liens de navigateur Web ou pour créer des raccourcis du menu Démarrer qui dirigent les utilisateurs directement dans StoreFront.

localized image

Collez cette adresse URL dans un navigateur Web pour vous assurer que vous êtes redirigé par Azure AD sur la page Web NetScaler cgi/samlauth configurée précédemment.Ceci fonctionne uniquement pour les utilisateurs qui ont été attribués, et fournira l’authentification unique uniquement aux sessions Windows 10 jointes à Azure AD. (Les autres utilisateurs seront invités à entrer des informations d'identification Azure AD).

Installer et configurer NetScaler Gateway

Pour accéder à distance au déploiement, cet exemple utilise une VM distincte exécutant NetScaler.Cela peut être acheté sur le Azure Store. Cet exemple utilise la version « BYOL » (avec apport de sa propre licence) de NetScaler 11.0.

localized image

Ouvrez une session sur la VM NetScaler en pointant un navigateur Web sur l'adresse IP interne et en entrant les informations d'identification spécifiées lorsque l'utilisateur s’est authentifié.Notez que vous devez modifier le mot de passe de l'utilisateur nsroot dans la VM Azure AD.

Ajoutez des licences en sélectionnant redémarrer après l’ajout de chaque fichier de licences, puis pointez la résolution DNS vers le contrôleur de domaine Microsoft.

Exécuter l'assistant d'installation de XenApp et XenDesktop

Cet exemple démarre en configurant une intégration StoreFront simple sans SAML. Une fois que le déploiement est opérationnel, il ajoute une stratégie d'ouverture de session SAML.

localized image

Sélectionnez les paramètres NetScaler StoreFront standard. À des fins d’utilisation dans Microsoft Azure, cet exemple configure le port 4433, plutôt que le port 443. Vous pouvez également transférer le port ou remapper le site Web d'administration de NetScaler.

localized image

À des fins de simplicité, l'exemple charge un certificat de serveur existant et la clé privée stockée dans un fichier.

localized image

Configurer le contrôleur de domaine pour la gestion de comptes AD

Le contrôleur de domaine sera utilisé pour la résolution de compte, il convient donc d’ajouter son adresse IP dans la méthode d'authentification principale.Notez les formats attendus dans chaque champ de la boîte de dialogue.

localized image

Configurer l'adresse de StoreFront

Dans cet exemple, StoreFront a été configuré avec HTTPS, vous devez donc sélectionner les options du protocole SSL.

localized image

Vérifier le déploiement NetScaler

Connectez-vous à NetScaler et vérifiez le succès de l'authentification et du lancement avec le nom d'utilisateur et mot de passe.

localized image

Activer la prise en charge de l'authentification SAML NetScaler

L’utilisation de SAML avec StoreFront est similaire à l'utilisation de SAML avec d'autres sites Web.Ajoutez une nouvelle stratégie SAML avec une expression NS_TRUE.

localized image

Configurez le nouveau serveur IdP SAML à l'aide des informations obtenues précédemment depuis Azure AD.

localized image

Vérifier le système de bout en bout

Ouvrez une session sur un bureau Windows 10 joint à Azure AD à l'aide d'un compte enregistré dans Azure AD.Lancez Microsoft Edge et connectez-vous à : https://myapps.microsoft.com.

Le navigateur Web devrait afficher les applications Azure AD de l'utilisateur.

localized image

Vérifiez qu’un clic sur l'icône vous redirige vers un serveur StoreFront authentifié.

De même, vérifiez que les connexions directes utilisant l’URL d’authentification unique et qu’une connexion directe au site NetScaler vous redirigent vers Microsoft Azure et vice versa.

Enfin, vérifiez que les machines non jointes à Azure AD fonctionnent également avec les mêmes URL (bien qu’une authentification unique explicite à Azure AD sera utilisée pour la première connexion).

Annexe

Plusieurs options standard doivent être configurées lors de la création d'une VM dans Azure.

Fournir une adresse IP publique et une adresse DNS

Azure attribue à toutes les VM une adresse IP sur le sous-réseau interne (10.*.*.* dans cet exemple).Par défaut, une adresse IP publique est également fournie et cette dernière peut être référencée par un nom DNS mis à jour de manière dynamique.

localized image

Dans Configuration, sélectionnez Public IP address/DNS name label.Choisissez une adresse DNS publique pour la VM.Elle peut être utilisée pour les références CNAME dans d'autres fichiers de zone DNS, pour s’assurer que tous les enregistrements DNS pointent toujours vers la VM, même si l'adresse IP est réallouée.  

localized image

Configurer des règles de pare-feu (groupe de sécurité)

Chaque VM dans un cloud contient un ensemble de règles de pare-feu appliquées automatiquement, connues sous le nom de groupe de sécurité.Le groupe de sécurité contrôle le trafic transféré depuis l’adresse publique vers l'adresse IP privée.Par défaut, Azure permet à RDP d’être transféré à toutes les VM.Les serveurs NetScaler et ADFS doivent également transférer le trafic TLS (443).

Ouvrez Network Interfaces pour une VM et cliquez sur Network Security Group.Configurez l'option Inbound security rules pour autoriser le trafic réseau approprié.

localized image

Informations connexes