Accueil > FR > Actualités > Blog > Démonstration des composants de sécurité SOA du projet BEinGRID

Démonstration des composants de sécurité SOA du projet BEinGRID

Les entreprises adoptent l’architecture orientée services (SOA) pour la souplesse qu’elle procure dans les échanges entre clients, fournisseurs et partenaires. En contrepartie, cette architecture pose de nouveaux challenges technologiques en matière de sécurité et d’adaptation des ressources à la demande. Le projet BEinGRID a du adresser ces problèmes pour atteindre ses objectifs. Les résultats, auxquels le CETIC a contribué, ont été démontrés lors de la dernière revue du projet.

Identification des besoins des entreprises

La manière dont les entreprises conduisent leurs activités est actuellement en train de changer fortement. Entre leurs collaborateurs mobiles, des datacenters outsourcés, des sites physiques à travers le globe, les sociétés sont de plus en plus dispersées géographiquement. De plus, les compagnies cherchant à optimiser leur processus par le biais de leur chaine d’approvisionnement (supply chain) sont engagées dans des stratégies d’intégration qui incluent aussi bien leurs clients que leurs fournisseurs. Cela augmente le besoin de sécurisation d’un bout à l’autre du processus. Au fur et à mesure que des organisations connectent leurs environnements informatiques hétérogènes, la conformité inter et intra entreprises de l’IT aux règles d’organisation définie par l’entreprise devient de plus en plus importante. La mondialisation et l’agilité nécessitent d’intégrer toujours plus de systèmes et de partenaires, en même temps que plus de contraintes, et produisent des environnements complexes, où les processus de prise de décision augmentent également en complexité tout en devenant cruciaux pour cette organisation. Le changement dans un seul processus peut potentiellement affecter plus d’un partenaire et bouleverser un large ensemble de processus métiers. Il y a donc un fort besoin d’une gestion bien orchestrée et de bout en bout des processus, qui fournisse la visibilité et la gouvernance de l’infrastructure IT, le respect des stratégies de sécurité et assure la disponibilité des ressources. Enfin une autre conséquence de ces changements organisationnels des entreprises et l’émergence de la notion d’organisations virtuelles (VO), définies comme associations temporaires de groupes ou d’organisations qui mettent en commun des ressources pour atteindre des objectifs communs. Selon cette définition, les entreprises constituent des VO pour réaliser des services. Les VO posent non seulement des défis en termes de gestion de la sécurité (il n’y a pas d’identification centralisée entre les membres de la VO) mais encore requièrent des infrastructures IT scalables et adaptables.

Composants SOA de BEinGRID

Le projet BEinGRID, auquel participe le CETIC, s’est attaqué à ces défis technologiques. Initialement orientées pour le Grid Computing, les réponses apportées par le projet se sont révélées rapidement généralisables au SOA. En effet, les domaines partagent des préoccupations technologiques communes telles que la configuration automatique d’applications tierces ainsi que leur gestion et leur gouvernance dans une infrastructure orientée services. De plus la coordination de l’exécution de services dans des environnements informatiques multiples est un objectif aussi bien en Grid Computing qu’en SOA. Enfin les deux domaines doivent être capables de gérer l’hétérogénéité tant des composants logiciels et des environnements (frameworks, systèmes d’exploitations, …) que des implémentations des spécifications et standards (SOAP, WS-RF, XACML, …). Fort de ce constat et sur la base des demandes concrètes des « business experiments » (applications concrètes du Grid et des SOA en entreprises), le projet BEinGrid a défini, conçu et implémenté des composants logiciels répondant à ces besoins. Le CETIC a participé au processus de réalisation de certains de ces composants, de l’expression des exigences au développement logiciel.

Scénario de démonstration

Bien que l’utilisation de ces composants ait été démontrée individuellement dans plusieurs « business experiments » de BEinGRID, le projet a choisi de démontrer l’intérêt pour les entreprises de la combinaison de ces composants dans un environnement SOA et pour un scénario représentatif de leur utilisation réelle. Le business case choisi est celui d’une boutique virtualisée de vente de morceaux de musique en ligne. Plusieurs fournisseurs de musique fournissent leur catalogue, au travers d’un portail fédérant l’offre de musique. Le portail et les fournisseurs forment une VO. Les clients du portail ont des droits d’accès différents en fonction de leur type d’abonnement : « platinum » pour des téléchargements illimités, « gold » pour un nombre limité de téléchargements et « silver » pour limiter le téléchargement aux fichiers de basse qualité (bitrate faible). Ce mode de fonctionnement requière des mécanismes de sécurité capables d’identifier les utilisateurs et de donner accès en fonction de profils de sécurité. Une architecture de sécurité calquée sur le schéma décrit dans l’article "Déploiement de politiques de sécurité pour systèmes d’information orientés service" a été mise en œuvre ici. Elle repose sur trois composants de sécurité de BEinGRID pour gérer la sécurité : le Policy Decision Point (PDP) contient la définition des règles de sécurité. Quand une requête d’un client arrive à une boutique (SongStore), le Policy Enforcement Point (PEP), intercepte la requête et interroge le PDP pour savoir s’il faut autoriser l’accès ou non. Si l’accès est autorisé, le PEP obtient un jeton, ou token, d’autorisation du Security Token Service (STS), permettant le déroulement du service entre le client et la boutique en ligne. Un évaluateur de niveau de service (SLA evaluator) assure que les fichiers renvoyés au client, ont le bitrate qui correspond à leur profil.
Enfin, les boutiques en ligne sont virtualisées et dupliquables, pour tenir compte de montées en charge, ce qui met en œuvre le composant BEinGRID AppVirt de gestion de services virtualisés.

La démonstration a consisté à utiliser le service d’achat de morceaux en ligne. Un player musical de type « iTunes » cherche à se connecter à la boutique en ligne. Le composant AppVirt, met en relation le player et une instance de la boutique en ligne SongStore. Le client recherche des morceaux dans la boutique en ligne

Lorsque le client décide d’acheter un morceau, les composants PDP, PEP, STS et SA evaluator définissent s’il peut télécharger le fichier ou non, avec quel niveau de qualité, et gèrent les échanges entre le player et la boutique. Si l’achat est possible, le téléchargement du morceau commence.

Outre la participation à la réalisation des composants, le CETIC a également collaboré à la réalisation d’éléments de cette démonstration, avec la réalisation du player, l’intégration des contraintes de sécurité à la boutique en ligne, et le développement de l’interface d’administration de l’application AppVirt de gestion d’applications virtualisées. La participation du CETIC à la réalisation des composants et de leur démonstration a non seulement permis au centre d’acquérir une vision globale des stratégies de sécurités applicables en architecture SOA mais encore renforce l’expérience pratique de l’équipe SOA dans l’implémentation des technologies de WebServices.

Stéphane Mouton, chef de projets, département SST, équipe SOA