Skip to content

Documentation

Role-Based Access Control

Build custom roles from permissions, assign them to people, require MFA per role, and see which page needs which permission.

Overview

Role-Based Access Control (Admin → Security → RBAC, /admin/security/rbac) decides what each person can see and do. A permission allows one kind of action, for example assets:read or scans:write. A role is a named set of permissions. People get permissions only through the roles they hold, and a person who holds several roles has every permission of all of them.

DeviceQuest has one built-in system role, admin. It holds every permission, and DeviceQuest adds new permissions to it automatically when they are introduced. You can’t rename, edit or delete it. Every other role is a custom role that you create, edit, clone and delete as you need, for example a read-only auditor role or an analyst role.

Viewing roles needs roles:read. Creating and editing roles, changing members and changing the MFA requirement need roles:write. Deleting roles needs roles:delete.

Screen tour

  1. New role: opens Create role.
  2. Summary: how many Roles there are, split into System and Custom, the total Members, how many distinct Permissions the roles grant, and how many roles have MFA required.
  3. Access change activity: a sentence such as “7 roles managing 2 users across 59 permissions.”, how many roles changed this week, and when the last change happened. Role changes charts role updates per day over the last 14 days. Click “N roles changed this week” to sort by most recently updated, or click the time of the last change to open that role.
  4. System roles and Custom roles: jump to that section. Each shows how many roles it contains.
  5. Search roles…: filters by role name or description.
  6. Class filter: All roles, System or Custom.
  7. Sort by: Name A–Z, Name Z–A, Most members, Fewest members, Recently updated or Oldest update.
  8. View: a table or a grid of cards. DeviceQuest remembers your choice in this browser.
  9. Export: downloads all roles as rbac-roles.csv.
  10. Class chip: system for admin, custom for every other role.
  11. Row actions: Edit role, Clone role and Delete role. Delete role appears on custom roles only.

Each row shows the role’s Role name and description, its Class, a Permissions bar with the permission count, how many Members hold it, an MFA badge when MFA is required, and when it was Updated. The Permission mix legend explains the bar’s colours:

ColourCounts permissions that…
Readonly read data, for example assets:read.
Writecreate or change data, for example assets:write.
Adminadminister a feature, for example admin:manage or vulnerabilities:admin.
Dangerousdelete data, for example assets:delete or roles:delete.

Click a row to open the role in a side panel. The filters, sort order, open role, open tab and open dialog are kept in the address bar, so you can share a link to a role or to a filtered list. A banner such as “2 new roles since your last visit” points out roles created since you last opened the page; click × to dismiss it.

Role details

  1. Class and MFA: the system or custom chip, and MFA required when the role requires it. Below the name you see the description and when the role was updated and created.
  2. Edit: rename the role or change its description. On admin it opens a read-only View role dialog.
  3. Clone: create a new role that starts from this one’s permissions.
  4. Copy ID: copies the role ID to the clipboard.
  5. MFA required: the switch that requires multi-factor authentication for everyone holding the role.
  6. Delete: deletes a custom role.
  7. Tabs: Overview, Permissions, Members and History.

The side panel’s title shows the role name and the start of its ID. Every role also has a page of its own at /admin/security/rbac/<role ID>, with the same hero and tabs and a Back to RBAC link; the Roles summary on Users links there.

  • Overview lists the Role ID, Class, number of Permissions and Members (click either to jump to its tab), MFA required, Created and Updated, and the role’s top five Permission categories with a count each.
  • Permissions shows and edits the role’s permissions. See Change a role’s permissions.
  • Members lists who holds the role. See Manage members.
  • History lists every change to the role: who made it, what it was (created, updated, deleted, user assigned, user removed or MFA policy updated), when, the recorded details and the IP address. Choose Last 7d, Last 30d, Last 90d or All time, and click Load more for older entries. Click a details block to expand it.

Create a role

  1. Role name: required, for example Security Analyst.
  2. Description: optional. Say what people with this role do.
  3. Permissions: every permission, grouped by area. Tick the ones the role grants. The label shows how many are selected.
  4. Cancel: closes the dialog without creating a role.
  5. Create role: creates the role.
  1. Click New role (or press n).
  2. Enter a Role name and, optionally, a Description.
  3. Tick the Permissions the role needs. Use the permission reference and the page access table to choose.
  4. Click Create role.

The new role appears under Custom roles with “Role “name” created”. Give it to people from its Members tab, from User details, or when you invite them.

Grant only what the role needs. For a read-only role, pick the :read permissions of the areas people must see. Add a :write, :delete or :admin permission only for the areas where they act.

Clone a role

Cloning is the quickest way to make a variant of an existing role, including admin.

  1. Click Clone in the role’s hero, or Clone role on its row (or press c).
  2. In Clone “role”, change the New role name. It starts as “Copy of role”.
  3. Adjust the Description and the ticked Permissions. All of the source role’s permissions start ticked.
  4. Click Clone role.

