Rochdi Chakroun Geoffrey Daniel Thomas Conté Agenda Présentation amp Introduction Rappel la plateforme Windows Azure Présentation de la brique Azure AppFabric Présentation du projet de démo ID: 812139
Download The PPT/PDF document "Windows Azure AppFabric" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Slide2Windows Azure AppFabric
Rochdi
Chakroun
Geoffrey Daniel
Thomas Conté
Slide3Agenda
Présentation & Introduction
Rappel: la plateforme Windows Azure
Présentation de la brique Azure
AppFabric
Présentation du projet de démo
Service Bus
Présentation
Démo & code
Access Control Service
Présentation
Démo & code
Conclusion
Slide4Présentation des intervenants
Rochdi
Chakroun
,
WinWise
r
ochdi.chakroun@winwise.com
http://www.dotnetguru2.org/rochdichakroun
Geoffrey Daniel
,
WinWise
Geoffrey.Daniel@winwise.com
http://blogs.developpeur.org/neurocypher
Thomas Conté
, Microsoft
tconte@microsoft.com
twitter.com/
tomconte
blogs.msdn.com/
tconte
Slide5Windows Azure
Petits rappels:
Windows Azure
SQL Azure
Azure
AppFabric
Slide6Plateforme Azure: vue d’ensemble
Compute
Storage
Management
Management
Relational data
Connectivity
Access control
Slide7Azure AppFabric
Service Bus
Access Control Service
Slide8Le 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ès
Interopérer
avec différents langages, plateformes
La solution:
Service Bus
Access Control
Slide9Connecter les services entre eux,
dans le nuage, à demeure, hébergés
Connecter
firewall
NAT
firewall
0101 0111 0011 0111
0101 0111 0011 0111
Votre
application
Application “
partenaire
”
0101 0111 0011 0111
0101 0111 0011 0111
Service Bus
Slide10Gérer l’identité etles 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
Slide11Service Bus
Slide12Le
principe
du
relais
Service Bus
Sender
Receiver
http://myapp.servicebus.windows.net/a/b/
Backend
Naming
Routing
Fabric
Frontend
Nodes
Ctrl
3
Forwarder
1
outbound
socket
connect
4
outbound
socket
rendezvous
2
Ctrl
NLB
Slide13Traversée
NAT & Firewall
Service Bus
Receiver
Connexions sortantes uniquement
Pas de ports entrants à ouvrir
Connexions sortantes
en TCP par défaut
Se rabat sur du HTTP si nécessaire
Protégé par le Firewall du Data Center
« DMZ externalisée »
Sécurisé par le Access Control Service
Flexibilité au niveau des contrôles d’accès
Slide14Service Registry
http://
project
.servicebus.windows.net/
Root
apps
media
vault
fldrs
script
hr
TV
crm
video
stgB
dus
nyc
stgA
sfo
pics
share
docs
info
Découverte via
Atom
1.0 et
GET
URLs
activés/gérés automatiquement via
listeners
WCF
Slide15Extension du modèle WCF
Offre des
bindings
correspondant aux principaux
bindings
WCF
Securité
, Binaire, Streaming,
Reliable
Sessions
Pas besoin de NAT ou d’ouvrir des ports sur l’extérieur
HTTP.SYSWCF 3.5
WebHttpBinding
Service Bus
WebHttpRelayBinding
Service Bus
Application Service
80
Slide16Application pratique!
Un site de vente de ticket de concerts, hébergé dans Azure
Ce 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?
Slide17Démo
Utilisation du
NetTCPRelayBinding
:
Identification de l’utilisateur
Slide18Sché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
Slide19Liste (non exhaustive) des bindings
WCF
Binding
New
Service Bus
Binding
BasicHttpBinding
BasicHttpRelayBinding
WebHttpBinding
WebHttpRelayBinding
WSHttpBinding
WSHttpRelayBinding
WS2007HttpBindingWS2007HttpRelayBinding
WSHttpContextBindingWSHttpRelayContextBindingNetTcpBinding
NetTcpRelayBindingn/a
NetOnewayRelayBinding
n/a
NetEventRelayBinding
Slide20WebHttpRelayBinding
Slide
à ajouter
Slide21Démo
Utilisation du
WebHttpRelayBinding
:
Streaming vidéo
Slide22Schéma fonctionnel
Site Web:
E-Commerce
Catalogue
CRM
Membership
Services
Streaming
Services
Réseau entreprise
0101010010101010101111
Regarder
Extrait
Slide23NetEventRelayBinding
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
Msg
Msg
Subscribe
Route
Receiver
outbound connect
bidi
socket
Msg
Slide24Démo
Utilisation du
NetEventRelayBinding
:
Passage de commande
Slide25Sché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
Slide26Message Buffers
Service Bus
Sender
Receiver
sb
://
solution.
servicebus.windows.net
/
a/b/
HTTP(S) POST/PUT
Backend
Naming
Routing
Fabric
Frontend
Nodes
HTTP(S) GET/DELETE
Msg
Msg
Manager
Message
Buffer
Policy
ExpiresAfter
MaxMessageCount
…
Slide27Démo
Utilisation des Message Buffers:
Récupération de commande par partenaire
Slide28Sché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
Slide29Access Control Service
Slide30ACS: vue d’ensemble
Contrôle d’accès fondé sur les assertions (ou revendications)
== Claims-
Based
Access Control
Protocole complètement
RESTful
Utilisable sur n’importe quelle plateforme (SDK PHP, Java)
Implémente
OAuth
WRAP & SWTWRAP = Web Resource Authorization ProtocolSWT = Simple Web Tokenshttp://groups.google.com/group/oauth-wrap-wgIntégration avec ADFS v2Permet la délégation simple
Slide31ACS: les grands principes
ACS
Service
(Relying Party)
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
Utilisateur
ou Application
1.
Définir les règles de
contrôle
d’accès
6. Vérifier
lesRevendications (token)
3. Transformer revendicationssur
la base des règles de contrôle
d’accès
Slide32ACS: en termes WRAP…Chapitre 1.1, v0.9.7.2
Authorizaton
Server
Protected Resource
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
Client
1.
Définir les
règles de contrôle d’accès
6.
Vérifier
lesRevendications (token)
3. Transformer revendications
sur la base des règles de contrôle
d’accès
Slide33Requêtes de Tokens ACS
Trois méthodes possibles pour demander un
Token
Simple
text
(
Plaintext
)
Le plus simple à implémenter, pas de crypto
Token
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
Slide34C’est quoi un SWT?
role
=Admin%2cUser&
customerName
=Contoso%20Corporation&
Issuer
=https%3a%2f%2fadatum.accesscontrol.windows.net%2fWRAPv0.8&
Audience=http%3a%2f%2fadatum%2fbillprint&
ExpiresOn
=1255912922&
HMACSHA256=yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d
Slide35Comment demander un SWT?
(version
Plaintext
, section 5.1 de la
spec
)
POST /WRAPv0.8/ HTTP/1.1
Host:adatum.accesscontrol.windows.net
applies_to
=http%3A%2F%2Fadatum.com%2Fservices%2F&
wrap_name=adatumcustomer1&wrap_password=5znwNTZDYC39dqhFOTDtnaikd1hiuRa4XaAj3Y9kJhQ%3D
Slide36Comment demander un SWT?
(version
Signed
Token
, section 5.2 de la
spec
)
POST /WRAPv0.8/ HTTP/1.1
Host:adatum.accesscontrol.windows.net
applies_to=http%3A%2F%2Fadatum.com%2Fservices%2F&wrap_SWT=role%3DAdmin%252cUser%26Issuer%3Dadatumcustomer1%26ExpiresOn%3D1255912922%26HMACSHA256%3DyuVO%252fwc58%252ftYP36%252fDM1mS%252fHr0hswpsGTWwgfvAbpL64%253d
Slide37Comment demander un SWT?
(version SAML
Token
, section 5.2 de la
spec
)
POST /WRAPv0.8/ HTTP/1.1
Host:adatum.accesscontrol.windows.net
applies_to
=http%3A%2F%2Fadatum.com%2Fservices%2F&
wrap_SAML=<…SAML Bearer Token…>
Slide38Windows Azure
ACS Token Issuing Endpoint
ACS Token Issuing Endpoint
ACS Management Endpoint
ACS Management Endpoint
Les
différentes
briques
d’ACS
SDK
Portal
ACM.exe
Mgmt Browser
ACS Token Issuing Endpoint
ACS Management Endpoint
Slide39Démo
Portail de gestion
acm.exe et
AcmBrowser
Protection d’un service par ACS:
Mise à jour de la commande
Slide40Sché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
Slide41ACS & 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 FrameworkACS doit
connaître la clé de signature pour valider le token SAMLACS publie et comprend les métadonnées WS-FedCela permet d’automatiser
l’établissement de la relation de confiance
Slide42Intégration AD FS v2
ACS
Service Namespace
REST Web Service
Client
AD FS
V2
Slide43Démo
Intégration AD FS v2:
Mise à jour de la commande, authentifiée
Slide44Conclusion
Slide45Tout 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 AzureMardi 9, 13h à 14hPAR105Windows Azure AppFabricMardi 9, 13h à 14hCLO305Azure et les technologies non Microsoft
Mercredi 10, 11h à 12hINT301SQL Azure & Azure StorageMercredi 10, 16h à 17hCLO304
Ateliers encadrésHeureHeureLundi 814h30 – 15h3017h30 – 18h30Mardi 914h30 – 15h3017h30 – 18h30
Mercredi 1014h30 – 15h30
Ateliers assurés par Wygwam
Slide46