WCF représente l’un de mes principaux sujets d’investigation. Et la richesse des possibilités offertes est telle qu’il m’a paru opportun de partager certaines des expériences acquises au cours de mes différentes mises en œuvre de cette technologie.
Les services de Web permettent aux applications d’interopérer sur différentes plateformes. Cependant, les technologies existantes ne satisfont pas toujours aux exigences de sécurité et de fiabilité pour les communications d’entreprise. WCF (« Windows Communication Foundation »), framework unifié pour la construction d’applications orientées services, y répond, en fournissant un modèle de programmation unifié pour construire des applications sécurisées, fiables et interopérables sur la base des spécifications WS-*. L'objet de ce document est de présenter les patterns offerts par WCF pour la sécurisation de l’échange des messages et la sécurité d’accès aux ressources.
La mise en perspective des patterns de sécurité offerts par WCF suppose la mise en place d’une démarche de présentation appropriée. Tout au long de ce document, je me suis donc attaché à respecter un « mode opératoire » fondé sur le rappel des concepts associés à la sécurité des échanges de messages, sur l’identification des patterns et des normes de sécurité, et sur l’application et la composition de ces patterns avec WCF.
Les fonctions de sécurité de WCF sont implémentées dans 2 couches : « Channel » (authentification et transfert contrôlés via les « bindings »), « Service Model » (autorisations paramétrées via les « behaviors »). L'ensemble de caractéristiques de programmation et de configuration associées à ces fonctions sont analysées et présentées avec soin. Sont notamment abordés le choix des différents modes de sécurité (transport et message), les mécanismes de protection des messages (chiffrement et signature), les différents modes d’authentification, l'emprunt d’identité, la délégation, le contrôle d’accès fondé sur les rôles, le contrôle d’accès fondé sur l’usage de claims, la fédération d’identité, « Cardspace », l'audit... Autant d'occasions de découvrir la flexibilité des mécanismes de développement et de déploiement des services web avancés, avec une nette séparation entre l’abstraction de la logique « métier » et le paramétrage des détails de la communication, garantissant de surcroît l'extensibilité de la solution grâce au support de l’évolution des normes WS-*.
Téléchargez la version complète de cet article à cette
adresse.