Skip to content

docs(acl): document permission-based object visibility - #597

Open
glasstiger wants to merge 7 commits into
mainfrom
ia_hide_tables_without_access
Open

glasstiger wants to merge 7 commits into
mainfrom
ia_hide_tables_without_access

Conversation

@glasstiger

@glasstiger glasstiger commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Documents permission-based object visibility, which QuestDB Enterprise 4.1.0 introduced in https://github.com/questdb/questdb-enterprise/pull/1248 and its Open Source counterpart, questdb/questdb#7687. Principals no longer see the tables, views, materialized views, and live views they hold no permission on, and statements that name such an object fail like they do for a missing one.

  • RBAC: new object visibility section covering the visibility rules (group grants, assumed service accounts, DATABASE ADMIN, SYSTEM ADMIN, and ON ALL TABLES grants), protected and public tables, the metadata any permission discloses, a table of the missing-object errors that replace Access denied, the breaking change, and the paths that still reveal that an object exists.
  • Views: table-name functions and SHOW statements in a view's definition read through the view's authority, objects substituted through OVERRIDABLE variables resolve as the reader, and tables named by table-name functions are now view dependencies.
  • Materialized and live views: which functions and SHOW statements count as catalogue functions, the SYSTEM ADMIN requirement for using them in a view's own query, their rejection through regular views, and the new errors.
  • Meta functions: SYSTEM ADMIN for reader_pool(), writer_pool(), and hydrate_table_metadata(), protected tables in wal_tables(), and visibility for table_cold_partitions() and storage_policies, including the 4.1.0 requirement for SELECT on sys.sp_entries and sys.sp_links.
  • SQL reference: hidden-object errors for GRANT, REVOKE, SHOW, DROP, and the view, materialized view, and live view statements.
  • Upgrade: QuestDB Enterprise 4.1.0 checklist.
  • Other pages: row-level security and copy-schema cookbooks, agents guide, and Schema Explorer. Changelog entries, including the 10.1.0 and 4.1.0 releases.
  • Corrections: the RBAC WITH VERIFICATION example claimed it checks the table, but it checks the grantee. Only the built-in admin can grant on a table that does not exist yet.

Error messages and examples were checked on a running build of the 4.1.0 sources. COPY PERMISSIONS, which the Enterprise PR also changes, has no reference page and is not covered.

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

🚀 Build success!

Latest successful preview: https://preview-597--questdb-documentation.netlify.app/docs/

Commit SHA: 0cffdfb

📦 Build generates a preview & updates the link on each commit.

QuestDB Enterprise 4.1.0 hides tables, views, materialized views, and
live views from principals that hold no permission on them
(questdb-enterprise#1248, questdb#7687).

- Add an object visibility section to the RBAC page: visibility rules,
  protected and public tables, the metadata any permission discloses,
  the missing-object errors that replace Access denied, and the paths
  that still reveal an object exists.
- Document the catalogue function restrictions for materialized and
  live views, and metadata functions inside views.
- Note the SYSTEM ADMIN requirement of reader_pool(), writer_pool(),
  and hydrate_table_metadata(), and how wal_tables(), storage_policies,
  and table_cold_partitions() follow visibility.
- Update GRANT, REVOKE, SHOW, DROP, and view statement error tables,
  the related cookbooks, and add a 4.1.0 upgrade checklist.
- Correct the WITH VERIFICATION example, which checks the grantee, and
  state that only the built-in admin can grant on a missing table.
- Add changelog entries and the 10.1.0 and 4.1.0 releases.
@glasstiger
glasstiger force-pushed the ia_hide_tables_without_access branch from 8de5686 to 61ddced Compare October 22, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant