Skip to main content
07 / Reference · 7.3

Roles and permissions

What each role can do, what an API token can do, and in what order the panel checks a request.

Type
Reference
Version
unreleased
Last verified
Unverified

Every account has exactly one of three roles. To assign them see users and roles.

RoleAPI valueReach
AdministratoradminThe whole server.
OperatoroperatorIts assigned sites only, and their staging copies.
Read-onlyreadonlySees the whole server, changes nothing.

How the panel decides​

Every request goes through these checks, in this order. The first one that refuses answers.

A site out of an operator's reach answers 404, not 403: the panel does not confirm that it exists.

Route rules​

Every API route has one of these rules.

RuleAdministratorOperatorRead-only
openyesyesyes
signed inyesyes, on assigned sitesyes
whole server (global)yesnoyes
manage (manage)yesyes, on assigned sitesno
administrator (admin)yesnono

What each role can do​

Sees means read; yes means change too. For the operator, everything holds on its assigned sites only.

AreaAdministratorOperatorRead-only
Site list and detailsyessees its ownsees
Create and delete sitesyesnono
Site settings and PHP versionyesyesno
Routing editor (Vhost)yesnono
Site certificatesyesyessees
Purge and warm the cacheyesyessees the statistics
Releases: deploy, promote, roll backyesyessees
Staging and Safe Pushyesyesno
Backups: run, restore test, restoreyesyessees
Backups: delete, retention, test the repositoryyesnono
Files: listyesyessees
Files: read, write, upload, downloadyesyesno
Databases and database users: create, delete, privileges, passwordsyesyessees
Quarry from the panel: tables and structureyesyesyes
Quarry from the panel: rows, SQL editor, search, export, importyesyesno
Quarry from the panel: writes in the SQL editoryes, with Allow writesyes, with Allow writesno
WordPress: wp-admin sign-in, updates, object cacheyesyessees the plugins
SFTP access and "SFTP only" keysyesyessees the keys
Site shell and "shell" keysyes, from a sessionnono
Scheduled tasksyesyessees
Import a migrationyesyes, without changing the expansion limitno
A site's logsyesyesyes
Server logs, services, firewall, status and metricsyesnosees
Restart services, firewall rulesyesnono
Changes made outside the panelyesnosees
Audit logseesnosees
Panel settingsyesnosees (secrets masked)
Panel domain, panel updatesyesnono
Alertssees, dismissessees its own, dismissessees
Background taskssees, cancelssees its own, cancels its sites'sees
Usersyes, from a sessionnosees
API tokensyes, from a sessionnono
Your own account: password, 2FA, sessions, profileyesyesyes

API tokens​

An API token has no permissions of its own: it acts as the administrator who created it, while that owner is an enabled administrator, and follows the same two-step verification rule. There are no tokens limited to one area. Only an administrator creates tokens.

A token never reaches the session-only routes: your own account (password, 2FA, sessions, profile), users, tokens and the site shell. Nor can it add a key of type "shell". These refusals answer 403. A token cannot open Quarry either.

A database user signed in to Quarry with its own password has no panel role: its MariaDB privileges decide (see How Quarry works).

The panel revokes an account's tokens when its password is changed or reset, when it turns two-step verification off, when it is disabled, demoted or deleted, and with panel-api recover-admin.

The connector token​

Every WordPress site has a connector token, separate from the accounts, which only the site's plugin uses to ask the panel to purge its pages from the cache. It gives access to nothing else.

Next step​

Create the accounts with the right role: users and roles.

Was this page useful?
Edit this page ↗