code session : arc203
DESCRIPTION
Architecture des applications et des services fondés sur la fédération d'identité et les revendications : une introduction. Code Session : ARC203. Philippe Beraud Architecte Direction Technique Microsoft France [email protected]. Benjamin Guinebertière Architecte DPE - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/1.jpg)
![Page 2: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/2.jpg)
2
Architecture des applications et des services fondés sur la fédération d'identité et les revendications : une introduction
Code Session : ARC203
Philippe BeraudArchitecteDirection TechniqueMicrosoft [email protected]
Benjamin GuinebertièreArchitecteDPEMicrosoft [email protected]
Stéphane GoudeauArchitecteDPEMicrosoft [email protected]
![Page 3: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/3.jpg)
4
La fédération d’identité dans le cadre des Microsoft TechDays 2011
• 2 sessions pour faire un point ensemble• Session ARC203 "Architecture des applications et des
services fondés sur la fédération d'identité et les revendications : une introduction"• Cette session !!
• Session SEC2306 "Utiliser Active Directory Federation Services 2.0 pour une authentification unique interopérable entre organisations et dans le Cloud"• Demain de 16h00 à 17h00
![Page 4: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/4.jpg)
5
Les technologies Microsoft qui rendent possible l’identité fédérée
• Active Directory Federation Services 2.0 (AD FS 2.0)
• Windows Identity Foundation (WIF) 1.0• Azure AppFabric Access Control Services (ACS) V2
![Page 5: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/5.jpg)
6
Une lecture recommandée à titre de complément
• http://tinyurl.com/claimsguide
![Page 6: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/6.jpg)
7
L’authentification fédérée
• L’exemple d’école
http://docs.oasis-open.org/wsfed/federation/v1.2/ws-federation.pdf (page 17)
![Page 7: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/7.jpg)
8
De nombreuses alternatives en termes d’architecture (à partir de la page 17)
![Page 8: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/8.jpg)
9
Active Directory
Client Partie de confiance
Contrôleur de
domaine
1
2
KerberosServiceTicket
preuve
revendications nom : philber, groupes: …
Cadre de confiance
![Page 9: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/9.jpg)
10
Les limites d’Active Directory dans le contexte
Représentation limitée de l‘identité
Appels au service d'annuaire entreprise
Application non membre du domaine(DMZ, Cloud, externe)
Application qui ne prend pas en charge l’authentification intégrée Windows
Les clients doivent être sur l’intranet (et ont besoin d'un compte AD)
![Page 10: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/10.jpg)
11
L’authentification fédérée
Client Partie de confiance
Service de jetons de sécurité
(STS)
1
2
Jeton
signature
revendications nom: philber, rôles: … …
Cadre de confiance
![Page 11: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/11.jpg)
12
Scénarios
1. Fournisseur d’identité interne2. Fournisseur d’identité et STS-Ressource3. Fédération avec des partenaires4. Logiciel en tant que service (Software as a
Service)5. Solutions pour le Cloud
![Page 12: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/12.jpg)
13
Scénario 1 : Fournisseur d’identité interne
• Service de jeton de sécurité (STS) qui émet des jetons contenant des informations d'identité• Connecté avec le service d‘annuaire• Réduit la quantité de "code de sécurité" dans les
applications• Prérequis pour l’ensemble des autres scénarios (de
fédération)
![Page 13: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/13.jpg)
14
Scénario 1 (illustré)
Client Partie de confiance
Service de jetons de sécurité
(STS)
1
2
Jeton
signature
revendications nom : philber, rôles : … …
Cadre de confiance
![Page 14: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/14.jpg)
15
Démo 1Délégation de l’authentification pour une application• Fournisseur d’identité : STS WIF 1.0 avec authentification
par formulaire (FBA)• Partie de confiance : ASP.NET/WIF 1.0
![Page 15: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/15.jpg)
16
Scénario 1.1 : Revendications d’identité
• Quelles sont les bonnes revendications d’identité ?• Information pour identifier de façon unique le client• Information "difficile" à acquérir pour les applications• NE PAS mélanger les informations d’identité et
applicatives
W I F 1.0
Identité
Données d’entreprise Données applicatives
![Page 16: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/16.jpg)
17
Scénario 1.2 : Bénéfices additionnels
(AD FS 2.0)• Passerelle entre les protocoles de fédération pour les applications
• Accès aux ressources externes pour unifier les informations d'identité
• Contrôle d’accès centralisé• Intégration avec les systèmes de gestion d’identité
tiers
![Page 17: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/17.jpg)
18
Démo 2Délégation de l’authentification pour une application• Fournisseur d’identité : STS AD FS 2.0 avec authentification
par formulaire (FBA)• Partie de confiance : ASP.NET/WIF 1.0
![Page 18: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/18.jpg)
19
Scénario 1.3: Mobilité
• Et si l’utilisateur avec un compte AD se trouve à l’extérieur de l’entreprise?
• Et si le service exposé est à l’extérieur de l’entreprise ?
DMZ Interne
Cadre deconfiance
Proxy AD FS 2.0 AD FS 2.0
Internet
1
2
Client
Partie de confiance
![Page 19: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/19.jpg)
20
Scénario 1.4 : Problèmes
• Le fournisseur d’identité est une composante logique d‘Active Directory• Administré par les "Administrateurs d‘entreprise"
• Les services de jetons (STS) peuvent fournir des services applicatifs utiles• Revendications à destination des applications• Autorisation centralisée• Conflit historique entre les administrateurs et les
développeurs• Tout comme dans Active Directory aujourd’hui
![Page 20: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/20.jpg)
21
Scénario 2 : Fournisseur d’identité et STS-Ressource
• Séparation des préoccupations• Revendications centrées sur l’identité vs. Revendications
centrées sur l’application• Différents "domaines" d’administration• Réduction du jeu de revendications aux seules
revendications pertinentes pour l'application
Fournisseur d’identité STS-Ressource
Cadre de confiance
Revendications Identité Revendications Application
Administrateurs de domaine Administrateurs de l‘application
![Page 21: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/21.jpg)
22
Scénario 2 (illustré)
Fournisseur d‘identité STS-Ressource
12
3
4
Cadre de confiance
Cadre de confiance
![Page 22: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/22.jpg)
23
Scénario 2.1 : Revendications Ressource
• Quelles sont les bonnes revendications Ressource ?• Informations de personnalisation/d’autorisation• Information (stockée de façon centralisée) qui est
pertinente pour de multiple applications
Information Identité Information centrale Application
Information locale Application
![Page 23: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/23.jpg)
24
Scénario 2.2 : Chaîner les services de jetons (STS)
• Le chaînage des services de jetons (STS) permet des scénarios plus complexes
Identité Enterprise Autorisation Site Données App Département
Cadre de confiance
Cadre de confiance
Application
Cadre de confiance
![Page 24: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/24.jpg)
25
Scénario 2.3 : Consommer des services externes
• Les partenaires externes ont simplement besoin de faire confiance au fournisseur d‘identité de l’entreprise• Projection de l’identité d’entreprise vers les partenaires
externes
Cadre de confiance
Cadre de confiance
Partenaires externes
Services Cloud
![Page 25: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/25.jpg)
26
Démo 3Délégation de l’authentification par SharePoint 2010• Fournisseur d’identité : STS AD FS 2.0 + AD DS• Partie de confiance : SharePoint 2010 (via STS interne
SharePoint (= STS de ressources))
Cf. Session SEC2306 aujourd’hui de 16h00 à 17h00
![Page 26: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/26.jpg)
27
Scénario 3 : Consommer des identités externes
• Fournir des services aux partenaires fédérés requiert une analyse• Quel protocole utiliser ? Avec quel type de jeton ?• Quelles revendications sont nécessaires ?• Comment gérer la confiance ? Et la maintenir dans le
temps
Partenaire 1 : nom, département
Revendications requises :nom, département
Partenaire 2 : id, centre de coût
Partenaire n : x, y
![Page 27: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/27.jpg)
28
Scénario 3.1 : Passerelle de fédération• Passerelle pour traduire les protocoles, les types de
jeton et de revendication• AD FS 2.0 comporte un langage de
transformation/génération de revendications• Habituellement derrière un proxy
Partenaire 1
Partenaire 2
Partenaire n Revendications transformées
DMZ Interne
Cadre de confiance
Proxy AD FS 2.0/ UAG 2010 SP1 AD FS 2.0
![Page 28: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/28.jpg)
29
Scénario 3.2 : Découverte du domaine d’origine
• Une problématique pour les applications Web fédérées• Comme l’application connait/détermine d’où vient
l’utilisateur ?
• Les pages d’authentification AD FS 2.0 peuvent être personnalisées
![Page 29: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/29.jpg)
30
Démo 4Collaboration fédérée dans l’entreprise étendue• Fournisseur d’identité : Partenaire (Shibboleth 2, fédération
Renater) • Partie de confiance : SharePoint 2010 (via STS interne
SharePoint, puis STS AD FS 2.0 (= passerelle de fédération))
![Page 30: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/30.jpg)
31
Scénario 4 : Logiciel en tant que service (SaaS)
• "Vendre du logiciel (dans un Cloud) à des organisations" comme modèle• La meilleure intégration possible au niveau du client est
cruciale pour le succès
• Conceptuellement similaire au scénario précédent, mais avec défis propres et additionnels• Typiquement des systèmes multi-locataires (multi-
tenancy)• Intégration au sein de la gestion utilisateur et du système
de sécurité client• Certains clients peuvent ne pas disposer de services de
jetons de sécurité (STS)• Protection de la vie privée des clients
![Page 31: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/31.jpg)
32
Scénario 4 (illustré)
Cadre de
confiance
App/Services Web
Clients Entreprise
AD FS 2.0
Fournisseur d’identité"Petits structures"
Client "Petits structures"
1
2
3
1
2
Yahoo!GoogleLive IDFacebook …
![Page 32: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/32.jpg)
34
Une illustration : FabrikamShipping SaaS
• http://www.fabrikamshipping.com/
![Page 33: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/33.jpg)
35
Démo 5Mise en place d’une souscription avec Fabrikam Shipping SaaS• Authentification via Google Account pour la souscription• 2 Souscriptions : Entreprise vs. Small and Business
![Page 34: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/34.jpg)
36
Scénario 5 : Aller vers le Cloud
• Le Cloud est une option de plus en plus populaire pour l’hébergement d'applications/services Web• La fédération en tant que telle n’est pas un problème• La même approche/technique que pour les applications
en entreprise (on-premise) s‘applique
• Les passerelle/STS-Ressource ont également besoin d’être "Cloud-ifié"• Pas d’AD FS pour le Cloud• Azure AppFabric Access Control Service (ACS) v2
![Page 35: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/35.jpg)
37
Démo 6Accès à une application de l’entreprise dans Windows Azure• Fournisseur d’identité : STS AD FS 2.0 + AD DS
(authentification intégrée WIA)• Partie de confiance : ASP.NET/WIF 1.0 dans Windows
Azure
![Page 36: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/36.jpg)
38
Scénario 5.1 : Infrastructure fondée sur le Cloud
• Fournisseur d’identité au niveau du site client• Passerelle de fédération et applications dans le
Cloud
Cadre de confiance
Passerelle de fédération nuage
ApplicationCloud
Cadre de confiance
![Page 37: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/37.jpg)
39
Scénario 5.2 : Fédération avec le service de contrôle d’accès (ACS v2)
* Points de terminaison multiples pour les divers protocoles (c.à.d. WS-Trust, WS-Federation, WRAP, OpenId)
https://[servicenamespace].accesscontrol.windows.net/*
Multiples protocoles et types de jetons
Type de jeton sélectionné
API REST,outils de gestion
Moteur de
règles
![Page 38: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/38.jpg)
40
Démo 7Accès à une application dans Windows Azure avec une identité sociale contrôlée par l’entreprise• Fournisseur d’identité : myopenid (OpenID)• Partie de confiance : ASP.NET/WIF 1.0 dans Windows
Azure (via STS ACS 2.0 puis STS AD FS 2.0)
![Page 39: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/39.jpg)
41
Démo 8Accès à une application dans Windows Azure avec une identité sociale• Fournisseur d’identité : Facebook• Partie de confiance : ASP.NET/WIF 1.0 dans Windows
Azure (via STS ACS 2.0)
![Page 40: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/40.jpg)
42
Internet
Plateforme
@ MTC Paris
IDMGT.DEMO
IDMGT-DC
IDMGT-OWA IDMGT-SPS
IDMGT-WIN7
IDMGTEXT.DEMO
IDMGT-IP0 IDMGT-IP1
renater.fr
Azure AppFabric ACS
Yahoo!
Windows Live
Exchange Server 2010
Active Directory- AD DS- AD CS- AD FS
SharePoint Server 2010, StarterSTS, SampleCustomerService
Tomcat 6ShibbolethAD LDS
Windows Server 2008 R2
Linux Debian
Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2
Windows 7
Tomcat 6ShibbolethInternet
ExplorerOffice 2010Visual Studio 2010
Internet
Application
Azure
![Page 41: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/41.jpg)
43
En guise de conclusion
• Passer à un état d’esprit axé sur les revendications est crucial• Mais la migration en douceur est possible dans la
plupart des situations
• La fédération d’identité devient une nécessité et accompagne le passage au cloud
• Sa mise en œuvre est simple à réaliser et à maintenir
• Une phase de conception (topologie, revendications, protocoles, découvertes de domaines d’origine, etc.) s’impose
![Page 42: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/42.jpg)
44
Plus d’informations
• Groupe "Forum des architectures applicatives Microsoft"• http://bit.ly/archiappms
Ce forum regroupe des architectes en informatique qui ont des choix de technologies à faire dans les projets pour lesquels ils travaillent. L’architecte applicatif, en situation de projet, travaille typiquement aux côtés de la direction de projet pour choisir et assumer des choix techniques en fonction des contraintes du projet (fonctionnalités, délais, ressources). Pour effectuer ces choix à bon escient, il doit connaître ce que le marché offre en termes de technologies. Cela peut prend typiquement deux formes : veille technologique continue, recherches dans le cadre du projet.L’architecte applicatif a aussi pour rôle de faire le lien entre les équipes de développement et les équipes d’infrastructure et d’exploitation de la future application. Il doit également veiller à ce que ses choix soient bien mis en œuvre pendant le développement. Ce forum, à l’initiative de Microsoft France, a pour but d’aider les architectes applicatifs • A faciliter la connaissance de l’offre de Microsoft pour les projets en entreprise (envoi de
liens vers des présentations, documents, webcasts, conférences, …), mais également • A échanger sur des problématique d’architecture ayant un rapport, même partiel, avec la
plateforme Microsoft (est-ce que AD FS 2.0 fonctionne dans un environnement SAMLP 2, comment se passe la réversibilité d’une application développée pour l’informatique en nuage, quelles sont les implications d’un déploiement sur une ferme Web, …).
Cet espace est le vôtre, faites le vivre, nous sommes aussi et surtout là pour vous lire.
![Page 43: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/43.jpg)
45
Plus d’informations• Guide "A Guide to Claims–based Identity and Access Control"
• http://tinyurl.com/claimsguide
• Livres blancs "AD FS 2.0 Step-by-Step and How To Guides"• http://technet.microsoft.com/en-us/library/adfs2-step-by-step-
guides(WS.10).aspx • Federated Collaboration with Shibboleth 2.0 and SharePoint 2010
Technologies • Using AD FS 2.0 for Interoperable SAML 2.0-based Federated Web
SSO• AD FS 2.0 Federation with Microsoft Office 365 Beta
• Livres blancs Site Microsoft France Interopérabilité • http://www.microsoft.com/france/interop/ressources/
documents.aspx• Méta-système et mash-up des identités avec les produits et
technologies Microsoft• Exposing OWA 2010 with AD FS 2.0 to other organizations
![Page 44: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/44.jpg)
46
Plus d’informations• Identity Developer Training Kit
• http://bit.ly/cWyWZ2• Cours MSDN associé : http://bit.ly/hz3ERI
• Windows Azure Platform Training Kit• http://bit.ly/dj1VZu • Cours MSDN associé : http://go.microsoft.com/fwlink/?
LinkID=207018
![Page 45: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/45.jpg)
47
Plus d’informations
• Portail Microsoft France Interopérabilité• http://www.microsoft.com/france/interop/
• Portail Microsoft Interopérabilité• http://www.microsoft.com/interop/
• Portail Port 25 • http://port25.technet.com/
• Portail "Interop Vendor Alliance"• http://interopvendoralliance.com/
• Portail "Interoperability Bridges and Labs Center"• http://www.interoperabilitybridges.com/
• Weblog Interopérabilité@Microsoft• http://blogs.msdn.com/b/interoperability/
![Page 46: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/46.jpg)
48
Questions / Réponses
![Page 47: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/47.jpg)
49
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic
http://technet.com http://msdn.com
Portail administration et infrastructure pour informaticiens
Portail de ressources technique pour développeurs
![Page 48: Code Session : ARC203](https://reader035.vdocuments.mx/reader035/viewer/2022062321/568132e3550346895d999e3e/html5/thumbnails/48.jpg)