Skip to content

Users & RBAC

Admins create and manage user accounts under Admin → Users, and control what data each user can see with a per-user access allowlist.

The Users panel: accounts with their role and data-access scope, plus the SSO status

Creating users

There's no self-signup — an admin creates each account (userid, email, display name, and whether they're an admin). HeliosLogs generates a strong password (a 20-character random string) and shows it once at creation; hand it to the user. The password is stored only as a PBKDF2 hash, never in plaintext.

You can edit a user's details, regenerate their password (shown once again), toggle admin, and delete accounts.

Roles

RoleCapabilities
AdminFull access to the admin console and to all data, bypassing the allowlist.
StandardSearch, dashboards, saved searches, alerts, and the agent — within their data-access allowlist.

Data-access allowlist (RBAC)

Each standard user carries an env/index allowlist that scopes what they can read. A rule names an environment and, optionally, specific indexes within it:

  • Empty allowlistfull access: every non-system environment and every index, including ones added later.
  • One or more rules → scoped: the user sees only the listed env/index pairs.

Edit the allowlist with the env-grouped checkbox UI in the user dialog — toggle "all indexes" for an environment, or pick individual indexes.

Editing a user's data access: Full access vs. Scoped, with per-env/index checkboxes

How it's enforced

The allowlist is AND-ed into every read — search, aggregate, histogram, and field discovery. A scoped user's … | stats count by index only returns the indexes they're allowed to see; there's no way to read around it. The same shape scopes the MCP server.

The reserved _system environment (self-logs) is admin-only — it's never granted to standard users, even via the allowlist.

Revoking access

  • Disable/delete a user to stop new logins.
  • Changing a user's password revokes their existing sessions: each account has a credentials version that's stamped into issued tokens and checked on every request, so old tokens stop working immediately. See Authentication.