ISICIL, Grenoble, 24/02/2011 Gestion sémantique des droits d’accès au contenu : l’ontologie AMO M. Buffa, C. Faron Zucker.

Slides:



Advertisements
Présentations similaires
Serveur d’applications JEE
Advertisements

C#3 et le projet Linq Mitsuru FURUTA
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Stage serveur web sémantique
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
Programmation Web Les JSP.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
Étude thématique Protégé 2000 Mathieu Besnard Elie Huvier.
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.

Copyright 2008 © Consortium ESUP-Portail ESUP-Days 7, Paris, 3 février 2009 Evolutions de esup-helpdesk v3 Pascal Aubry.
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
JSP 2 Crash Course Michel Buffa UNSA
Introduction aux Session Beans
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Active Directory Windows 2003 Server
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Fabien Gandon Post-doc Université de Carnegie Mellon
LA SÉCURITE DU RÉSEAU Stéphane Le Gars – Mars
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Evolutions Architecture ISICIL INRIA. Model Driven Architecture 1/2 Modèle ISICIL en mouvement Basé sur plusieurs ontologies légères Extensions (isicil.owl)
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
SERVLETS PRESENTATION
Web Sémantique: Le Relief Actuel
Type de contenu. © Partouche David / 2007 version 0.1 Colonne de site Une colonne de site permet de définir un champs qui sera exploitable au sein de.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
RDF(S)
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
Introducing Semantic Sensors in the SensApp Application Participant: Djeddi Samir. Encadrants: Mosser, Sébastien, UNS-I3S, MODALIS. Faron-Zucker, Catherine,
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Colloque IC-2012– Montréal 6-7 juin 2012
Groupe : Marc BENSILHE, Guillaume GOURMENT et Paul FLYE SAINTE MARIE
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Michel Coletta - Journées PATTERNS Avril Grenoble1 STRUTS Introduction Technologies Java Architecture Développement Enseigner quoi ?
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
SweetWiki Etat des lieux et avenir de SweetWiki. Etat actuel Version stable attendue très rapidement, la version correspondant au délivrable du projet.
Web sémantique Par Lydia Carine Mampais KI Bamba SISSOKO
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Martine Toussaint Desir
Windows 2003 Server Modification du mode de domaine
Diplôme Nationale d'Ingénieur en Informatique
Schéma de conception Factory Method Exemple Sylvain Giroux.
10 juin 2008 Journée Technologies et Enjeux de l'Apprentissage Mobile Equipe SIMBAD.
Du discours aux modèles… Une tentative d’articulation
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Protégé Lylia Abrouk.
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
Les Java Server Pages Dans ce chapitre, nous allons :
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
Apéro Techno Romain Maragou - Aliou Sow Web sémantique.
AFPA CRETEIL 5-1 Windows NT Administration des utilisateurs Chapitre 5.
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
JAVA EE 5 Q.R. C’est quoi une servlets?
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Préparé par : Marouane FELJA
Année Universitaire : 2013/2014 Réalisée par: Rahma DAIKHI Encadrants : M. Jean-Yves TIGLI M. Stéphane LAVIROTTE Au sein de : Laboratoire I3S, Equipe RAINBOW.
KOSMOS 1 Outils transversaux Module 7 1.L’annuaire 2.La recherche d’informations 3.La réservation de ressources.
Transcription de la présentation:

ISICIL, Grenoble, 24/02/2011 Gestion sémantique des droits d’accès au contenu : l’ontologie AMO M. Buffa, C. Faron Zucker

Introduction AMO in a nutshell –Contrôle d’accès basé sur les notions de rôle des utilisateurs et de types d’accès aux ressources –Représentation déclarative d’une stratégie sous la forme d’une base de règles – facilement modifiable –AMO est complémentaire des standards du web social Cadre unifié de la gestion des ressources –AMO s’appuie sur FOAF et SIOC et est extensible 2

Plan de l’exposé Gestion sémantique des droits d’accès au contenu –L’ontologie AMO Classes et propriétés Règles d’inférence –Modélisation et mise en œuvre de la stratégie de contrôle de DekiWiki Annotation des ressources Base de règles Requêtes sémantiques –Positionnement 3

AMO : classes et propriétés 4 rdf:type AccessType Public Private SemiPublic rdf:type Role Guest Contributor Administrator rdf:type Action ModifyContent ReadContent DeleteContent ModifyUserRights ModifyAccessType ModifyAuthorizedAgents foaf:Document foaf:Agent AccessType creator hasAuthorizedAgent hasAccessType AuthorizedAction OnResource RoleAction hasRolehasAction hasAuthorized ActionOnResource hasResource hasActionOnResource

AMO : exemple d’une stratégie de gestion des droits à modéliser Les droits d’accès dans DekiWiki 5 GuestContributorAuthorizedAgentAdministrator Public ReadContent ReadContent ModifyContent DeleteContent ModifyAuthorized Agents ModifyAccessType ReadContent ModifyContent DeleteContent ModifyAuthorized Agents ModifyAccessType ModifyUserRights Semi- Public ReadContent Private