The clone is a new custom role with no members.

Edit a role

  1. Click Edit in the role’s hero, or Edit role on its row (or press e).
  2. Change the Role name or Description.
  3. Click Save.

The system role admin opens in a read-only View role dialog that says “System roles cannot be renamed.”

Change a role’s permissions

  1. This role: the permissions the role grants, grouped by area, with a count. Untick one to remove it. Filter the list with Filter permissions….
  2. Search catalog…: searches the Full catalog of every permission by name or area.
  3. Tick a permission in Full catalog to add it to the role.
  4. Change bar: shows how many permissions you are adding (+N) and removing (−N), or No changes. Reset discards your changes; Save applies them.
  1. Open the role and select the Permissions tab.
  2. Tick permissions in Full catalog to add them, and untick them in either list to remove them.
  3. Click Save.

DeviceQuest confirms with “Permissions updated”. Everyone holding the role gets the new permissions. The admin role’s permissions are fixed: its tab says “System role permissions cannot be modified. View them in the catalog below.”

Delete a role

  1. Click Delete in a custom role’s hero, or Delete role on its row (or press d).
  2. Read the dialog. It tells you how many members the role has; they lose every permission the role grants.
  3. If the role has members, type the role name in Type name to confirm.
  4. Click Delete role, or Cancel.

DeviceQuest confirms with “Role deleted”. When you delete a role from its own page, you return to the role list.

You can’t delete admin, and you can’t delete a role while a pending invitation uses it: DeviceQuest says “cannot delete a role with a pending invitation; revoke the invitation first”. Revoke the invitation on Users first.

Require MFA for a role

When a role requires MFA, everyone who holds it must use multi-factor authentication. People who aren’t enrolled yet are asked to enroll at their next sign-in.

  1. Open the role.
  2. Click the MFA required switch.
  3. Read the dialog. Enable MFA requirement says “Users holding the “role” role will be prompted to enroll in MFA on their next login.” Disable MFA requirement says they will no longer be required to have MFA enrolled. Both apply to everyone currently holding the role.
  4. Click Enable MFA or Disable MFA, or Cancel.

You can set the requirement on admin too. For an overview of enrollment across roles, and to help people who aren’t enrolled, see MFA policy.

Manage members

  1. Search members…: filters members by email or name.
  2. Add users: opens Assign users to “role”.
  3. you: marks your own account.
  4. Remove: removes this person from the role after you confirm.

Add people to a role

  1. On the Members tab, click Add users.
  2. In Assign users to “role”, search with Search by email or name… and tick the people to add. People who already hold the role aren’t listed.
  3. Click Assign N users.

Remove people from a role

  • To remove one person, click the remove icon on their row and confirm with Remove. If it’s your own account, the dialog warns “Warning: you are removing yourself from this role.”
  • To remove several people from a custom role, tick them, click Remove N, optionally pick a Reason (Left organisation, Role no longer needed, Compliance review or Other) and add Notes, then click Remove N users.

DeviceQuest always keeps at least one active admin: you can’t remove your own admin role, and you can’t remove admin from the last active admin. See At least one admin must remain.

Act on several roles

Tick roles in the list to show the bulk bar at the bottom of the page:

  • MFA policy: Require or Make optional sets the MFA requirement on every selected role, and reports how many roles changed.
  • Export N: downloads the selected roles as rbac-roles.csv.
  • Delete N: deletes the selected custom roles after you confirm with Delete roles. It is unavailable while admin is selected.
  • ×: clears the selection.

Export roles

Export in the toolbar, or Export N in the bulk bar, downloads rbac-roles.csv with one row per role and the columns ID, Name, Description, Class (system or custom), Permission Count, User Count, Requires MFA (yes or no), Created and Updated.

Fields

FieldDescriptionRules
Role nameThe role’s name, shown everywhere roles appear.Required. Unique in your workspace. Fixed for admin.
DescriptionWhat the role is for.Optional.
PermissionsThe permissions the role grants.Any set, including none. Fixed for admin.
MFA requiredWhether holders must use MFA.Off by default for new and cloned roles.

Statuses

ClassMeaningCan change to
systemThe built-in admin role. It holds every permission and can’t be renamed, edited or deleted.—
customA role you created or cloned. Fully editable.—

Permission reference

These are all the permissions in DeviceQuest, grouped by area as the permission pickers show them. The admin role holds all of them.

Administration and security

PermissionDescription
admin:manageManage admin settings
api_keys:readRead API key data
api_keys:writeCreate and revoke API keys
audit:readView audit log events and facets
mfa:readView own MFA enrollment status and audit trail
mfa:writeManage own MFA enrollment and backup codes
roles:readRead role data
roles:writeWrite role data
roles:deleteDelete roles
sso:readRead SSO configuration and audit events
sso:writeConfigure, test, disable, delete, and refresh SSO providers
users:readRead user data
users:writeWrite user data
users:deleteDelete users

