=Paper=
{{Paper
|id=None
|storemode=property
|title=Assisted Policy Management for SPARQL Endpoints Access Control
|pdfUrl=https://ceur-ws.org/Vol-1035/iswc2013_demo_9.pdf
|volume=Vol-1035
|dblpUrl=https://dblp.org/rec/conf/semweb/CostabelloVVG13
}}
==Assisted Policy Management for SPARQL Endpoints Access Control==
Assisted Policy Management for SPARQL Endpoints Access Control Luca Costabello, Serena Villata? , Iacopo Vagliano, and Fabien Gandon INRIA Sophia Antipolis, France {firstname.lastname}@inria.fr Abstract. Shi3ld is a context-aware authorization framework for pro- tecting SPARQL endpoints. It assumes the definition of access policies using RDF and SPARQL, and the specification of named graphs to iden- tify the protected resources. These assumptions lead to the incapability for users who are not familiar with such languages and technologies to use the authorization framework. In this paper, we present a graphical user interface to support dataset administrators to define access policies and the target elements protected by such policies. 1 Introduction Shi3ld1 [2] is an access control framework for querying Web of Data servers. It protects RDF stores from incoming SPARQL queries, whose scope is restricted to triples included in accessible named graphs only [1]. In particular, Shi3ld determines the list of accessible graphs by evaluating pre-defined access policies against client attributes sent with the query. It adopts exclusively Semantic Web languages, reuses existing proposals, and protects data up to triple level. The drawback of such framework is that it relies on the assumption that dataset administrators have a proficient knowledge of RDF and SPARQL, and that they are able to manage vocabularies and define new named graphs. In this paper, we address this open issue by presenting a web application that allows non-expert dataset administrators to manage Shi3ld context-aware access control policies, by hiding the complexity of RDF and SPARQL. The Shi3ld policy manager allows the definition of context-aware access conditions featuring user, environment (time and location above all), and device attributes. Moreover, such application allows a simpler definition of new named graphs over a set of existing triples. The work presented in this paper can be classified among the works trying to hide the complexity of SPARQL and the Semantic Web to end users [4–6]. Such proposals mainly consist in GUIs to query, search, visualize, browse and edit triples published on the Web of Data. In our work, we deal with querying issues and we tackle the problem of providing a user-friendly interface for the creation of context-aware access control policies for triple stores. ? The author acknowledges support of the DataLift Project ANR-10-CORD-09 founded by the French National Research Agency. 1 http://wimmics.inria.fr/projects/shi3ld/ 2 Our Proposal The Shi3ld policy management GUI2 is designed to support the interaction with two kinds of dataset administrators: non-experts, which are assumed not to know the SPARQL query language and RDF, and experts, which are able to edit access policies source code. In particular, the following functionalities are proposed: – Policies visualization and modification: the application shows the list of policies stored in the triple store through a grid view. Each policy is an expandable row that, if selected, shows the main features of the policy like the policy target (i.e. the named graphs protected by the policy), the privilege granted by the policy (Create, Update, Read, Delete), and the access conditions (SPARQL 1.1 ASK queries) which specify the requirements that need to be satisfied to access the target resource. Users can edit all these elements, e.g., they associate the policy to another named graph, add or remove privileges, or modify the defined access conditions. Two different views are proposed to the user: i) a graphical view where operations are performed without the need to write policies using SPARQL and RDF to support non-expert administrators, and ii) a textual editor which allows to directly write policies using SPARQL and RDF for expert administrators. – Policies creation: the creation of a new context-aware policy is managed by a wizard. In particular, the wizard proposes the following views: i) the defini- tion of the policy name (which is then “translated” into an rdfs:label), the target named graph (it is possible to select one of the already defined named graphs included in the triple store, or to define a new one as we will detail later), and the privilege(s) to associate to the policy; ii) the view concern- ing the User dimension, that consists in a text box where the administrator inserts the features that must be satisfied by the user accessing the target resource, e.g., foaf:knows :ACME boss. The text box provides autocomple- tion and it suggests a list of properties showing the associated vocabulary (to date, we use the foaf3 and relationship4 vocabularies, but other vocab- ularies can be added); iii) the view concerning the Environment dimension, that consists in two parts: the first one defines temporal conditions, and the second one deals with geographical conditions. Temporal conditions are ex- pressed with a time picker, to select the desired time interval in which the access is granted. The definition of the geographical condition is done with a map interface5 , enriched with a movable marker and a resizable radius; iv) the view concerning the Device dimension, similar to the User view, that suggests the access properties related to the device used to access the target 2 Video available at http://wimmics.inria.fr/projects/shi3ld/ 3 http://xmlns.com/foaf/spec/ 4 http://purl.org/vocab/relationship/ 5 http://developers.google.com/maps/ resource (we use the Delivery Context vocabulary6 but further vocabularies can be added). At the end of the wizard, the access policy is automatically generated and stored in the triple store. – Named graphs creation: the administrator is assisted in the definition of a new named graph. Shi3ld access policies must be associated to named graphs, and this leads to a number of difficult tasks for non-expert users, since it involves the use of non-trivial SPARQL features. We thus provide a GUI to mask such complexity, by letting administrators define a new named graph starting from the set of triples they want to associate to such newly defined named graph. The application asks for the label of the named graph to be created and it presents the template of a SELECT query, to be completed with the desired triple pattern. A preview of the selected triples is shown, thus letting the administrator check which triples will be added to the named graph. If results are satisfying, the new named graph is created and it can be used as the access policy target. Figure 1 shows how user actions are translated into SPARQL and RDF by the Shi3ld Policy Manager. The application supports the administrator in creating, editing and deleting both policies and target named graphs. SPARQL queries are completely masked to end users, unless the embedded SPARQL textual editor is opened. Administrator operations Generated SPARQL query View policies / Edit policy / Delete policy SELECT / DELETE INSERT / DELETE INSERT DATA Create new policy Create new named graph SELECT / INSERT View named graphs / Edit / Delete SELECT / DELETE INSERT / DELETE Fig. 1: The administrator operations and the resulting SPARQL query. The Shi3ld Policy Manager is a web application developed in JavaScript and backed by a Fuseki SPARQL 1.1 triple store7 . The server-side relies on the Node.js platform8 , and the front-end is built over jQuery, the Twitter Bootstrap framework9 , and Backbone.js10 as structure. The SPARQL editor is provided by Flint11 . 6 http://www.w3.org/TR/dcontology/ 7 http://jena.apache.org/documentation/serving_data/ 8 http://nodejs.org/ 9 http://twitter.github.io/bootstrap/ 10 http://backbonejs.org/ 11 http://openuplabs.tso.co.uk/demos/sparqleditor 3 Future Perspectives We have presented a user interface to declare context-aware policies for the Shi3ld authorization framework. There are several issues to be considered as future research. First, since Shi3ld has been recently extended to manage also HTTP access to resources [3], we will ex- tend this application such that also poli- cies for Shi3ld-HTTP would be defined and manageable, i.e., access conditions are defined as RDF triples instead of ASK SPARQL queries. Second, we will inte- grate our interface with the Linked Open Vocabulary catalogue12 such that ad- ministrators are supported in including new vocabularies used to define the ac- cess conditions. Third, we plan to favour policy reuse across datasets by adding a “policy template” sharing functionality. Moreover, we envision a “deep” proper- ties validation, (i.e. checking that a cer- tain URI actually corresponds to a foaf profile). Finally, we will add a sandbox Fig. 2: The Shi3ld user interface. to test the access policies effectiveness on the protected triples. References 1. Carroll, J.J., Bizer, C., Hayes, P.J., Stickler, P.: Named graphs. J. Web Sem. 3(4), 247–267 (2005) 2. Costabello, L., Villata, S., Gandon, F.: Context-Aware Access Control for RDF Graph Stores. In: Procs of ECAI. Frontiers in Artificial Intelligence and Applica- tions, vol. 242, pp. 282–287. IOS Press (2012) 3. Costabello, L., Villata, S., Rocha, O.R., Gandon, F.: Access Control for HTTP Operations on Linked Data. In: Procs of ESWC. Lecture Notes in Computer Science, vol. 7882, pp. 185–199. Springer (2013) 4. Lopez, V., Uren, V.S., Sabou, M., Motta, E.: Is Question Answering fit for the Semantic Web?: A survey. Semantic Web 2(2), 125–155 (2011) 5. Ngomo, A.C.N., Bühmann, L., Unger, C., Lehmann, J., Gerber, D.: Sorry, i don’t speak SPARQL: translating SPARQL queries into natural language. In: Procs of WWW. pp. 977–988. ACM (2013) 6. Sonntag, D., Heim, P.: A Constraint-Based Graph Visualization Architecture for Mobile Semantic Web Interfaces. In: Procs of SAMT. Lecture Notes in Computer Science, vol. 4816, pp. 158–171. Springer (2007) 12 http://lov.okfn.org/dataset/lov/