29 Mars 2014, Paris, FranceLa Communauté Open Source Azure Française
GÉRER FACILEMENT LES IDENTITÉS DANS LE CLOUD
Jean-Luc Boucho, Infosys, Architecte, MVP Windows Azure
Agenda
Défis de la Gestion d’Identités sur le Web
Présentation de Windows Azure Active Directory
Windows Azure Active Directory et l’INFRA
Windows Azure Active Directory et le DEV
Question 1 : dans mon projet actuel, je gère les identités de mon application…1. Nulle part, c’est une application anonyme
2. Sans rien faire, les utilisateurs sont déjà authentifiés sur le domaine Windows
3. Dans la base de données de l’application et avec ma propre authentification (j’ai développé une
fonction révolutionnaire de hachage du mot de passe)
4. Avec la couche ASP.NET (MemberShip provider…) comme Microsoft le recommande
5. Par externalisation dans un service / annuaire séparé et compatible HTTP, SAML, OAuth…
6. Par fédération: l’utilisateur a le choix du fournisseur d’identités (social / entreprise), mon cousin s’appelle
Vittorio
Question 2 : Qui connait AAD ?
Question 3 : dans 40 minutes, j’espère…1. Boire un coup
2. Etre déjà parti !
3. Prendre mon PC et commencer à pratiquer AAD
Sondage !
Défis de la Gestion d’Identités sur le Web
// MODE ENTREPRISE
Je développe une nouvelle application métier dans le Cloud
1. Où mettre les identités ? Qui réalisera l’authentification ?
2. Comment connecter l’application Cloud à l’annuaire de l’entreprise ?
3. Comment supporter des utilisateurs externes à l’entreprise (partenaires, prestataires…) ?
L’IT prend en charge une application SaaS souscrite par une division métier
1. Comment gérer les identités ?
2. Quelle gouvernance possible (si un collaborateur quitte l’entreprise…) ?
// MODE STARTUP
Je développe une application Cloud grand public
1. Dois-je gérer moi-même les identités ?
2. Comment externaliser identités et authentification à des services tiers (Google, Facebook…) ?
3. Comment garantir la scalabilité de l’authentification en cas de succès ?
// MODE EDITEUR
Je développe une application SaaS multi-locataire
1. Comment gérer les identités par locataire ?
2. Comment connecter tel locataire à son annuaire déjà existant ?
3. Comment obtenir des informations détaillées sur l’utilisateur ?
+ SSO : Comment éviter à l’utilisateur de ressaisir login/mot de passe ?
Windows Azure Active Directory
De nombreuses applications, un
référentiel d'identité.
Gérer les identités et les
accès aux applications
Cloud.
Surveiller et protéger l'accès aux applications
d'entreprise.
Accès personnalisé et fonctionnalités libre-service.
Windows Azure Active Directory PREMIUM :
Gestion de groupes, Rapports de sécurité étendus, Personnalisation
de la page d’accès aux applications, Authentification Multi-Facteurs, Réinitialisation du mot de passe en self-service...
Windows Azure Active Directory
200 MilliardsD’authentifications
50 Millions
4,7 Milliards 420,000
2 minutes 1 seconde 0.7 seconde
Windows Azure Active Directory
AD
...
ADDS, ADFS, ADLS, ADCS, ADRMS
ACS
600+ Applications SaaS compatibles
...
Azure : Annuaire / Utilisateurs
Application SaaS : Office 365 / Twitter
AAD et l’INFRA
http://msdn.microsoft.com/en-us/library/windowsazure/dn518177.aspx
AAD et l’INFRA
Same Sign-On
SingleSign-On
• DirSync
AAD et le DEV
http://msdn.microsoft.com/en-us/library/windowsazure/dn518177.aspx
REST,
WS-Federation,
OAuth, SAML,
JWT…
Kerberos,
Windows Integrated
Auth,
DNS,
X500
AAD et le DEV
Protocole Fonctionnalités Détails
WS-Federation 1.3 • Authentification dans une application Web
• Format de token SAML 1.1• Utilisé par Office 365
SAML 2.0 • Authentification dans une application Web
• Format de token SAML 2.0• Utilisé par Office 365
OAuth 2.0 • Authentification de Service à Service
• Délégation d’accès
• Format de token JWT
REST/HTTPAccès à l’Annuaire (Graph API)
• Opérations CRUD (Create, Read, Update, Delete) sur les objets et relations dans l’annuaire
• Compatible avec OData V3• Authentification avec OAuth
2.0
Authentification et identités basées sur les « Claims »
"http://schemas.microsoft.com/ws/2008/06/identity/claims/role" = "Admin“, …
Authentification dans une Application Web (SAML)
WIF : Windows Identity
Framework
Inclus dans .NET 4.5
Modèles de projets Visual Studio
API
System.Security.Claims
» ClaimsIdentity, ClaimsPrincipal…
STS
AAD ou ACS
Web.config
<httpModules>
<add name="WSFederation
AuthenticationModule"
type="System.IdentityModel.
Services.WSFederation
AuthenticationModule… "/>
…http://msdn.microsoft.com/en-us/library/hh377151.aspx
Accès à l’Annuaire (OAuth + Graph API)
L’administrateur doit autoriser
l’application à accéder aux
données de l’annuaire
Rôles : SSO, RO, RW
Requêtes
CRUD, Différentielles
https://graphexplorer.cloudapp.
net/
Entités
Application, Contact, Device,
Group, Permission, Role, User, …
Authentification pour un Service (OAuth / JWT)
ADAL : Windows Azure AD
Authentication Library
Disponible pour: .NET,
Windows Store, Android…
Support OAuth pour Windows
Server 2012 R2 ADFS
Support du “Common
Endpoint”
http://msdn.microsoft.com/en-us/library/windowsazure/jj573266.aspx
• Authentification
• Graph API
VOUS AVEZ VU…
Windows Azure Active Directory : un service moderne pour les défis actuels
Un socle incontournable et ouvert : 600+ Application SaaS, fournisseurs d’identités tiers
Un service scalable et utilisé massivement : 1 million d’authentifications / 2 minutes
Deux options pour supporter le modèle hybride en entreprise : DirSync et ADFS
Le développement .NET pour exploiter les services AAD
POUR ALLER PLUS LOIN…
Authentification Multi-facteurs (MFA)
Fédération d’identité (ACS)
Droits d’accès à des documents (RMS)
QUESTIONS ?
MERCI !