Assets and discovery

PermissionDescription
assets:readRead asset data
assets:writeWrite asset data
assets:deleteDelete assets
assets:manageModerate (edit or delete) other users’ asset comments
topology:readRead network topology
scans:readRead scan data
scans:writeWrite scan data
credentials:writeCreate and update scan credentials
curation:readRead the normalization curation queue
curation:writeApprove / reject normalization curation items

Risk

PermissionDescription
vulnerabilities:readRead vulnerability triage data
vulnerabilities:writeAcknowledge / assign / dismiss / resolve vulnerability matches
vulnerabilities:adminConfigure vulnerability feed sources and trigger syncs
remediation:readRead remediation tasks
remediation:writeCreate and update remediation tasks
exceptions:requestRequest a risk-acceptance exception on a vulnerability match
exceptions:approveApprove, reject, or revoke risk-acceptance exceptions

Cloud

PermissionDescription
cloud:connector:readRead cloud connectors and their status
cloud:connector:writeCreate and remove cloud connectors
cloud:connector:runTrigger a cloud connector discovery run
cloud_costs:readRead cloud cost data
cloud_costs:writeCreate and update cloud cost budgets
posture:readRead cloud posture checks
posture:writeRun cloud security posture scans

Govern

PermissionDescription
compliance:readRead compliance reports and controls
compliance:writeGenerate and export compliance reports
licenses:readRead software licenses and compliance
licenses:writeCreate, update and delete software licenses
reports:readRead reports
reports:writeCreate, edit and delete saved reports
exports:readRead export data

Dashboards, views and automation

PermissionDescription
dashboard:readRead dashboard metrics
dashboard:writeCreate and manage dashboards and widgets
views:readRead custom views
views:writeCreate, update, delete and share custom views
flows:readRead automation flows and executions
flows:writeCreate and update flows
flows:commandApprove high-risk local command actions in automation flows
helpdesk:readRead helpdesk tickets and comments
helpdesk:writeCreate, update, comment on, and delete helpdesk tickets

Integrations

PermissionDescription
connectors:readRead third-party connector configurations
connectors:writeCreate, update, and delete third-party connector configurations
webhooks:readRead outbound webhook endpoints and deliveries
webhooks:writeCreate, update, delete and test outbound webhooks

Which page needs which permission

To open a page, a person needs at least one of the permissions listed for it. Without one, DeviceQuest shows an Access restricted page instead (see Signing in). A rule also covers every page below its path, for example /assets/<id>. Actions inside a page can need more, typically the matching :write, :delete or :admin permission.

PagePathNeeds any of
Dashboard/dashboarddashboard:read
Asset Inventory/assetsassets:read
Scanning (schedules, targets, credentials, profiles)/scanningscans:read
Scan Results/scan-resultsscans:read
Ingestion/ingestionassets:write
Vulnerabilities/vulnerabilitiesvulnerabilities:read
Remediations/remediationsremediation:read
Exceptions/exceptionsexceptions:request, exceptions:approve
Cloud Resources/cloudcloud:connector:read, cloud_costs:read, posture:read
Compliance/compliancecompliance:read
Licenses/licenseslicenses:read
Reports/reportsreports:read
Flows/flowsflows:read
Views/viewsviews:read
Helpdesk/helpdeskhelpdesk:read
Developer/developerwebhooks:read, api_keys:read
Integrations/integrationsconnectors:read
Users/admin/usersusers:read
Host agents/admin/host-agentsadmin:manage
Enroll an agent/admin/host-agent-setup, /admin/windows-agentadmin:manage
Software curation/admin/curationcuration:read
Roles and permissions/admin/security/rbacroles:read
MFA policy/admin/security/mfaroles:read
Audit retention/admin/security/audit-retentionadmin:manage
Single sign-on (SAML)/admin/security/ssosso:read, admin:manage
API keys/admin/security/api-keysapi_keys:read
Audit log/admin/audit-logaudit:read, admin:manage
CVE feeds/admin/cve-feedsvulnerabilities:admin
Cleanup rules/admin/cleanup-rulesadmin:manage
Custom fields/admin/custom-fieldsadmin:manage

Pages that aren’t listed, such as your profile and MFA Settings, are open to every signed-in user.

Keyboard shortcuts

These work on the role list when you aren’t typing in a field.

KeyAction
j / kMove the focus to the next or previous role.
EnterOpen the focused role.
/Focus Search roles….
nOpen Create role.
eEdit the focused role.
cClone the focused role.
dDelete the focused custom role.
g then sJump to System roles.
g then cJump to Custom roles.
EscClose the open role or dialog.
← →, Home / EndIn the role side panel, move between tabs.