TechDays 2010 (CLO305) : Windows Azure App Fabric
-
Upload
geoffrey-daniel -
Category
Technology
-
view
1.292 -
download
1
description
Transcript of TechDays 2010 (CLO305) : Windows Azure App Fabric
22
Windows Azure AppFabric
Rochdi ChakrounGeoffrey DanielThomas Conté
33
Présentation des intervenants
Rochdi Chakroun, [email protected]://www.dotnetguru2.org/rochdichakroun
Geoffrey Daniel, [email protected]://blogs.developpeur.org/neurocypher
Thomas Conté, [email protected]/tomconteblogs.msdn.com/tconte
44
Agenda
Présentation & IntroductionRappel: la plateforme Windows AzurePrésentation de la brique Azure AppFabricPrésentation du projet de démoService Bus
PrésentationDémo & code
Access Control ServicePrésentationDémo & code
Conclusion
55
Windows AzurePetits rappels:
Windows AzureSQL AzureAzure AppFabric
66
Plateforme Azure: vue d’ensemble
77
Azure AppFabricService BusAccess Control Service
88
Le problème
Comment utiliser les services « dans les nuages » pour connecter applications et services, où qu’elle soient?
Établir une passerelle entre nuage, à demeure, hébergéFaciliter et sécuriser la connexion réseau / sécuritéGérer identité et contrôle d’accèsInteropérer avec différents langages, plateformes
La solution:
Service BusService Bus Access ControlAccess Control
99
Connecter les services entre eux,dans le nuage, à demeure, hébergés
ConnecterConnecter
firewall NATfirewall
Votre application Application “partenaire”
Service Bus
1010
Gérer l’identité etles contrôles d’accès
Contrôler & sécuriser Contrôler & sécuriser
Token
TokenAssertions
Assertions
Transformation desassertions
Message + TokenMessage + Token
Écha
nge
de ce
rtific
ats
Écha
nge
de ce
rtific
ats
Règles de contrôled’accès
Vérification desassertions
Votre application Application “partenaire”
Access Control Service
1111
Service Bus
1212
Le principe du relais
Service BusService Bus
SenderSender ReceiverReceiver
http://myapp.servicebus.windows.net/a/b/BackendNamingRoutingFabric
Frontend Nodes
CtrlCtrl
33
Forwarder11outbound
socket
connect
44
outbound socket
rendezvous
22CtrlCtrl
NLB
1313
Traversée NAT & Firewall
Service BusService Bus
ReceiverReceiver
1414
Service Registryhttp://project.servicebus.windows.net/
1515
Extension du modèle WCF
Offre des bindings correspondant aux principaux bindings WCFSecurité, Binaire, Streaming, Reliable SessionsPas besoin de NAT ou d’ouvrir des ports sur l’extérieur
1616
Application pratique!
Un site de vente de ticket de concerts, hébergé dans AzureCe qui lui permet de faire face aux pics de trafic
La base de données client (CRM) ainsi que la base des commandes (ERP) sont critiques et restent hébergées « à demeure »
Comment exposer ces bases à l’application Web, de façon simple, compte tenu des problématique de sécurité réseau?
Mes commandes doivent être auditées par une société tierceComment peut-elle les recevoir facilement?
J’ai des partenaires externes qui gèrent la logistique (impression et expédition des billets)
Comment peuvent-ils interagir avec mon système, de façon sécurisée, et sans leur imposer une technologie particulière?
1717
DémoUtilisation du NetTCPRelayBinding:Identification de l’utilisateur
1818
Schéma fonctionnel
Site Web: E-CommerceCatalogue
CRM
Membership Services
Réseau entreprise
SQL A
zure
Web
Rol
e
Login / Mot de passe
Profile de l’utilisateur
1919
Liste (non exhaustive) des bindings
2020
WebHttpRelayBinding
2121
DémoUtilisation du WebHttpRelayBinding:Streaming vidéo
2222
Schéma fonctionnel
Site Web: E-CommerceCatalogue
CRM
Membership Services
StreamingServices
Réseau entreprise
0101010010101010101111
Regarder Extrait
2323
NetEventRelayBinding
Service BusService Bus
SenderSender ReceiverReceiver
sb://project.windows.net/a/b/
outbound connect bidi socketoutb
ound
conn
ect o
ne-w
ay n
et.tc
p
BackendNamingRoutingFabric
Frontal
MsgMsg
SubscribeSubscribeRouteRoute
ReceiverReceiver
outbound connect bidi socket
Msg
2424
DémoUtilisation du NetEventRelayBinding:Passage de commande
2525
Schéma fonctionnel
Site Web: E-CommerceCatalogue
Membership Services
Réseau entreprisePartenaires
Order Services
Order Services
Audit des commandes
Application d’audit
CRM
Nouvelle commande
2626
Message Buffers
Service BusService Bus
SenderSender ReceiverReceiver
sb://solution.servicebus.windows.net/a/b/
HTTP
(S) P
OST/
PUT
BackendNamingRoutingFabric
Frontend Nodes
HTTP(S) GET/DELETEMsgMsg MsgMsg
ManagerManager
MessageMessageBufferBufferPolicyPolicy
MessageMessageBufferBufferPolicyPolicy
ExpiresAfterMaxMessageCoun
t…
ExpiresAfterMaxMessageCoun
t…
2727
DémoUtilisation des Message Buffers:Récupération de commande par partenaire
2828
Schéma fonctionnel
Site Web: E-CommerceCatalogue
Membership Services
Réseau entreprise Partenaires
Order Services
Order Services
Application d’audit
CRM
Nouvelle commande
MessageBuffer
Commande
Audit des commandes
Logistique
Traitement des commandes
HTTP
2929
Access Control Service
3030
ACS: vue d’ensemble
Contrôle d’accès fondé sur les assertions (ou revendications)== Claims-Based Access Control
Protocole complètement RESTfulUtilisable sur n’importe quelle plateforme (SDK PHP, Java)Implémente OAuth WRAP & SWT
WRAP = Web Resource Authorization ProtocolSWT = Simple Web Tokenshttp://groups.google.com/group/oauth-wrap-wg
Intégration avec ADFS v2Permet la délégation simple
3131
ACS: les grands principes
ACSACS
ServiceService(Relying Party)(Relying Party)
2. Envoyer token
(revendications;
e.g. identité)
4. Retourne token
(résultat de l’étape 3)
5. Envoyer le tokenavec la requête
0. confiance établie:secrets +certs
UtilisateurUtilisateurou Applicationou Application
1. Définir les règles de
contrôle d’accès
6. Vérifier lesRevendication
s (token)
3. Transformer revendicationssur la base des règles de contrôle d’accès
3232
ACS: en termes WRAP…Chapitre 1.1, v0.9.7.2
Authorizaton Authorizaton ServerServer
Protected Protected ResourceResource
2. Envoyer token
(revendications;
e.g. identité)
4. Retourne token
(résultat de l’étape 3)
5. Envoyer le tokenavec la requête
0. confiance établie:secrets +certs
ClientClient
1. Définir les règles de
contrôle d’accès
6. Vérifier lesRevendication
s (token)
3. Transformer revendicationssur la base des règles de contrôle d’accès
3333
Requêtes de Tokens ACS
Trois méthodes possibles pour demander un TokenSimple text (Plaintext)
Le plus simple à implémenter, pas de cryptoToken signé (Signed Token)
Permet la délégation simple, HMAC SHA 256 nécessaireToken SAML émis par un AD FS v2 (SAML bearer token)
Permet l’intégration avec le SI entrepriseACS renvoie toujours le même type de token: SWT
3434
C’est quoi un SWT?
role=Admin%2cUser&customerName=Contoso%20Corporation&Issuer=https%3a%2f%2fadatum.accesscontrol.windows.net%2f&Audience=http%3a%2f%2fadatum%2fbillprint&ExpiresOn=1255912922&HMACSHA256=yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d
3535
Comment demander un SWT?(version Plaintext, section 5.1 de la spec)
POST /WRAPv0.9/ HTTP/1.1 Host:adatum.accesscontrol.windows.net
wrap_scope=http%3A%2F%2Fadatum.com%2Fservices%2F&wrap_name=adatumcustomer1&wrap_password=5znwNTZDYC39dqhFOTDtnaikd1hiuRa4XaAj3Y9kJhQ%3D
3636
Comment demander un SWT?(version Signed Token, section 5.2 de la spec)
POST /WRAPv0.9/ HTTP/1.1 Host:adatum.accesscontrol.windows.net
wrap_scope=http%3A%2F%2Fadatum.com%2Fservices%2F&wrap_assertion_format=SWTwrap_assertion=role%3DAdmin%252cUser%26Issuer%3Dadatumcustomer1%26ExpiresOn%3D1255912922%26HMACSHA256%3DyuVO%252fwc58%252ftYP36%252fDM1mS%252fHr0hswpsGTWwgfvAbpL64%253d
3737
Comment demander un SWT?(version SAML Token, section 5.2 de la spec)
POST /WRAPv0.9/ HTTP/1.1 Host:adatum.accesscontrol.windows.net
wrap_scope=http%3A%2F%2Fadatum.com%2Fservices%2F&wrap_assertion_format=SAMLwrap_assertion=<…SAML Bearer Token…>
3838
Windows AzureWindows Azure
Les différentes briques d’ACS
3939
DémoPortail de gestionacm.exe et AcmBrowserProtection d’un service par ACS:Mise à jour de la commande
4040
Schéma fonctionnel
Site Web: E-CommerceCatalogue
Membership Services
Réseau entreprise Partenaires
Order Services
Order Services
Application d’audit
CRM
MessageBufferAudit des commandes
Logistique
Traitement des commandes
HTTP
Order Processing
Commande
Nouvelle commande
Mise à jour du statut
4141
ACS & intégration entreprise
ACS accepte des tokens SAML signés pour les requêtes de tokens SWT
AD FS v2 peut générer ces tokens SAMLWIF est la façon la plus simple de requêter un token
SAML de la part de AD FS v2Windows Identity Framework
ACS doit connaître la clé de signature pour valider le token SAMLACS publie et comprend les métadonnées WS-Fed
Cela permet d’automatiser l’établissement de la relation de confiance
4242
Intégration AD FS v2
ACSService Namespace
ACSService Namespace
REST Web Service
REST Web Service ClientClient
4343
DémoIntégration AD FS v2:Mise à jour de la commande, authentifiée
4444
Conclusion
4545
Tout Azure aux TechDays
Titre Heure Session
Introduction à Windows Azure Lundi 8, 16h à 17h CLO202
Azure: comment migrer une application Lundi 8, 17h30 à 18h30 CLO301
Gestion et stratégie storage sous Azure Mardi 9, 13h à 14h PAR105
Windows Azure AppFabric Mardi 9, 13h à 14h CLO305
Azure et les technologies non Microsoft Mercredi 10, 11h à 12h INT301
SQL Azure & Azure Storage Mercredi 10, 16h à 17h CLO304
Ateliers encadrés Heure Heure
Lundi 8 14h30 – 15h30 17h30 – 18h30
Mardi 9 14h30 – 15h30 17h30 – 18h30
Mercredi 10 14h30 – 15h30
Ateliers assurés par Wygwam