Windows Azure AppFabric Rochdi Chakroun Geoffrey Daniel Thomas Conté
Présentation des intervenants <ul><li>Rochdi Chakroun , WinWise </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><...
Agenda <ul><li>Présentation & Introduction </li></ul><ul><li>Rappel: la plateforme Windows Azure </li></ul><ul><li>Présent...
Windows Azure Petits rappels: Windows Azure SQL Azure Azure AppFabric
Plateforme Azure: vue d’ensemble
Azure AppFabric Service Bus Access Control Service
Le problème <ul><li>Comment utiliser les services « dans les nuages » pour connecter applications et services, où qu’elle ...
Connecter les services entre eux, dans le nuage, à demeure, hébergés firewall NAT firewall Votre application Application “...
Gérer l’identité et les contrôles d’accès Contrôler & sécuriser Token Assertions Transformation des assertions Message + T...
Service Bus
Le principe du relais Service Bus Sender Receiver http://myapp.servicebus.windows.net/a/b/ Backend Naming Routing Fabric F...
Traversée NAT & Firewall Service Bus Receiver
Service Registry http:// project .servicebus.windows.net/
Extension du modèle WCF <ul><li>Offre des bindings correspondant aux principaux bindings WCF </li></ul><ul><li>Securité, B...
Application pratique! <ul><li>Un site de vente de ticket de concerts, hébergé dans Azure </li></ul><ul><ul><li>Ce qui lui ...
Démo Utilisation du NetTCPRelayBinding: Identification de l’utilisateur
Schéma fonctionnel Site Web:  E-Commerce Catalogue CRM Membership Services Réseau entreprise SQL Azure Web Role Login / Mo...
Liste (non exhaustive) des bindings
WebHttpRelayBinding
Démo Utilisation du WebHttpRelayBinding: Streaming vidéo
Schéma fonctionnel Site Web:  E-Commerce Catalogue CRM Membership Services Streaming Services Réseau entreprise 0101010010...
NetEventRelayBinding Service Bus Sender Receiver sb://project.windows.net/a/b/ outbound connect bidi socket outbound conne...
Démo Utilisation du NetEventRelayBinding: Passage de commande
Schéma fonctionnel Site Web:  E-Commerce Catalogue Membership Services Réseau entreprise Partenaires Order  Services Order...
Message Buffers Service Bus Sender Receiver sb:// solution. servicebus.windows.net/a/b/ Backend Naming Routing Fabric Fron...
Démo Utilisation des Message Buffers: Récupération de commande par partenaire
Schéma fonctionnel Site Web:  E-Commerce Catalogue Membership Services Réseau entreprise Partenaires Order  Services Order...
Access Control Service
ACS: vue d’ensemble <ul><li>Contrôle d’accès fondé sur les assertions (ou revendications) </li></ul><ul><ul><li>== Claims-...
ACS: les grands principes 2. Envoyer token (revendications; e.g. identité) 4. Retourne token (résultat de l’étape 3) 5. En...
ACS: en termes WRAP… Chapitre 1.1, v0.9.7.2 2. Envoyer token (revendications; e.g. identité) 4. Retourne token (résultat d...
Requêtes de Tokens ACS <ul><li>Trois méthodes possibles pour demander un Token </li></ul><ul><li>Simple text ( Plaintext )...
C’est quoi un SWT? <ul><li>role =Admin%2cUser& </li></ul><ul><li>customerName =Contoso%20Corporation& </li></ul><ul><li>Is...
Comment demander un SWT? (version Plaintext, section 5.1 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1  </li></ul><ul><li>H...
Comment demander un SWT? (version Signed Token, section 5.2 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1  </li></ul><ul><l...
Comment demander un SWT? (version SAML Token, section 5.2 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1  </li></ul><ul><li>...
Les différentes briques d’ACS Windows Azure
Démo Portail de gestion acm.exe et AcmBrowser Protection d’un service par ACS: Mise à jour de la commande
Schéma fonctionnel Site Web:  E-Commerce Catalogue Membership Services Réseau entreprise Partenaires Order  Services Order...
ACS & intégration entreprise <ul><li>ACS accepte des tokens SAML signés pour les requêtes de tokens SWT </li></ul><ul><ul>...
Intégration AD FS v2 ACS Service Namespace REST Web Service Client
Démo Intégration AD FS v2: Mise à jour de la commande, authentifiée
Conclusion
Tout Azure aux TechDays Ateliers assurés par Wygwam Titre Heure Session Introduction à Windows Azure Lundi 8, 16h à 17h CL...
 
Upcoming SlideShare
Loading in …5
×

TechDays 2010 (CLO305) : Windows Azure App Fabric

1,767 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,767
On SlideShare
0
From Embeds
0
Number of Embeds
197
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • date
  • date
  • date
  • date
  • date
  • date
  • date
  • date
  • date
  • date
  • date
  • TechDays 2010 (CLO305) : Windows Azure App Fabric

    1. 2. Windows Azure AppFabric Rochdi Chakroun Geoffrey Daniel Thomas Conté
    2. 3. Présentation des intervenants <ul><li>Rochdi Chakroun , WinWise </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>http://www.dotnetguru2.org/rochdichakroun </li></ul></ul><ul><li>Geoffrey Daniel , WinWise </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>http://blogs.developpeur.org/neurocypher </li></ul></ul><ul><li>Thomas Conté , Microsoft </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>twitter.com/tomconte </li></ul></ul><ul><ul><li>blogs.msdn.com/tconte </li></ul></ul>
    3. 4. Agenda <ul><li>Présentation & Introduction </li></ul><ul><li>Rappel: la plateforme Windows Azure </li></ul><ul><li>Présentation de la brique Azure AppFabric </li></ul><ul><li>Présentation du projet de démo </li></ul><ul><li>Service Bus </li></ul><ul><ul><li>Présentation </li></ul></ul><ul><ul><li>Démo & code </li></ul></ul><ul><li>Access Control Service </li></ul><ul><ul><li>Présentation </li></ul></ul><ul><ul><li>Démo & code </li></ul></ul><ul><li>Conclusion </li></ul>
    4. 5. Windows Azure Petits rappels: Windows Azure SQL Azure Azure AppFabric
    5. 6. Plateforme Azure: vue d’ensemble
    6. 7. Azure AppFabric Service Bus Access Control Service
    7. 8. Le problème <ul><li>Comment utiliser les services « dans les nuages » pour connecter applications et services, où qu’elle soient? </li></ul><ul><ul><li>Établir une passerelle entre nuage, à demeure, hébergé </li></ul></ul><ul><ul><li>Faciliter et sécuriser la connexion réseau / sécurité </li></ul></ul><ul><ul><li>Gérer identité et contrôle d’accès </li></ul></ul><ul><ul><li>Interopérer avec différents langages, plateformes </li></ul></ul><ul><li>La solution: </li></ul>Service Bus Access Control
    8. 9. Connecter les services entre eux, dans le nuage, à demeure, hébergés firewall NAT firewall Votre application Application “partenaire” Service Bus Connecter
    9. 10. Gérer l’identité et les contrôles d’accès Contrôler & sécuriser Token Assertions Transformation des assertions Message + Token Échange de certificats Règles de contrôle d’accès Vérification des assertions Votre application Application “partenaire” Access Control Service
    10. 11. Service Bus
    11. 12. Le principe du relais Service Bus Sender Receiver http://myapp.servicebus.windows.net/a/b/ Backend Naming Routing Fabric Frontend Nodes NLB Ctrl 3 Forwarder 1 outbound socket connect 4 outbound socket rendezvous 2 Ctrl
    12. 13. Traversée NAT & Firewall Service Bus Receiver
    13. 14. Service Registry http:// project .servicebus.windows.net/
    14. 15. Extension du modèle WCF <ul><li>Offre des bindings correspondant aux principaux bindings WCF </li></ul><ul><li>Securité, Binaire, Streaming, Reliable Sessions </li></ul><ul><li>Pas besoin de NAT ou d’ouvrir des ports sur l’extérieur </li></ul>
    15. 16. Application pratique! <ul><li>Un site de vente de ticket de concerts, hébergé dans Azure </li></ul><ul><ul><li>Ce qui lui permet de faire face aux pics de trafic </li></ul></ul><ul><li>La base de données client (CRM) ainsi que la base des commandes (ERP) sont critiques et restent hébergées « à demeure » </li></ul><ul><ul><li>Comment exposer ces bases à l’application Web , de façon simple, compte tenu des problématique de sécurité réseau ? </li></ul></ul><ul><li>Mes commandes doivent être auditées par une société tierce </li></ul><ul><ul><li>Comment peut-elle les recevoir facilement? </li></ul></ul><ul><li>J’ai des partenaires externes qui gèrent la logistique (impression et expédition des billets) </li></ul><ul><ul><li>Comment peuvent-ils interagir avec mon système, de façon sécurisée , et sans leur imposer une technologie particulière? </li></ul></ul>
    16. 17. Démo Utilisation du NetTCPRelayBinding: Identification de l’utilisateur
    17. 18. Schéma fonctionnel Site Web: E-Commerce Catalogue CRM Membership Services Réseau entreprise SQL Azure Web Role Login / Mot de passe Profile de l’utilisateur
    18. 19. Liste (non exhaustive) des bindings
    19. 20. WebHttpRelayBinding
    20. 21. Démo Utilisation du WebHttpRelayBinding: Streaming vidéo
    21. 22. Schéma fonctionnel Site Web: E-Commerce Catalogue CRM Membership Services Streaming Services Réseau entreprise 0101010010101010101111 Regarder Extrait
    22. 23. NetEventRelayBinding Service Bus Sender Receiver sb://project.windows.net/a/b/ outbound connect bidi socket outbound connect one-way net.tcp Backend Naming Routing Fabric Frontal Subscribe Route Receiver outbound connect bidi socket Msg Msg Msg
    23. 24. Démo Utilisation du NetEventRelayBinding: Passage de commande
    24. 25. Schéma fonctionnel Site Web: E-Commerce Catalogue Membership Services Réseau entreprise Partenaires Order Services Order Services Audit des commandes Application d’audit CRM Nouvelle commande
    25. 26. Message Buffers Service Bus Sender Receiver sb:// solution. servicebus.windows.net/a/b/ Backend Naming Routing Fabric Frontend Nodes Manager ExpiresAfter MaxMessageCount … HTTP(S) POST/PUT HTTP(S) GET/DELETE Msg Msg Message Buffer Policy
    26. 27. Démo Utilisation des Message Buffers: Récupération de commande par partenaire
    27. 28. Schéma fonctionnel Site Web: E-Commerce Catalogue 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
    28. 29. Access Control Service
    29. 30. ACS: vue d’ensemble <ul><li>Contrôle d’accès fondé sur les assertions (ou revendications) </li></ul><ul><ul><li>== Claims-Based Access Control </li></ul></ul><ul><li>Protocole complètement RESTful </li></ul><ul><li>Utilisable sur n’importe quelle plateforme (SDK PHP, Java) </li></ul><ul><li>Implémente OAuth WRAP & SWT </li></ul><ul><ul><li>WRAP = Web Resource Authorization Protocol </li></ul></ul><ul><ul><li>SWT = Simple Web Tokens </li></ul></ul><ul><ul><li>http://groups.google.com/group/oauth-wrap-wg </li></ul></ul><ul><li>Intégration avec ADFS v2 </li></ul><ul><li>Permet la délégation simple </li></ul>
    30. 31. ACS: les grands principes 2. Envoyer token (revendications; e.g. identité) 4. Retourne token (résultat de l’étape 3) 5. Envoyer le token avec la requête 0. confiance établie: secrets + certs 1. Définir les règles de contrôle d’accès 6. Vérifier les Revendications (token) 3. Transformer revendications sur la base des règles de contrôle d’accès ACS Service (Relying Party) Utilisateur ou Application
    31. 32. ACS: en termes WRAP… Chapitre 1.1, v0.9.7.2 2. Envoyer token (revendications; e.g. identité) 4. Retourne token (résultat de l’étape 3) 5. Envoyer le token avec la requête 0. confiance établie: secrets + certs 1. Définir les règles de contrôle d’accès 6. Vérifier les Revendications (token) 3. Transformer revendications sur la base des règles de contrôle d’accès Authorizaton Server Protected Resource Client
    32. 33. Requêtes de Tokens ACS <ul><li>Trois méthodes possibles pour demander un Token </li></ul><ul><li>Simple text ( Plaintext ) </li></ul><ul><ul><li>Le plus simple à implémenter, pas de crypto </li></ul></ul><ul><li>Token signé ( Signed Token ) </li></ul><ul><ul><li>Permet la délégation simple, HMAC SHA 256 nécessaire </li></ul></ul><ul><li>Token SAML émis par un AD FS v2 ( SAML bearer token ) </li></ul><ul><ul><li>Permet l’intégration avec le SI entreprise </li></ul></ul><ul><li>ACS renvoie toujours le même type de token: SWT </li></ul>
    33. 34. C’est quoi un SWT? <ul><li>role =Admin%2cUser& </li></ul><ul><li>customerName =Contoso%20Corporation& </li></ul><ul><li>Issuer =https%3a%2f%2fadatum.accesscontrol.windows.net%2f& </li></ul><ul><li>Audience =http%3a%2f%2fadatum%2fbillprint& </li></ul><ul><li>ExpiresOn =1255912922& </li></ul><ul><li>HMACSHA256 =yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d </li></ul>
    34. 35. Comment demander un SWT? (version Plaintext, section 5.1 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1 </li></ul><ul><li>Host:adatum.accesscontrol.windows.net </li></ul><ul><li>wrap_scope =http%3A%2F%2Fadatum.com%2Fservices%2F& </li></ul><ul><li>wrap_name =adatumcustomer1& </li></ul><ul><li>wrap_password =5znwNTZDYC39dqhFOTDtnaikd1hiuRa4XaAj3Y9kJhQ%3D </li></ul>
    35. 36. Comment demander un SWT? (version Signed Token, section 5.2 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1 </li></ul><ul><li>Host:adatum.accesscontrol.windows.net </li></ul><ul><li>wrap_scope =http%3A%2F%2Fadatum.com%2Fservices%2F& </li></ul><ul><li>wrap_assertion_format =SWT </li></ul><ul><li>wrap_assertion =role%3DAdmin%252cUser%26Issuer%3Dadatumcustomer1%26ExpiresOn%3D1255912922%26HMACSHA256%3DyuVO%252fwc58%252ftYP36%252fDM1mS%252fHr0hswpsGTWwgfvAbpL64%253d </li></ul>
    36. 37. Comment demander un SWT? (version SAML Token, section 5.2 de la spec) <ul><li>POST /WRAPv0.9/ HTTP/1.1 </li></ul><ul><li>Host:adatum.accesscontrol.windows.net </li></ul><ul><li>wrap_scope =http%3A%2F%2Fadatum.com%2Fservices%2F& </li></ul><ul><li>wrap_assertion_format =SAML </li></ul><ul><li>wrap_assertion =<…SAML Bearer Token…> </li></ul>
    37. 38. Les différentes briques d’ACS Windows Azure
    38. 39. Démo Portail de gestion acm.exe et AcmBrowser Protection d’un service par ACS: Mise à jour de la commande
    39. 40. Schéma fonctionnel Site Web: E-Commerce Catalogue Membership Services Réseau entreprise Partenaires Order Services Order Services Application d’audit CRM MessageBuffer Audit des commandes Logistique Traitement des commandes HTTP Order Processing Commande Nouvelle commande Mise à jour du statut
    40. 41. ACS & intégration entreprise <ul><li>ACS accepte des tokens SAML signés pour les requêtes de tokens SWT </li></ul><ul><ul><li>AD FS v2 peut générer ces tokens SAML </li></ul></ul><ul><li>WIF est la façon la plus simple de requêter un token SAML de la part de AD FS v2 </li></ul><ul><ul><li>Windows Identity Framework </li></ul></ul><ul><li>ACS doit connaître la clé de signature pour valider le token SAML </li></ul><ul><li>ACS publie et comprend les métadonnées WS-Fed </li></ul><ul><ul><li>Cela permet d’automatiser l’établissement de la relation de confiance </li></ul></ul>
    41. 42. Intégration AD FS v2 ACS Service Namespace REST Web Service Client
    42. 43. Démo Intégration AD FS v2: Mise à jour de la commande, authentifiée
    43. 44. Conclusion
    44. 45. Tout Azure aux TechDays Ateliers assurés par Wygwam 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

    ×