Sécuriser une application avec le Framework Geneva et la plate-forme Azure
Jérôme DUCLOSArchitecte
Winwise
Rochdi CHAKROUNLead Technique
Winwise
Winwise
Société d’expertise spécialisée sur les nouvelles technologies Microsoft
90 consultants experts certifiés sur les dernières technologies Microsoft dont 7MVP et 1 RD
4 centres de compétences pour réaliser vos projets à forte valeur ajoutée :Travail collaboratif Business Intelligence & Data ManagementGénie logiciel et Cycle de vie des applications Interfaces Utilisateurs et « Smart Clients »
1er centre de formation en France sur les technologies .Net et la BI
Pour tout renseignement rendez-vous sur notre stand partenaire
e-mail : [email protected]
Site web : www.winwise.ch
Sécuriser une application avec le Framework Geneva et la plate-forme Azure
Sommaire
L’identité, nouveau modèleEtude de cas
Microsoft Services Connector« Geneva » Server« Geneva » Framework« Geneva » CardSpaceAccess Control Service
Feuille de route
Identité
Identité numérique : ensemble de revendications (claims) émis par un sujet, se rapportant soit à lui-même soit à un autre sujet.
1
IdentitéClaims
Claim (revendication)Etablit un fait se rapportant à une chose ou une personne.
Exemple :Majeur : OuiN° police d’assurance : 2571771
IdentitéJeton de sécurité
NomClaim1: Valeur1
NomClaimn: Valeurn
…
Signature de l’émetteur
matériel de clé [facultatif]
Collection de ClaimsChiffrement pour le
public concerné
E
S
Software + Service
Combiner applications existantes et services hébergés sur Internet
2
Software + Service
Vos applications
Software + Service
“Geneva” Framework
Live Framework
Windows CardSpace “Geneva”
Active Directory
“Geneva” Server
Microsoft Services
Connector
Log
icie
lsS
erv
ices
Mod
èle
d’a
ccès su
r les
claim
s
Basé sur les standardsAmélioration de la
productivitéLiberté de choix
Live Identity Services
Microsoft Federation Gateway
.NET Access Control Service
Le méta-système d’identités
Architecture ouverte et reposant sur des standards afin d’assurer l’échange des claims, sous contrôle de l’utilisateur.
3
Le méta-système d’identité
RelationLe médecin
fournit le certificat
2. Obtention de claims 3. Envoi
de claims
1. Demande de claims
Coureur
Le réglement exige un certificat médical
Le méta-système d’identité
STS
S
RP
WS-Trust
Le méta-système d’identité
Externalisation de l’authentification (ou pas)IP-STS associé à un magasin d’identitésR-STS transforme simplement les claims (indirection, format)
STSSecurity Token
Service
Fournit les claims
Le méta-système d’identité
Une application, un fournisseur de ressources, un STS
RPRelying Party
Consomme les claims
Le méta-système d’identités
« passif » = non SOAP
SSubject
Obtient contrôle et transmetles claims
Fédération
Pour une application b2b ou utilisant des services hébergés il est essentiel de ne pas multiplier les comptes et de pouvoir proposer le SSO aux utilisateurs.
4
Fédération
STS
S
RP
STS
Scénarios
Deux ministères fusionnent pour donner le ministère de la Santé et des Sports :
les agents des directions régionales doivent partager des ressources
une application qui recense les associations et équipements sportifs
Scénarios
1er défi : Partage de répertoires et de calendriers
2ème défi :Accéder à une application depuis l’extérieur, depuis un autre domaine
3ème défiPermettre aux clubs d’accéder à l’application
4ème défiIntégrer des partenaires et des services extérieurs
Scénarios
Microsoft Service
Connector
« Geneva »Server
« Geneva »Framework
Access Control Service
Microsoft Services Connector
Microsoft Service Connector
Nom de domaineCertificat SSLURL publique
Microsoft Service Connector
Ajout des utilisateurs3 claims
Microsoft Service Connector
Gestion automatique des mises à jour
Installation possibleen mode proxy ou fermesur une forêt ou plus
Protocoles WS-*, SAMLJetons SAML
Scénarios
Microsoft Service
Connector
« Geneva »Server
« Geneva »Framework
Access Control Service
« Geneva » Server
"Geneva" Server
Intégrer les claims
démo
Geneva ServerFedutil
Ce qui changeCréation et échange des méta-données pour établir la relationMode d’authentification (anonyme)Redirection de l’utilisateur qui s’authentifie ailleur et retourne des claims
Ce que l’on gagneSans modification du code : la sécurité par rôle fonctionneSouplesse : l’administrateur du définit le mode d’authentification et les rôles des utilisateurs
Geneva Server
"Geneva" Server
Extranet Web SSO
démo
Geneva server
STS sur l’ADFournisseur d’identité et de fédérationFournisseur de cartes gérées sur l’ADSélecteurs d’identité CardSpace et InfoCardGestionnaire de confiance pour fédérationAutomatisation de la maintenance par
échange de meta-données Standards et interoperabilitéProtocoles WS-* & SAML 2.0 “Web SSO
profile”Jetons SAML 1.1 & 2.0
Geneva Server
"Geneva" Server
Fédération
démo
Geneva ServerFederation
Ce qui changeEchange de métadonnées pour établir la relationTransformation des claims pour adapter ce qui arrive en entrée aux claims attendus par l’applicationL’utilisateur précise son domaine
Ce que l’on gagneInstallation facile, il suffit de connaître l’URL du STS du partenairePas de réécriture de l’application : impédance par la transformation des claimsSSO pour les utilisateurs (par choix)Fédération possible avec tout STS conforme aux standard WS-Federation et SAML 2.0
Geneva Server« Geneva» CardSpace
Sélecteur d’identité
Carte d’information ou i-card contient des
métadonnées : types de jeton émistypes de claim émisidentifiant de l’émetteurtype d’authentification exigépoints de terminaison du STS
« Geneva » ServerADFS 2
AD FS 1 “Geneva” (Server)
WS-Federation 1.0 1.0, 2.0
WS-Trust 1.3 n/a Oui
WS-SecurityPolicy 1.2 n/a Oui
Protocoles Web SSO SAML 1.0/1.1 Oui Oui
Protocoles Web SSO SAML 2.0 n/a Oui
Jetons SAML 1.1 Oui Oui
Jetons SAML 2.0 n/a Oui
Magasin de comptes AD Oui Oui
Magasin d’attributs AD Oui Oui
Magasin de policy Fichier plat SQL
Information Card Non Oui
Scénarios
Microsoft Service
Connector
« Geneva »Server
« Geneva »Framework
Access Control Service
« Geneva » FrameworkSTS sur mesure et génération de carte
Geneva Framework
STS sur mesure et génération de carte
démo
Geneva FrameworkModèle de claims
IClaimsPrincipal
IClaimsIdentity
IClaimsIdentity
Sample FillSample FillClaim
ClaimType = “Name”
Value = “Bob”Issuer = “WLID”
Subject
Geneva FrameworkHomeRealm
DiscoveryService
Client
CardSpace
MMC:Policy UX
Relying Party
Geneva Server Runtime
Policy Manageme
ntService
WMI Provider
Config File
Geneva FX API
Information Card IssuanceService
Protocol Hosting (WS-Trust, Metadata, WS-Federation)
Issuance Engine
MMC:Service UX
{FileIO}{SQL}{LDAP}
AD/ADAMUser AttributeAuthN Store
SQLPolicy Store
{WS-FedPassive }
{WS-TrustWS-MEX}
{InformationCard Issuance}
{WS-Fed Metadata}{PolicyManagement}
{WMI}
Identity Store Interface
Policy Store Interface
LDAP Store
Geneva FX API
{WS-FedPassive }
{WS-Fed Metadata}
Geneva FX API
SQL Store
Scénarios
Microsoft Service
Connector
« Geneva »Server
« Geneva »Framework
Access Control Service
Acces Control Service
Access Control Service
démo
Quatre services :STS délivrant les jetons, service de gestion des règles, moteur de règles, portailAPI publique pour le STS et le service de gestion des règles
Access Control Service Architecture
Stockage
Modèle Donnée
s
Moteur de règles
STSPortail
Gestion règles
Access Control ServiceSTS
Security Token Service
Custom Handlers, Authenticators, Policies …
IDFX
SOAP Client HTTP Client
Internet
WS-Trust WS-Federation(Passive)
Security Token Service
Custom Handlers, Authenticators, Policies …
IDFX
STSCustom Handlers, Authenticators,
Policies …
“Geneva” Framework
WCF Front-End
.Net Access Control Service
Microsoft Federation Gateway
Microsoft Service Connector
Feuille de routeSoftware
Services
“Geneva” Server
Live Identity Services
Aujourd’hui S1 2009 S2 2009
Beta 1 Beta 2 RTM
CTPBeta
RTM
OpenID Beta
In Production
Beta 1CTP
“Geneva” Fx, CardSpace Beta 1 Beta 2 RTM
Live Framework In Production
OpenID RTM
“Geneva” sur Microsoft Connecthttp://go.microsoft.com/fwlink/?LinkId=122266
Microsoft Services Connectorwww.microsoft.com/servicesconnector
Microsoft Federation GatewayWhitepaper
Access Control Service www.microsoft.com/azure/accesscontrol.mspx
Références
Save the date for tech·days next year!
14 – 15 avril 2010, CICG
Classic Sponsoring Partners
Premium Sponsoring Partners