Roles and Permissions

UTMStack v12 controls what each user can do with roles. A role is a named set of permissions, and a user can hold several roles. UTMStack ships three built-in roles, and you can create your own. This page lists every permission and what each built-in role includes.

Where to manage roles

Go to Configure > Team and open the Roles & permissions tab. The tab lists every role with its number of permissions and modules, and a Permission matrix that shows what each role can do, module by module.

PermissionAllows
roles.readSee roles and the list of permissions
roles.writeCreate, edit and delete your own roles

To give a role to a user, see Users.

Built-in roles

The three built-in roles are the same in every tenant. They are marked System and cannot be edited or deleted.

RoleIdentifierPurposePermissions
AdministratorROLE_ADMINFull access, including users, roles and configurationAll 42
AnalystROLE_ANALYSTRuns the security operations: triages alerts, works incidents and launches response actions27: every read permission, plus alerts.write, incidents.write, soar.write, loganalyzer.write, dashboards.write and notifications.write
ViewerROLE_VIEWERReads everything and changes nothing21: every read permission

What this means in practice:

  • Analysts cannot change users, roles, settings, identity providers, correlation rules, pipelines, integrations, data sources, compliance or retention.

  • Analysts can run commands on agent hosts through the Interactive Console, because it uses soar.write. They cannot start a response flow by hand: that needs soar.execute, which only the Administrator role has.

  • The SOC-AI assistant and its Ask buttons appear in the interface only for users who hold socai.write, which among the built-in roles only Administrator has. See AI Providers.

Things that need the Administrator role itself

A few things are tied to the Administrator role, not to a permission. A custom role with the same permissions does not give them.

  • The Configure menu (Data Sources, Integrations, Alerting Rules, Pipelines, Data Processing, Team and Settings) is shown only to users with the Administrator role.

  • Viewing and regenerating the Connection Key.

  • Setting Support access for a customer tenant (see Support Access).

  • Operator-only pages and actions (the licence, data retention, the ThreatWinds switches, tenants) need the Administrator role in the default tenant. See Settings Overview.

All permissions

A check mark means the built-in role has the permission.

PermissionWhat it allowsAdministratorAnalystViewer
users.readList and view users✓✓✓
users.writeCreate and update users, assign their roles, reset their two-step sign-in✓
users.deleteDeactivate users✓
roles.readList and view roles and the permission list✓✓✓
roles.writeCreate, update and delete the tenant's own roles✓
idp.readList and view identity providers✓✓✓
idp.writeCreate, update and delete identity providers✓
tenant.readList and view tenants (instance operator only)✓✓✓
tenant.writeCreate, update, deactivate and delete tenants (instance operator only)✓
config.readRead application settings✓✓✓
config.writeChange application settings, including email and branding✓
audit.readList and view audit log entries✓✓✓
notifications.readList and view notifications✓✓✓
notifications.writeMark notifications read and delete them✓✓
alerts.readList and view alerts, tags and tagging rules✓✓✓
alerts.writeUpdate alerts and manage alert tags and tagging rules✓✓
incidents.readList and view incidents, their alerts, notes and history✓✓✓
incidents.writeCreate and manage incidents, their alerts and notes✓✓
soar.readList and view response flows and their execution history✓✓✓
soar.writeCreate, change and delete response flows and variables; run commands in the Interactive Console✓✓
soar.executeStart a response flow by hand✓
compliance.readList and view frameworks, controls, reports and score history✓✓✓
compliance.writeManage frameworks and controls, run evaluations, record verdicts on a report and manage report schedules✓
dashboards.readList and view dashboards and widgets✓✓✓
dashboards.writeCreate, update and delete dashboards and widgets✓✓
loganalyzer.readSearch logs and view saved queries✓✓✓
loganalyzer.writeCreate, update and delete saved queries✓✓
datasources.readList and view data sources✓✓✓
datasources.writeChange data source labels and asset sensitivity, and delete data sources✓
eventprocessing.readList and view correlation rules and pipelines✓✓✓
eventprocessing.writeCreate, update and delete correlation rules and pipelines; test them in the playground✓
integrations.readList integrations and their configuration✓✓✓
integrations.writeActivate integrations and manage their configuration✓
adaudit.readView the User Auditor account inventory✓✓✓
adaudit.writeCreate and manage identity aliases in the User Auditor✓
threatintel.readSearch threat intelligence and its feeds✓✓✓
storage.readSee retention settings and what the event store holds (instance operator only)✓✓✓
storage.writeChange retention and configure cold storage (instance operator only)✓
socai.readUse the SOC-AI assistant through the API✓✓✓
socai.writeConfigure the SOC-AI provider; also needed to see the SOC-AI assistant in the interface✓
apikey.readList your own API keys✓✓✓
apikey.writeCreate, rotate, edit and delete your own API keys✓

Permissions marked "instance operator only" work only for a user with the Administrator role in the default tenant, whatever roles they hold.

