On This Page

Home / Identity and Access Management/ Access Control/ Roles and Policies Model/Roles and Policies

Roles and Policies

Use Cribl’s legacy Roles and Policies for role-based access control in on-prem Distributed deployments.


Cribl’s legacy Roles and Policies model provides role-based access control (RBAC) in on-prem Distributed deployments at the Enterprise license tier.

Roles are logical entities that are associated with one or more Policies. Policies are collections of certain access rights on specific objects. Roles are assigned to users to establish their access rights on objects.

Cribl ships with a set of default Roles and default Policies that cover common access control scenarios. You can extend the default Roles by cloning them, then adding and removing Policies and modifying the objects the Policies apply to.

Cribl.Cloud does not support the legacy Roles and Policies model. On Cribl.Cloud, you must use the Permissions model. On-prem deployments at the Enterprise license tier support both the Permissions model and the legacy Roles and Policies model.

Default Roles

The tables in this section list the default Roles that ship with Cribl ships, along with each Role’s counterpart in the Permissions model. The gitops and notification_admin Workspace-level Roles do not have a Permissions model equivalent.

Cribl strongly recommends that you do not edit or delete these default Roles. However, you can clone the default Roles and modify the duplicates to meet your needs.

Initial Installation or Upgrade

When you first install Cribl Suite with the prerequisites to enable RBAC (Distributed deployment with an Enterprise license), you will be granted the admin Role. Using this Role, you can then define and apply additional Roles for other users.

You will similarly be granted the admin Role upon upgrading an existing installation from pre-2.4 versions to v. 2.4 or higher. This maintains backwards-compatible access to everything your organization has configured under the previous version’s single Role.

Workspace-Level Roles

NameDescriptionPermissions Model Equivalent
adminSuperuser - authorized to do anything in the system.Organization Admin
gitopsAbility to sync the deployment to a remote Git repository.N/A
notification_adminRead/write access to all Notifications.N/A
org_iam_adminManage the SSO configuration and invite, update, and delete Members without having access to data engineering functions.Organization IAM Admin
userDefault Role that gets only a home/landing page to authenticate. This is a fallback for users who have not yet been assigned a higher Role by an admin.Organization User
project_userRead/write access to the simplified Stream Projects UI and related data Subscriptions. Deprecated as of v.4.2. Use the Permissions model instead.

The Stream Projects Editor Permission is most comparable. Maintainer (more permissive) and Read Only (more restrictive) are also available.
Stream Project Editor

Cribl Stream Roles

NameDescriptionPermissions Model Equivalent
stream_userBasic Role for Stream.Stream User
stream_readerAllows viewing all Members, Worker Groups, Settings, Leader commits, and legacy Local Users and Roles, with no configuration capabilities.Stream Read Only
stream_editorAllows viewing all Groups and Monitoring pages.Stream Editor
stream_adminSuperuser Role at the Product levelStream Admin

Cribl Edge Roles

NameDescriptionPermissions Model Equivalent
edge_userBasic Role for Edge.Edge User
edge_readerAllows viewing all Members, Fleets, Settings, Leader commits, and legacy Local Users and Roles, with no configuration capabilities.Edge Read Only
edge_editorAllows viewing all Groups and Monitoring pages.Edge Editor
edge_adminSuperuser Role at the Product level.Edge Admin

Cribl Search and Cribl Lake Roles

Because Cribl Search and Cribl Lake are available only on Cribl.Cloud, they use Cribl’s Permissions model for access control. For details about managing access to these products and their resources, see:

Worker Group/Fleet-Level Roles

NameDescriptionPermissions Model Equivalent
owner_allRead/write access to (and Deploy permission on) all Worker Groups/Fleets.N/A
editor_allRead/write access to all Worker Groups/Fleets.N/A
reader_allRead-only access to all Worker Groups/Fleets.N/A
collect_allAbility to create, configure, and run Collection jobs on all Worker Groups.N/A

Default Policies

The Cribl Suite ships with the default Policies that are described in this section.

Worker Group/Fleet-Level Policies

NameDescriptionPermission Equivalent
GroupReadThe most basic Worker Group/Fleet-level permission. Enables users to view a Worker Group/Fleet and its configuration, but not modify or delete the config.Worker Group/Fleet-level Read Only.
GroupEditBuilding on GroupRead, grants the ability to also change and commit a Worker Group/Fleet configuration.Worker Group/Fleet-level Editor.
GroupFullBuilding on GroupEdit, grants the ability to also deploy a Worker Group/Fleet.Worker Group/Fleet-level Admin.
GroupCollectGrants the ability to create, configure, and run Collectors on a Worker Group.N/A
GroupUserAccess Worker Group/Fleet.Worker Group/Fleet-level User.

