21
A Data API with Security and Graph-level Access Control Dr. Barry Norton, Development Manager, ResearchSpace* The British Museum * supported by the Andrew W. Mellon Foundation ESWC, Crete May 2014

A Data API with Security and Graph-Level Access Control

Embed Size (px)

Citation preview

Page 1: A Data API with Security and Graph-Level Access Control

A Data API with Security and

Graph-level Access ControlDr. Barry Norton,

Development Manager, ResearchSpace* The British Museum

* supported by the Andrew W. Mellon Foundation

ESWC, Crete

May 2014

Page 2: A Data API with Security and Graph-Level Access Control

Open Endpoint

• “The idea that an enterprise would allow a public SQL interface is laughable”

• True, but furthermore:

• The idea that an enterprise would allow unrestricted SQL (even querying, let alone update) is also laughable

Page 3: A Data API with Security and Graph-Level Access Control

Reality• In reality the enterprise:

• runs an active directory service

• assigns permissions to databases using this

• assign read/write permissions to tables using this

• allows third-party software providers access only to pre-defined queries and updates

Page 4: A Data API with Security and Graph-Level Access Control

Admission

• This talk is of low originality and negligible scientific value!

Page 5: A Data API with Security and Graph-Level Access Control

State of the Art• Some triplestores already provide graph-level access control

• The Datalift project produced a query-rewriting system to provide access control over arbitrary triplestores (Costabello et al., ECAI2012)

• Knud and Leigh, formerly of Talis, already presented how Kasabi allowed pre-defined parameterised SPARQL queries (WWW2012)

• The BBC, and other enterprises that have followed their example, already use a similar approach in practice (see presentations of Jem Rayfield)

Page 6: A Data API with Security and Graph-Level Access Control

State of the Art• Some triplestores already provide graph-level access control

• The Datalift project produced a query-rewriting system to provide access control over arbitrary triplestores (Costabello et al., ECAI2012)

• Knud and Leigh, formerly of Talis, already presented how Kasabi allowed pre-defined parameterised SPARQL queries (WWW2012)

• The BBC, and other enterprises that have followed their example, already use a similar approach in practice (see presentations of Jem Rayfield)

Proprietary

Enumerates graphs in query

Dead !(and proprietary user management)

Closed source

Page 7: A Data API with Security and Graph-Level Access Control

BM Dataset

http://collection.britishmuseum.org

Page 8: A Data API with Security and Graph-Level Access Control

Approach (1/4)

Page 9: A Data API with Security and Graph-Level Access Control

Approach (2/4)

Page 10: A Data API with Security and Graph-Level Access Control

Approach (3/4)

Page 11: A Data API with Security and Graph-Level Access Control

Approach (4/4)• RESTful API for management of queries and updates (i.e. each such

becomes a URI-identified resource)

• Each query/update

• Can be parameterised (by POSTing parameters with XSD datatypes that substitute for variables)

• Can be executed (subject to access and rewriting) by POSTing parameter values

• Can be scheduled for execution by POSTing a schedule

• Can be tested, on schedule, by POSTing an XPATH or SPARQL ASK query

• Provides a GETtable resource per scheduled execution

Page 12: A Data API with Security and Graph-Level Access Control

ResearchSpace• a reusable set of Linked Data-based components, making up

• a platform that allows researchers to make claims (additions and changes to GLAM data) -

• that preserves and aggregates canonical data across Museums (LAMs),

• attributes claims,

• records arguments based on

• provenanced data annotation,

• image annotation

• forum-based discussion with explicit annotation

• will allow inference over claims

Page 13: A Data API with Security and Graph-Level Access Control

RS Search

Page 14: A Data API with Security and Graph-Level Access Control

Fundamental Relationships

Page 15: A Data API with Security and Graph-Level Access Control

RS (Conjunctive) Search

Page 16: A Data API with Security and Graph-Level Access Control

RS Data Annotation

Page 17: A Data API with Security and Graph-Level Access Control

Untrue claims?• For years a (naive) objection to Linked Data has

been:

• “If I publish my data and give my things identifiers (URIs), won’t people make untrue claims?”

!

!

<http://collection.britishmuseum.org/id/object/YCA62958> crm:P52_has_current_owner

<http://semanticweb.org/id/Barry_Norton>

Page 18: A Data API with Security and Graph-Level Access Control

RS Image Annotation

Page 19: A Data API with Security and Graph-Level Access Control

RS ‘Data Basket’

Page 20: A Data API with Security and Graph-Level Access Control

RS Dashboard

Page 21: A Data API with Security and Graph-Level Access Control

Future Work• Query rewriting currently uses the Jena parser,

want to re-implement using SPIN

• Rewrites become CONSTRUCT queries, rather than code

• Make a publicly-accessible instance of the API so people can publish parameterised queries and schedule tests on endpoints