Create a custom role

  1. 1

    Start a new role

    Go to Configure > Team, open Roles & permissions and click New role.

  2. 2

    Name the role

    FieldWhat to enter
    IdentifierA unique name used in the API, 2 to 50 characters. It starts as ROLE_; complete it, for example ROLE_AUDITOR.
    Display nameThe name people see, for example Auditor
    DescriptionWhat the role is for
  3. 3

    Choose the permissions

    Under Permissions, tick the permissions the role needs. Use all to select every permission of a module.

  4. 4

    Save

    Click Save role, then give the role to users on the Members tab.

To change a custom role, click Edit on it. To remove it, click Delete. Users who hold only that role are left without access to any module.

Custom roles belong to the tenant they were created in. You see "Role created", "Role updated" or "Role deleted"; "role name is already in use" means the identifier is taken, and "System roles cannot be modified" appears if you try to change a built-in role, and also when your own roles lack roles.write.

Which permissions each screen needs

Apart from a few places (the SOC-AI assistant, identity alias actions in the User Auditor and some integration controls), the interface does not hide buttons by permission. A user who lacks a write permission usually still sees the button, and gets "You do not have permission to do that" or a similar error when using it. Use this table to give each role what its screens need.

ScreenTo viewTo change
Overview (home page)alerts.read and loganalyzer.read for the alert cards; the other cards need datasources.read, eventprocessing.read, incidents.read, soar.read and compliance.read
Alerts, tags and tagging rulesalerts.read and loganalyzer.readalerts.write
Incidentsincidents.readincidents.write
Log Explorerloganalyzer.readloganalyzer.write for saved searches
Dashboardsdashboards.readdashboards.write; the widget editor also needs loganalyzer.read
Automated response flows and execution historysoar.readsoar.write; soar.execute to run a flow by hand
Interactive Consolesoar.writesoar.write to run commands on agents
Compliancecompliance.readcompliance.write
Threat intelligencethreatintel.read
User Auditoradaudit.readadaudit.write
Data Sourcesdatasources.readdatasources.write
Integrationsintegrations.readintegrations.write
Alerting Rules, Pipelines, Data Processingeventprocessing.readeventprocessing.write
Teamusers.read, roles.readusers.write, users.delete, roles.write
Notificationsnotifications.readnotifications.write
App Audit Logsaudit.read
Email Configuration, Date Format, Language, Brandingconfig.readconfig.write
Identity Providersidp.readidp.write
API Keys (own keys only)apikey.readapikey.write

Pages a custom role reaches by address

Users without the Administrator role do not see the Configure menu, even when their role allows the pages in it. They can open those pages by typing the address, and the permissions in the table above still apply:

PageAddress
Data Sourceshttps://siem.example.com/datasources
Integrationshttps://siem.example.com/integrations
Alerting Ruleshttps://siem.example.com/alerting-rules
Pipelineshttps://siem.example.com/pipelines
Data Processinghttps://siem.example.com/data-processing
Teamhttps://siem.example.com/team
App Audit Logshttps://siem.example.com/settings/audit-logs
API Keyshttps://siem.example.com/settings/api-keys

Replace siem.example.com with your UTMStack address. Bookmarks help these users.

Example custom roles

These examples show how to combine permissions for common jobs. Adjust them to your organization.

SOC tier 1 analyst

Triages alerts and works incidents, but cannot run commands on endpoints or change flows.

alerts.read, alerts.write, incidents.read, incidents.write, loganalyzer.read, loganalyzer.write, dashboards.read, notifications.read, notifications.write, soar.read, threatintel.read, adaudit.read, datasources.read

Compared with the built-in Analyst, this role cannot use the Interactive Console or edit dashboards.

Incident responder

Everything a tier 1 analyst can do, plus containment.

The tier 1 permissions, plus soar.write (create and change flows, run commands on agents through the Interactive Console) and soar.execute (run flows by hand).

The Interactive Console asks for the user's own UTMStack password before it runs commands. Users whose accounts were created by single sign-on have no UTMStack password, so give responders accounts with a local password if they need the console.

Detection engineer

Writes and tests correlation rules and parsing pipelines.

eventprocessing.read, eventprocessing.write, loganalyzer.read, loganalyzer.write, alerts.read, datasources.read, integrations.read, dashboards.read, dashboards.write

Users with this role open Alerting Rules and Pipelines by address (see above).

Compliance auditor

Reads compliance results and the audit trail, changes nothing.

compliance.read, audit.read, dashboards.read, loganalyzer.read, alerts.read, incidents.read

Users with this role open App Audit Logs by address.

Tips for designing roles

  • Give people the smallest role that lets them do their work. Start from Viewer and add permissions as needed.

  • Treat users.write and roles.write as administrator rights: anyone who can create roles and assign them can give themselves any permission.

  • soar.write lets the holder run commands on agent hosts through the Interactive Console. Give it only to people you trust with that access.

  • Changes to a user's roles reach their open sessions within one hour, when their sign-in renews.