databrickslabs / databrickslabs/ontos
[Feature]: Settings permissions — split sub-menus into separate permissions; add READ/WRITE to root
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 212
- Forks
- 71
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 43
Description
Reported by external stakeholder (codename: dtag) — 2026-05-20
Is there an existing issue for this?
- I have searched the existing issues
Problem statement
The Settings feature currently exposes a single permission scope. As a result, granting a user any meaningful Settings access either lets them into the whole Settings surface or keeps them out entirely. There is no way to express "this user may view Settings and edit only reference data, but must not touch RBAC".
Proposed Solution
Two coordinated changes:
- Split each Settings sub-menu into its own permission scope, e.g.:
settings.connectionsettings.rbac(Roles, Personas, Permissions)settings.jobssettings.gitsettings.reference-datasettings.integrations- (others as enumerated by the Settings view)
- Add a
READ/READ_WRITEcapability to the Settings root so that a user can be granted entry to the Settings view without implicitly being granted any sub-menu capabilities. Sub-menu capabilities then gate each individual section.
The persona/role editor should expose these new capabilities as toggles.
Additional Context
This is the prerequisite for cleanly separating concerns between "Settings administrators" (full control) and "Settings operators" (e.g. reference-data editors). It is also the structural fix that the companion bug ([BUG]: settings:ADMIN implicitly grants admin-level capabilities) depends on.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Settings view and the persona/role editor, then enumerate every Settings sub-menu that needs its own permission scope. Done means the root exposes READ and READ_WRITE capabilities, each sub-menu is independently gated, and the new capabilities appear as editor toggles without granting unrelated access.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authorization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100