Roles & Permissions
The Roles & Permissions screen (Admin → Roles & Permissions, /admin/roles) defines what
users are allowed to do. Access requires the ROLE_MANAGE permission.
Access control has two layers, both edited here:
| Layer | Question it answers |
|---|---|
Permissions |
May this role do X at all? — e.g. create Topics, manage servers, view metrics |
Resource Access |
Which specific Topics, GraphRAG Topics, Agents, and Pipelines may this role see? |
Holding TOPIC_VIEW does not imply access to every Topic — the second layer narrows it down.
1. Screen layout
Two panels side by side:
-
Left — Roles: the list of roles with their descriptions, a
built-inbadge where applicable, and a New Role button. -
Right — Permissions: appears once you select a role. Permission checkboxes grouped into cards, the Resource Access section below, and Save Changes / Delete Role in the header.
Nothing is saved until you press Save Changes.
2. The built-in roles
A fresh installation is seeded with two roles, both flagged built-in:
| Role | Description | Contents |
|---|---|---|
ADMIN |
Full system access |
Every permission, including all admin areas |
USER |
Standard user access |
Topics, GraphRAG Topics, Agents, Pipelines (view/create/edit/delete/start/chat/upload), MCP tools, own profile, and log reading — but no admin permissions |
Built-in roles behave differently from custom ones:
| Built-in | Custom | |
|---|---|---|
Rename |
No |
No (name is fixed at creation) |
Change permissions |
ADMIN: no — checkboxes are disabled and Save is greyed out with the tooltip "Built-in ADMIN role always has all permissions". USER: yes |
Yes |
Delete |
No — the Delete button is disabled |
Yes |
ADMIN is deliberately immutable so an installation cannot be locked out of its own administration.
3. Permission groups
Permissions are grouped into cards, each checkbox with a short description:
| Group | Permissions |
|---|---|
Topics & Chat |
View · Create · Edit · Delete · Start/Stop · Chat · Upload Documents |
GraphRAG Topics & Chat |
View · Create · Edit · Delete · Start/Stop · Chat · Upload Documents (also deleting documents and recomputing communities) |
Agents |
View · Create · Edit · Delete · Start/Stop · Chat |
Pipelines |
View · Create · Edit · Delete |
MCP & Profile |
View MCP Tools · Edit Own Profile |
Server Infrastructure |
View Servers · Manage Servers |
User & Role Management |
View Users · Manage Users · Manage Roles |
System Configuration |
View LLM Config · Manage LLM Config · Auth Settings · View Metrics · Download Deployment Files (the Docker Compose or Kubernetes file of a Topic, GraphRAG Topic or Agent on its Actions tab; it holds every password and key, such as model and database keys, the license and, for an Agent, the client secret its scheduled runs act with — admin role only) |
API |
API Access — use the REST API with a Bearer token |
Logs |
Read Topic Logs · Read All Users' Topic Log Lines · Read Agent & GraphRAG Logs · Read All Users' Agent & GraphRAG Log Lines — the Logs tab of Topics, GraphRAG Topics and Agents. With Read Topic Logs (Read Agent & GraphRAG Logs) alone a user sees the lines of their own questions and uploads and the lines that belong to no user; Read All Users' Topic Log Lines (Read All Users' Agent & GraphRAG Log Lines), admin role only, adds everyone else’s |
DEV Reporting |
Use DEV Reporting · Read All Users' DEV Reports — switch per-operation reports (ingestion, retrieval/chat, pipeline runs) on a container and read them. Reports contain full prompts and document content; not part of the default USER role. On a Topic, GraphRAG Topic or Agent everyone sees only their own reports (a scheduled pipeline run’s belong to the pipeline’s owner); the second permission (admin role only) shows everyone’s |
Every permission that exists has a checkbox here. Save Changes stores exactly the ticked boxes.
The View/Manage split
Most admin areas separate reading from changing. SERVER_VIEW shows AI servers, Docling servers, and
vector databases but hides every Add/Edit/Delete button; SERVER_MANAGE adds them. The same pattern
applies to CONFIG_VIEW/CONFIG_MANAGE and USER_VIEW/USER_MANAGE. This lets you grant read-only
insight into the infrastructure without granting change rights.
Permissions the navigation menu depends on
The Admin menu group appears only if a role holds at least one of SERVER_VIEW, CONFIG_VIEW,
USER_VIEW, ROLE_MANAGE, AUTH_MANAGE, or METRICS_VIEW — and each entry within it is shown
individually per permission:
| Permission | Admin menu entries |
|---|---|
|
Metrics |
|
AI Servers · Docling Servers · Vector Databases · Graph Databases |
|
LLM Configuration · Prompt Templates · Public Endpoints · Mail Server · Mail Templates · License |
|
User Management |
|
Roles & Permissions |
|
OIDC Settings |
If a user reports a missing menu entry, the cause is almost always the corresponding permission in this table.
4. Resource Access
Below the permission cards, four cards list every existing resource with a checkbox each:
| Card | Contents |
|---|---|
Topics |
All Topics, by name |
GraphRAG Topics |
All GraphRAG Topics, by name |
Agent Servers |
All Agents, by name |
Pipelines |
All Pipelines, by name |
Ticking an entry grants this role access to that specific resource. This is the second access layer:
a role needs both the general permission (for example TOPIC_VIEW) and access to the
individual Topic.
Resource assignments are saved together with the permissions when you press Save Changes.
|
New resources: when someone creates a Topic, GraphRAG Topic, Agent or Pipeline, it is granted automatically to the ADMIN role and to every role of its creator. Other roles do not get it. If members of another role should see it, tick it here, or in the access roles of the resource itself. |
5. Creating and deleting roles
New Role
Opens a dialog with Role Name (required, must be unique) and Description (free text, shown under the name in the list).
The role is created with no permissions at all. Select it afterwards, tick what it needs, and press Save Changes. The name cannot be changed later — only the description, permissions, and resource assignments.
Delete Role
Only available for custom roles. A confirmation dialog warns that "Users assigned this role will lose its permissions."
Check for affected users first, under Admin → User Management — the Roles column shows who holds the role. Since every user must have at least one role, deleting the only role a user holds leaves that account without permissions.
6. Recommended setup
-
Leave ADMIN untouched, and give it to as few people as possible.
-
Decide whether USER fits your needs, and adjust it if not.
-
Create purpose-built roles rather than widening
USER— e.g. aREADERrole withTOPIC_VIEW
TOPIC_CHAT+PROFILE_EDITand resource access to a few Topics. -
For read-only oversight, combine the
*_VIEWpermissions without their*_MANAGEcounterparts. -
Grant
API_ACCESSonly to accounts that genuinely drive the REST API from scripts. -
Whenever you add a Topic, GraphRAG Topic, Agent, or Pipeline, check that every role that should see it has it ticked under Resource Access. Only ADMIN and the creator’s roles get it automatically.
7. Troubleshooting
| Symptom | Cause and fix |
|---|---|
Cannot open the screen |
Your role lacks |
Checkboxes greyed out, Save disabled |
You selected the built-in ADMIN role, which always holds all permissions |
Delete button greyed out |
Built-in roles cannot be deleted |
A user has |
Resource Access — no Topics are ticked for their role |
A newly created Topic is invisible to a role |
New resources are granted only to ADMIN and the creator’s roles. Tick it under Resource Access |
The Logs tab says you have no access |
The role lacks the matching permission in the Logs card: Read Topic Logs for Topics, Read Agent & GraphRAG Logs for Agents and GraphRAG Topics |
A whole admin area is missing from the menu |
The corresponding |
Buttons visible but actions refused |
A |
Role name rejected |
A role with that name already exists |
Cannot rename a role |
Names are fixed after creation. Create a new role and reassign the users |
Related
-
User Management — assigning roles to accounts
-
OIDC Settings — mapping SSO groups onto these roles