Single Sign-On (Création Real-World Cloud Apps avec Azure)
par Rick Anderson, Tom Dykstra
Télécharger le projet de correction ou télécharger le livre électronique
Le livre électronique Building Real World Cloud Apps avec Azure est basé sur une présentation développée par Scott Guthrie. Il explique 13 modèles et pratiques qui peuvent vous aider à développer avec succès des applications web pour le cloud. Pour plus d’informations sur le livre électronique, consultez le premier chapitre.
Il existe de nombreux problèmes de sécurité à prendre en compte lorsque vous développez une application cloud, mais pour cette série, nous allons nous concentrer sur un seul problème : l’authentification unique. Une question que les gens se posent souvent est la suivante : « Je crée principalement des applications pour les employés de mon entreprise ; Comment héberger ces applications dans le cloud tout en leur permettant d’utiliser le même modèle de sécurité que mes employés connaissent et qu’ils utilisent dans l’environnement local lorsqu’ils exécutent des applications hébergées dans le pare-feu ? L’une des façons dont nous activez ce scénario est appelée Azure Active Directory (Azure AD). Azure AD vous permet de rendre les applications métier d’entreprise disponibles sur Internet, et il vous permet également de mettre ces applications à la disposition des partenaires commerciaux.
Présentation d’Azure AD
Azure AD fournit Active Directory dans le cloud. Les principales fonctionnalités sont les suivantes :
- Il s’intègre à Active Directory local.
- Il active l’authentification unique avec vos applications.
- Il prend en charge les normes ouvertes telles que SAML, WS-Fed et OAuth 2.0.
- Il prend en charge l’API REST Graph d’entreprise.
Supposons que vous disposez d’un environnement de Windows Server Active Directory local que vous utilisez pour permettre aux employés de se connecter à des applications intranet :
Azure AD vous permet de créer un répertoire dans le cloud. Il s’agit d’une fonctionnalité gratuite et facile à configurer.
Il peut être entièrement indépendant de votre Active Directory local ; vous pouvez y placer n’importe qui de votre choix et l’authentifier dans les applications Internet.
Vous pouvez également l’intégrer à votre ad local.
Désormais, tous les employés qui peuvent s’authentifier localement peuvent également s’authentifier sur Internet, sans que vous ayez à ouvrir un pare-feu ou à déployer de nouveaux serveurs dans votre centre de données. Vous pouvez continuer à tirer parti de tout l’environnement Active Directory existant que vous connaissez et utilisez aujourd’hui pour donner à vos applications internes la possibilité d’authentification unique.
Une fois que vous avez créé cette connexion entre AD et Azure AD, vous pouvez également activer vos applications web et vos appareils mobiles pour authentifier vos employés dans le cloud, et vous pouvez activer des applications tierces, telles que Office 365, SalesForce.com ou Google Apps, pour accepter les informations d’identification de vos employés. Si vous utilisez Office 365, vous êtes déjà configuré avec Azure AD, car Office 365 utilise Azure AD pour l’authentification et l’autorisation.
La beauté de cette approche est que chaque fois que votre organization ajoute ou supprime un utilisateur, ou qu’un utilisateur modifie un mot de passe, vous utilisez le même processus que celui que vous utilisez aujourd’hui dans votre environnement local. Toutes vos modifications AD locales sont automatiquement propagées à l’environnement cloud.
Si votre entreprise utilise ou passe à Office 365, la bonne nouvelle est qu’Azure AD sera configuré automatiquement, car Office 365 utilise Azure AD pour l’authentification. Ainsi, vous pouvez facilement utiliser dans vos propres applications la même authentification que Office 365 utilise.
Configurer un locataire Azure AD
Un annuaire Azure AD est appelé locataire Azure AD, et la configuration d’un locataire est assez facile. Nous allons vous montrer comment procéder dans le portail de gestion Azure afin d’illustrer les concepts, mais bien sûr, comme les autres fonctions du portail, vous pouvez également le faire à l’aide d’un script ou d’une API de gestion.
Dans le portail de gestion, cliquez sur l’onglet Active Directory.
Vous disposez automatiquement d’un locataire Azure AD pour votre compte Azure, et vous pouvez cliquer sur le bouton Ajouter en bas de la page pour créer des répertoires supplémentaires. Vous pouvez en souhaiter un pour un environnement de test et un autre pour la production, par exemple. Réfléchissez bien à ce que vous nommez un nouveau répertoire. Si vous utilisez votre nom pour l’annuaire, puis que vous utilisez à nouveau votre nom pour l’un des utilisateurs, cela peut être déroutant.
Le portail offre une prise en charge complète de la création, de la suppression et de la gestion des utilisateurs dans cet environnement. Par exemple, pour ajouter un utilisateur, accédez à l’onglet Utilisateurs et cliquez sur le bouton Ajouter un utilisateur .
Vous pouvez créer un utilisateur qui existe uniquement dans ce répertoire, ou vous pouvez inscrire un compte Microsoft en tant qu’utilisateur dans ce répertoire, ou inscrire ou un utilisateur d’un autre annuaire Azure AD en tant qu’utilisateur dans cet annuaire. (Dans un répertoire réel, le domaine par défaut est ContosoTest.onmicrosoft.com. Vous pouvez également utiliser un domaine de votre choix, comme contoso.com.)
Vous pouvez attribuer un rôle à l’utilisateur.
Et le compte est créé avec un mot de passe temporaire.
Les utilisateurs que vous créez de cette façon peuvent se connecter immédiatement à vos applications web à l’aide de ce répertoire cloud.
Cependant, l’onglet Intégration d’annuaires est l’onglet Intégration d’annuaires qui est idéal pour l’authentification unique d’entreprise :
Si vous activez l’intégration d’annuaires, vous pouvez synchroniser cet annuaire cloud avec votre Active Directory local existant que vous utilisez déjà dans votre organization. Ensuite, tous les utilisateurs stockés dans votre annuaire s’affichent dans ce répertoire cloud. Vos applications cloud peuvent désormais authentifier tous vos employés à l’aide de leurs informations d’identification Active Directory existantes. Et tout cela est gratuit : l’outil de synchronisation et Azure AD lui-même.
L’outil est un Assistant facile à utiliser, comme vous pouvez le voir dans ces captures d’écran. Il ne s’agit pas d’instructions complètes, juste d’un exemple montrant le processus de base. Pour plus d’informations détaillées sur la procédure à suivre, consultez les liens de la section Ressources à la fin du chapitre.
Cliquez sur Suivant, puis entrez vos informations d’identification Azure Active Directory.
Cliquez sur Suivant, puis entrez vos informations d’identification AD locales.
Cliquez sur Suivant, puis indiquez si vous souhaitez stocker un hachage de vos mots de passe AD dans le cloud.
Le hachage de mot de passe que vous pouvez stocker dans le cloud est un hachage unidirectionnel ; les mots de passe réels ne sont jamais stockés dans Azure AD. Si vous décidez de ne pas stocker des hachages dans le cloud, vous devez utiliser Services ADFS (ADFS). Il existe également d’autres facteurs à prendre en compte lors du choix d’utiliser ou non ADFS. L’option ADFS nécessite quelques étapes de configuration supplémentaires.
Si vous choisissez de stocker des hachages dans le cloud, vous avez terminé et l’outil commence à synchroniser les répertoires lorsque vous cliquez sur Suivant.
Et dans quelques minutes, vous avez terminé.
Vous ne devez l’exécuter que sur un seul contrôleur de domaine dans le organization, sur Windows 2003 ou version ultérieure. Et pas besoin de redémarrer. Lorsque vous avez terminé, tous vos utilisateurs sont dans le cloud et vous pouvez effectuer l’authentification unique à partir de n’importe quelle application web ou mobile, à l’aide de SAML, OAuth ou WS-Fed.
Parfois, on nous demande à quel point cela est sécurisé : Microsoft l’utilise-t-il pour ses propres données métier sensibles ? Et la réponse est oui, nous le faisons. Par exemple, si vous accédez au site microsoft SharePoint interne à l’adresse https://microsoft.sharepoint.com/, vous êtes invité à vous connecter.
Microsoft a activé ADFS. Par conséquent, lorsque vous entrez un ID Microsoft, vous êtes redirigé vers une page de connexion ADFS.
Une fois que vous avez entré les informations d’identification stockées dans un compte Microsoft AD interne, vous avez accès à cette application interne.
Nous utilisons un serveur de connexion AD principalement parce que nous avions déjà configuré ADFS avant qu’Azure AD ne devienne disponible, mais le processus de connexion passe par un annuaire Azure AD dans le cloud. Nous mettons nos documents importants, notre contrôle de code source, nos fichiers de gestion des performances, nos rapports de vente, etc., dans le cloud et utilisons exactement la même solution pour les sécuriser.
Créer une application ASP.NET qui utilise Azure AD pour l’authentification unique
Visual Studio facilite la création d’une application qui utilise Azure AD pour l’authentification unique, comme vous pouvez le voir dans quelques captures d’écran.
Lorsque vous créez une application ASP.NET, MVC ou Web Forms, la méthode d’authentification par défaut est ASP.NET Identity. Pour passer à Azure AD, cliquez sur un bouton Modifier l’authentification .
Sélectionnez Comptes d’organisation, entrez votre nom de domaine, puis sélectionnez Authentification unique.
Vous pouvez également accorder à l’application l’autorisation de lecture ou de lecture/écriture pour les données d’annuaire. Dans ce cas, il peut utiliser l’API REST Azure Graph pour rechercher le numéro de téléphone des utilisateurs, savoir s’ils se trouvent au bureau, quand ils se sont connectés pour la dernière fois, etc.
C’est tout ce que vous avez à faire : Visual Studio demande les informations d’identification d’un administrateur pour votre locataire Azure AD, puis configure votre projet et votre locataire Azure AD pour la nouvelle application.
Lorsque vous exécutez le projet, une page de connexion s’affiche et vous pouvez vous connecter avec les informations d’identification d’un utilisateur dans votre annuaire Azure AD.
Lorsque vous déployez l’application sur Azure, il vous suffit de sélectionner une zone Activer l’case activée d’authentification organisationnelle. Une fois de plus, Visual Studio s’occupe de toute la configuration pour vous.
Ces captures d’écran proviennent d’un tutoriel pas à pas complet qui montre comment créer une application qui utilise l’authentification Azure AD : Développement d’applications ASP.NET avec Azure Active Directory.
Résumé
Dans ce chapitre, vous avez vu qu’Azure Active Directory, Visual Studio et ASP.NET faciliter la configuration de l’authentification unique dans les applications Internet pour les utilisateurs de votre organization. Vos utilisateurs peuvent se connecter à des applications Internet à l’aide des mêmes informations d’identification que celles qu’ils utilisent pour se connecter à l’aide d’Active Directory dans votre réseau interne.
Le chapitre suivant examine les options de stockage de données disponibles pour une application cloud.
Ressources
Pour plus d’informations, consultez les ressources suivantes :
- Documentation Azure Active Directory. Page du portail pour la documentation Azure AD sur le site windowsazure.com. Pour obtenir des tutoriels pas à pas, consultez la section Développer .
- Azure Multi-Factor Authentication. Page du portail pour la documentation sur l’authentification multifacteur dans Azure.
- Options d’authentification de compte d’organisation. Explication des options d’authentification Azure AD dans la boîte de dialogue Visual Studio 2013 nouveau projet.
- Modèles et pratiques Microsoft - Modèle d’identité fédérée.
- Autorisation basée sur les rôles et ACL-Based dans une application Windows Azure AD. Exemple d’application.
- Blog azure Active Directory API Graph.
- Access Control dans BYOD et l’intégration d’annuaires dans une infrastructure d’identité hybride. Vidéo de session Tech Ed 2014 par Gayana Bagdasaryan.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour