Closed jachro closed 2 years ago
The spike findings:
admin
and renku
as well as users which are authenticated in some external system (GitLab). The credentials of the privileged users are read from the shiro.ini
config file as it's being done now. The approach for the external service users would be that they will be introducing themselves to the Jena API with an external service token (given as password; shiro in the version used by Jena does not allow using bearer tokens) which then the realm would use to authenticate against the external service and fetch projects they are authorized to. The projects potentially can simply serve as users roles.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.
config.ttl
should look like considering the requirements for the custom plugins and settings we've already got for the Lucene indices.jena
module of the renku-graph
repo (jena-security
branch).is the answer yes? or 42? 🤖
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.
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