BONSAMURAIS / BONSAMURAIS/triple-store
Configure Jena/Fuseki credentials, permissions, access
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Requirements
In general, we want to enable public read-access (as a SPARQL endpoint). Including queries from the web-all widget.
In the case of abuse or overuse, we may need to restrict access to only the widget.
Write access should always be restricted to:
1. developers
2. the continuous integration pipeline
At the moment, the devs and CI use the same account. There is only the administrator login. Tom and Tomas have the details (ask us if needed).
## Open Challenge
How can we manage the permissions model described above with our Aalborg Server & Jena-Fuseki instance?
## Some ideas/notes
https://jena.apache.org/documentation/fuseki2/fuseki-security.html
> Fuseki2 provides security by using Apache Shiro
**Perhaps the default configuration described at that page is already satisfactory??**
https://shiro.apache.org/configuration.html#Configuration-INISections
We can add static usernames and passwords in the file described here. Can also configure hashing etc. so they're not stored there in plaintext.
> Once Shiro has been configured to perform user authentication it provides a good foundation on which the Jena Permissions layer can be configured.
https://jena.apache.org/documentation/permissions/
> Jena Permissions is a SecurityEvaluator interface and a set of dynamic proxies that apply that interface to Jena Graphs, Models, and associated methods and classes. It does not implement any specific security policy but provides a framework for developers or integrators to implement any desired policy...
The developer using Jena Permissions is required to implement a SecurityEvaluator that provides access to the Principal (User) using the system and also determines if that Principal has the proper access to execute a method. Through the SecurityEvaluator the developer may apply full CRUD (Create, Read, Update, and Delete) restrictions to graphs and optionally triples within the graphs.
https://jena.apache.org/documentation/permissions/example.html
> The goal of this document is to add Jena Permissions to a fuseki deployment to restrict access to graph data.
Is there an easier/better way to meet the requirements than described in these documents?
Is anyone able to take on this task?
_Part of #1_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked Apache Jena Fuseki security, Apache Shiro configuration, and Jena Permissions documentation against the Aalborg Server setup. Define how public read access, restricted widget access, and separate developer and CI write access will be configured; done means the permissions model is agreed and documented or implemented.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, authorization, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100