Problem
We would like to create a database user in a Datasphere space that has read access to all local tables within that space, without having to manually expose each table via a view individually.
The standard approach requires exposing every object explicitly before it becomes visible to the Open SQL Schema user (<space>#<user>). In our case, the space contains a large number of local tables, and maintaining individual exposure per table is not practical, especially as new tables are added continuously.
What we are looking for is a way to grant blanket read access to all local tables in a space for a database user, similar to a GRANT SELECT ON SCHEMA <schema> TO <user> in SAP HANA, without the per-object exposure step in Datasphere.
Questions
Is there a supported way to grant schema-level or space-level read access to all local tables for an Open SQL Schema database user, without exposing each object individually?
If not, is there a supported workaround to automate bulk exposure?
Any input or experience with this is appreciated.
Request clarification before answering.
No go. Security. No Tables can be directly read via Open SQL.
Workaround:
- create CLI script: Creates Exposed Views from Tables (naming convention will help to identify the tables properly). Python.
- create DB Procedure: Get all Exposable Objects and Grant Select. SQL
- run each hour f.e.
This way you fully automated the process.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.