techdays 2010 (clo305) : windows azure app fabric
DESCRIPTION
TRANSCRIPT
![Page 1: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/1.jpg)
![Page 2: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/2.jpg)
22
Windows Azure AppFabric
Rochdi ChakrounGeoffrey DanielThomas Conté
![Page 3: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/3.jpg)
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
![Page 4: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/4.jpg)
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
![Page 5: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/5.jpg)
55
Windows AzurePetits rappels:
Windows AzureSQL AzureAzure AppFabric
![Page 6: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/6.jpg)
66
Plateforme Azure: vue d’ensemble
![Page 7: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/7.jpg)
77
Azure AppFabricService BusAccess Control Service
![Page 8: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/8.jpg)
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
![Page 9: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/9.jpg)
99
Connecter les services entre eux,dans le nuage, à demeure, hébergés
ConnecterConnecter
firewall NATfirewall
Votre application Application “partenaire”
Service Bus
![Page 10: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/10.jpg)
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
![Page 11: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/11.jpg)
1111
Service Bus
![Page 12: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/12.jpg)
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
![Page 13: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/13.jpg)
1313
Traversée NAT & Firewall
Service BusService Bus
ReceiverReceiver
![Page 14: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/14.jpg)
1414
Service Registryhttp://project.servicebus.windows.net/
![Page 15: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/15.jpg)
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
![Page 16: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/16.jpg)
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?
![Page 17: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/17.jpg)
1717
DémoUtilisation du NetTCPRelayBinding:Identification de l’utilisateur
![Page 18: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/18.jpg)
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
![Page 19: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/19.jpg)
1919
Liste (non exhaustive) des bindings
![Page 20: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/20.jpg)
2020
WebHttpRelayBinding
![Page 21: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/21.jpg)
2121
DémoUtilisation du WebHttpRelayBinding:Streaming vidéo
![Page 22: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/22.jpg)
2222
Schéma fonctionnel
Site Web: E-CommerceCatalogue
CRM
Membership Services
StreamingServices
Réseau entreprise
0101010010101010101111
Regarder Extrait
![Page 23: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/23.jpg)
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
![Page 24: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/24.jpg)
2424
DémoUtilisation du NetEventRelayBinding:Passage de commande
![Page 25: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/25.jpg)
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
![Page 26: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/26.jpg)
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…
![Page 27: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/27.jpg)
2727
DémoUtilisation des Message Buffers:Récupération de commande par partenaire
![Page 28: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/28.jpg)
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
![Page 29: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/29.jpg)
2929
Access Control Service
![Page 30: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/30.jpg)
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
![Page 31: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/31.jpg)
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
![Page 32: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/32.jpg)
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
![Page 33: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/33.jpg)
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
![Page 34: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/34.jpg)
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
![Page 35: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/35.jpg)
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
![Page 36: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/36.jpg)
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
![Page 37: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/37.jpg)
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…>
![Page 38: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/38.jpg)
3838
Windows AzureWindows Azure
Les différentes briques d’ACS
![Page 39: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/39.jpg)
3939
DémoPortail de gestionacm.exe et AcmBrowserProtection d’un service par ACS:Mise à jour de la commande
![Page 40: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/40.jpg)
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
![Page 41: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/41.jpg)
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
![Page 42: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/42.jpg)
4242
Intégration AD FS v2
ACSService Namespace
ACSService Namespace
REST Web Service
REST Web Service ClientClient
![Page 43: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/43.jpg)
4343
DémoIntégration AD FS v2:Mise à jour de la commande, authentifiée
![Page 44: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/44.jpg)
4444
Conclusion
![Page 45: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/45.jpg)
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
![Page 46: TechDays 2010 (CLO305) : Windows Azure App Fabric](https://reader033.vdocuments.site/reader033/viewer/2022061221/548abfe3b4795934018b46e9/html5/thumbnails/46.jpg)