Repository navigation
docs: document Enterprise ACL inspection functions - #566
Open
glasstiger wants to merge 8 commits into
Open
glasstiger wants to merge 8 commits into
glasstiger wants to merge 8 commits into
Conversation
|
🚀 Build success! Latest successful preview: https://preview-566--questdb-documentation.netlify.app/docs/ Commit SHA: 9a5928e
|
Document the changes from questdb/questdb-enterprise#1222, shipped in QuestDB Enterprise 4.1.0: - Add the Access control functions reference page, covering active_grants() and active_permissions() alongside all_permissions() and permissions(): result columns, scope semantics, inheritance, the implicit designated timestamp permission, DATABASE ADMIN expansion, required permissions, and limitations, with verified examples. - Document that Enterprise administrative functions are rejected in materialized view and live view queries, with the errors returned. - Document how a read-only replica refreshes replicated access lists, and the error returned when a refresh does not finish in 30 seconds. - Link the new functions from RBAC, SHOW, and GRANT, and correct the Enterprise quick start, which described all_permissions() as listing applied permissions.
glasstiger
force-pushed
the
ia_active_permissions
branch
from
October 23, 2026 11:16
da75d46 to
751c035
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents the changes from questdb/questdb-enterprise#1222 and its OSS tandem questdb/questdb#7631, shipped in QuestDB Enterprise 4.1.0:
active_permissions()andactive_grants()ACL table functions.Access control functions page
New reference page, Access control functions (
query/functions/access-control.md), added to the Functions sidebar. It covers all four Enterprise ACL table functions:active_grants()(new in 4.1.0)LIST USERSandUSER DETAILSactive_permissions()(new in 4.1.0)LIST USERSandUSER DETAILSall_permissions()permissions([entityName])USER DETAILSfor other entitiesThe page documents:
nulltable_name. Each combination of entity, permission, table, and column appears once. A permission appears on two scopes when its grant option is narrower than the permission. Grants on tables or columns that do not exist yet are included, whichpermissions()omits.active_permissions()adds toactive_grants(). It adds permissions inherited from groups, the implicit permission on the designated timestamp, and the permissions thatDATABASE ADMINincludes.LIST USERSandUSER DETAILS, even to read your own rows. The page lists theAccess deniederrors a caller gets without them.ASSUME SERVICE ACCOUNTgrants are not listed. Withacl.enabled=falsethe functions return no rows. They cannot be used in materialized or live views, but regular views can call them.origincolumn.Materialized views and live views
Eight Enterprise administrative functions are rejected in materialized view and live view queries:
active_grants(),active_permissions(),backup_instance_name(),backup_status(),backups(),permissions(),reload_tick_calendars(), andreload_tls(). They check the caller's permissions, and a background refresh has no session to check against. This PR documents:concepts/materialized-views.md,concepts/live-views.md,query/sql/create-mat-view.md, andquery/sql/create-live-view.md;administrative function cannot be used in materialized view: <function>error and its live view counterpart, in theCREATE MATERIALIZED VIEWandCREATE LIVE VIEWerror tables.Access control on replicas
New Access control on replicas section in
security/rbac.md:CREATE USERandGRANT.timed out waiting for the access lists to refresh [timeout=30000ms]rather than being authorized against outdated permissions.Related changes
all_permissions()lists applied permissions. It now shows anactive_grants()query for checking grants.active_permissions()andactive_grants();LIST USERSandUSER DETAILS;all_permissions()and says that it lists the available permissions and their grant levels.SHOW PERMISSIONS: links topermissions(), which returns the same rows as a table function. Also links toactive_permissions(), which lists every entity at once.GRANT: points toactive_grants()for grants on tables or columns that do not exist yet, sinceSHOW PERMISSIONSdoes not show them.Dependencies
All merged and included in QuestDB Enterprise 4.1.0:
active_permissions()andactive_grants().