AMO : une base de règles (1) Droits attribués aux agents donnés à une ressource CONSTRUCT { ?agent amo:hasAuthorizedActionOnResource ?a ?a amo:hasResource ?resource ?a amo:hasActionOnResource amo:ReadContent. ?a amo:hasActionOnResource amo:ModifyContent. ?a amo:hasActionOnResource amo:DeleteContent. ?a amo:hasActionOnResource amo:ModifyAccessType. ?a amo:hasActionOnResource amo:ModifyAuthorizedAgents } WHERE { ?resource rdf:type foaf:Document. ?resource amo:hasAuthorizedAgent ?agent } Etc. (6 autres règles) 6

AMO : une base de règles (2) Un agent hérite des droits attribués à ses groupes CONSTRUCT { ?agent amo:hasRole ?role } WHERE { ?group amo:hasRole ?role ?group foaf:member ?agent } Le créateur d’une ressource est un agent de celle-ci CONSTRUCT ?resource amo:hasAuthorizedAgent ?agent WHERE ?resource amo:creator ?agent Etc. 7

Modélisation de la stratégie de contrôle d’accès dans DekiWiki (1) Annotation des ressources (1) –A l’aide des classes et propriétés d’AMO –Lors de la création d’une page wiki :... 8

Modélisation de la stratégie de contrôle d’accès dans DekiWiki (2) Annotation des ressources (2) –Lors de la création d’un utilisateur :... 9

Modélisation de la stratégie de contrôle d’accès dans DekiWiki (3) Annotation des ressources (3) –Lors de l’ajout de membres de groupes : 10

Mise en œuvre de la stratégie de contrôle d’accès dans DekiWiki (4) Requêtes SPARQL –CatherineFaron peut-elle modifier TestPage? ASK { amo:hasAuthorizedAccessOnResource ?x ?x amo:hasActionOnResource amo:ModifyContent ?x amo:hasResource } –Quels sont les agents ayant des droits sur TestPage et quels sont leurs actions autorisées? SELECT ?agent ?action WHERE { ?agent amo:hasAuthorizedAccessOnResource ?x ?x amo:hasActionOnResource ?action ?x amo:hasResource } 11

Positionnement AMO et les standards du Web 2.0 –Les ressources dans ISICIL sont annotées avec les ontologies FOAF et SIOC –AMO complète FOAF et SIOC Pour repr. les connaissances relatives aux droits d’accès –AMO complémentaire de FOAFRealm FOAFRealm pour filtrer l’accès aux ressources en fonction des profils des utilisateurs et de leurs relations sociales –AMO complémentaire de FOAF-SSL FOAF-SSL pour l’authentification des agents du système 12

Positionnement AMO repose sur FOAF –Actuellement dans AMO amo:Document subClassOf foaf:Document amo:Agent subClassOf foaf:Agent amo:hasRole rdfs:hasRange foaf:Agent A la fois les personnes et les groupes peuvent avoir un rôle Les rôles d’un groupe sont propagés à ses membres (formalisé par une règle) 13

14 Modèle utilisateur ISICIL

Positionnement AMO et le nouveau user model de ISICIL –Le user model est basé sur sioc:UserAccount –Mise à jour de AMO doit distinguer les agents et les accounts garder la possibilité d’avoir des rôles attribués à des groupes –Dans SIOC, on a: sioc:has_function  amo:hasRole sioc:has_function n’a pas de domain amo:Role  sioc:Role, amo:Group  sioc:UserGroup –On se base sur SIOC, on met à jour la base de règles AMO –Extension de SIOC (postérieure à AMO) à voir de plus près amo:Action  sioc:Permission amo:AccessType  sioc:Status 15

Positionnement AMO les droits d’accès basés sur les relations sociales et la confiance –On ajoute de nouvelles règles à la base Dont les prémisse portent sur les relations qu’ont des foaf:Agent Dont les conclusions portent sur les droits qu’ont les sioc:UserAccount des foaf:Agent 16

A réfléchir : la sécurité dans le code Java EE et Spring par ex, proposent des ensembles d’annotations de code pour gérer les « autorisations "guest"}) public class Servlet extends HttpServlet { public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println(" Servlet Output "); if (req.isUserInRole("j2ee") && !req.isUserInRole("guest")) { out.println("Hello World"); } else { out.println("Invalid roles"); } out.println(" "); } 17

@DeclareRoles sert à définir les rôles qui pourront être testés dans permet de « revêtir » un public class CalculatorServlet private ShoppingCart myCart; public void doGet(HttpServletRequest req, HttpServletResponse res) { //.... myCart.getTotal(); //.... } 18

Spécification des droits d’exécution @RolesAllowed("admin") public class SomeClass { public void aMethod () {...} public void bMethod () public class MyBean public void aMethod () {...}... } 19