SwissDataScienceCenter / renku-graph

renku-graph
https://renku.readthedocs.io/en/latest/reference/services/graph-services.html?highlight=graph#graph-services
Apache License 2.0
10 stars 2 forks source link

Spike: find out if we can secure our KG with ACLs #260

Closed jachro closed 2 years ago

jachro commented 4 years ago

As a Renku user, I don't want metadata of my or my organisation private/internal projects to be queryable by users not having access to them.

Acceptance criteria:

A start point can be this: https://jena.apache.org/documentation/fuseki2/data-access-control

jachro commented 4 years ago

The spike findings:

PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?dsId ?prjId
WHERE {
  ?dsId rdf:type <http://schema.org/Dataset>;
        schema:isPartOf ?prjId
}

the result set will contain only datasets from either public projects or projects the user has access to.

*

PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?dsId
WHERE {
  ?dsId rdf:type <http://schema.org/Dataset>
}

the result set will contain info also about datasets linked to projects the user has no access to. So there's still quite some responsibility on the developers who build SPARQL queries. For the time being not so sure how to overcome that and not making the Evaluator running some additional querries which could have some detrimental effect on the KG performance.

rokroskar commented 2 years ago

is the answer yes? or 42? 🤖

jachro commented 2 years ago

We decided a non-Jena specific option would work better for us. So we ended up with the service level verification based on the GitLab and Triples Store members.