openlink / virtuoso-opensource

Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform
https://vos.openlinksw.com
Other
868 stars 210 forks source link

How to expose a R/O SPARQL endpoint? #1297

Closed claudiu-cristea closed 6 months ago

claudiu-cristea commented 6 months ago

Our application is interacting with Virtuoso by making API calls (GET & POST) to the SPARQL endpoint, http://virtuoso:8890/sparql. This endpoint is not publicly accessible. We want to offer a public endpoint, say https://virtuoso/sparql (port 443), but we want to allow only read queries. No inserts, no deletions, no updates. Only SELECT, ASK, etc...

HughWilliams commented 6 months ago

The Virtuoso default ~/sparql endpoint is read-only by default, and the default ~/sparql-auth endpoint challenges for digest authentication, which, if successful, then allows read and/or write access depending on what SPARQL roles (e.g., SPARQL_SELECT, SPARQL_UPDATE) the authenticated user has been assigned in the database.

claudiu-cristea commented 6 months ago

Tested /sparql-auth and works with a new user having SPARQL_SELECT permission. Thank you!