Project-Level Policies

NameDescriptionPermission Equivalent
ProjectMaintainGrants ability to edit or delete the Project and its settings.Project-level Maintainer.
ProjectReadCan configure connections among the Project’s Subscriptions, Packs, and Destinations, but cannot modify or delete these resources.Project-level Read Only.
ProjectEditCan view Project and Subscription settings and connections, but not modify or delete them.Project-level Editor.

Product-Level Policies

NameDescriptionPermission Equivalent
ProductUserMakes the Member assignable to Worker Groups and resources, with no initial access to any.Product-level User.
LimitedProductUserSimilar to ProductUser, but omits the ability to read or act on all the endpoints within a Worker Group/Fleet.N/A
ProductAdminSuperuser Permission at the Product level.Product-level Admin.

General Policies

NameDescriptionPermission Equivalent
* (wildcard)Grants all access rights on associated objects.N/A

Internal Policies

The following policies are internal building blocks for Product-specific Policies. Do not add them directly to Roles.

NameDescriptionPermission Equivalent
ProductN/AN/A
BaseProductUserN/AN/A
MaintainBaseN/AN/A
Use Policies As-Is

By design, the default Policies that ship with the Cribl Suite cannot be modified via the UI or API. Do not attempt to modify them by other means. Breaking the built-in model could undermine your intended access-control protections, opening your deployment and data to security vulnerabilities.

Add Roles

To add a new Role:

  1. In the sidebar, select Settings, then Global.
  2. Under Access Management, select Roles.
  3. Select Add Role.
  4. Provide the Role Name.
  5. Select Policies for the Role.

Add and Remove Policies

The Policies section is an expandable table. In each row, you select a Policy using the left drop-down, and apply that Policy to objects (i.e., assign access rights on those objects) using the right drop-down.

Let’s highlight an example from the above screen capture of built-in Roles: The editor_all Role has the GroupEdit Policy, with permission to exercise it on any and all Worker Groups/Fleets (as indicated by the * wildcard).

Policies on the left, objects on the right
Policies on the left, objects on the right

To add a new Policy to a Role:

  1. Select Add Policy to add a new row to the Policies table.
  2. Select a Policy from the left column drop-down.
  3. Accept the default object on the right; or select one from the drop-down.

To modify an already-assigned Policy, just edit its row’s drop-downs in the Policies table.

To remove a Policy from the Role, select the X icon at right.

In all cases, click Save to confirm your changes and close the modal.

Objects

In the Policies table’s right column, use the drop-down to select the Cribl objects on which the left column’s Policy will apply. The objects available for selection are specific Worker Groups/Fleets, or a wildcard representing all Worker Groups/Fleets. For example:

  • Worker Group <id>
  • NewGroup2
  • default (Worker Group/Fleet)
  • * (all Worker Groups/Fleets)

Extend Default Roles

Here’s a basic example that ties together the above concepts and facilities. It demonstrates how to add a Role whose Policies are restricted to a particular Worker Group/Fleet.

Here, we’ve cloned the editor_all Role that we unpacked above. We’ve named the clone editor_default.

We’ve kept the GroupEdit Policy from editor_all. But in the right column, we’re restricting the Policy to the default Worker Group/Fleet that ships with the Cribl Suite.

Cloning a default Role
Cloning a default Role

You can readily adapt this example to create a Role that has Policies on an arbitrarily named Worker Group/Fleet of your own.

Assign Roles to Users

To assign Roles to users, see Local Users.

When you assign multiple Roles to a given user, the Roles’ Policies are additive: the user is granted a superset of all the Policies contained in all the assigned Roles.

By default, Cribl logs users out upon a change in their assigned Roles. You can disable this setting at Settings > Global > General Settings > API Server Settings > Advanced > Logout on roles change.

External Groups and Cribl Roles

You can map user groups from external identity providers (LDAP, Splunk, or OIDC) to Cribl Roles, as follows:

  1. In the sidebar, select Settings, then Global.
  2. Under Access Management, select Authentication
  3. Choose LDAP, Splunk, or OpenID Connect as authentication Type.
  4. Configure your identity provider’s connection and other basics. (For configuration details, see the appropriate Authentication section.)
  5. Under Role Mapping, first select a Cribl Default role to apply to external user groups that have no explicit Cribl mapping defined below.
  6. Next, map external groups as you’ve configured them in your external identity provider (left field below) to Cribl Roles (right drop-down list below).
  7. To map more user groups, select Add Mapping.
  8. When your configuration is complete, select Save.