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 :

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 :

Cette illustration montre une structure de forme ovale avec plusieurs dispositifs et deux tours de triangle, franchissant une ligne et des flèches entre chaque appareil et sa source, pour montrer comment chacun se connecte.

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.

Microsoft Azure Active Directory

Vous pouvez également l’intégrer à votre ad local.

Intégration d’AD et WAAD

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.

Applications tierces

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.

WAAD dans le portail

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.

Ajouter un répertoire

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 .

Bouton Ajouter un utilisateur

Boîte de dialogue 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.)

Types d’utilisateurs

Boîte de dialogue Ajouter un utilisateur

Vous pouvez attribuer un rôle à l’utilisateur.

Profil utilisateur

Et le compte est créé avec un mot de passe temporaire.

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 :

Onglet Intégration d’annuaire

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.

Assistant Configuration de l’outil de synchronisation WAAD -Image 1

Cliquez sur Suivant, puis entrez vos informations d’identification Azure Active Directory.

Assistant Configuration de l’outil de synchronisation WAAD - Image 2

Cliquez sur Suivant, puis entrez vos informations d’identification AD locales.

Assistant Configuration de l’outil de synchronisation WAAD - Image 3

Cliquez sur Suivant, puis indiquez si vous souhaitez stocker un hachage de vos mots de passe AD dans le cloud.

Assistant Configuration de l’outil de synchronisation WAAD - Image 4

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.

Assistant Configuration de l’outil de synchronisation WAAD - Image 5

Et dans quelques minutes, vous avez terminé.

Assistant Configuration de l’outil de synchronisation WAAD - Image 6

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.

Connexion à Office 365

Microsoft a activé ADFS. Par conséquent, lorsque vous entrez un ID Microsoft, vous êtes redirigé vers une page de connexion ADFS.

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.

Site MS SharePoint

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 .

Modifier l’authentification

Sélectionnez Comptes d’organisation, entrez votre nom de domaine, puis sélectionnez Authentification unique.

Boîte de dialogue Configurer l’authentification

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.

Connexion au compte d’organisation

Connexion

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.

Publier le site web

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 :