Skip to main content

Overview

The Prizm platform utilizes a flexible Role-Based Access Control (RBAC) system with optional Attribute-Based Access Control (ABAC) filters. This model provides granular control over resource access while remaining operationally manageable for enterprise administrators. The RBAC system enables organizations to align access controls with their specific organizational structure and security requirements through custom roles, hierarchical inheritance, and tag-based filtering.

Core Principles

Key Entities

Access

The Prizm platform uses a flexible Role-Based Access Control (RBAC) system with optional Attribute-Based Access Control (ABAC) tag filters. The Access module is the central hub for managing all of this — Members, Groups, Roles, Permission Sets, and Audiences are all managed here.
Screenshot 2026 06 29 At 3 13 33 PM
The Access dashboard surfaces five key counters at a glance:

Members

The Member tab lists every user in the organization along with their assigned role, active status, MFA enrollment, and SSO status.
Screenshot 2026 06 29 At 3 14 18 PM

Member Fields

Adding a Member

Click the ⊕ icon in the top-right of the Member section. You will be prompted to enter an email address and select a role. On first login, the user receives an invite email.
Screenshot 2026 06 29 At 3 09 26 PM
The Owner role cannot be deleted or downgraded by anyone other than another Owner. At least one active Owner must exist in every organization.

Groups

Groups let you assign a single role to a collection of users. When a user’s group membership changes in the identity provider, their Prizm permissions update automatically on next login.
Screenshot 2026 06 29 At 3 16 35 PM

Group Fields

Group vs. Direct Assignment

When a user has both a direct role assignment and a group role assignment, the highest-priority role wins.

Roles

Roles define a named permission profile. Prizm ships with three built-in roles and supports custom roles created by administrators.
Screenshot 2026 06 29 At 3 15 32 PM

Standard Roles

Role Definitions

Custom Roles

Custom roles (e.g., cx_role) are created by administrators and can be tailored with any combination of permissions from the Permission Set. Custom roles are assigned a priority of 5+ and appear with both edit and delete actions in the Role table. To create a custom role:
  1. Click ⊕ in the Role section
  2. Enter a name and optional description
  3. Select the Permission Set to associate with this role
  4. Save — the role is immediately available for assignment to members and groups
Deleting a custom role immediately removes it from all members and groups currently assigned to it. Users will fall back to their next highest active role.

Permission Sets

A Permission Set defines exactly which actions are enabled for each role. The Permission Set view shows a toggle matrix — rows are permission types and columns are the available roles (Admin, Editor, Viewer, and any custom sets).
Image

Reading the Matrix

  • Dark toggle (●) — permission is enabled for this role
  • Light toggle (○) — permission is disabled for this role
  • Each row is a TYPE + ACCESS combination (e.g., ACCESS › Approve, ALERT › Create)

Default Permission Set Coverage

The four built-in permission sets cover 420 permissions across 25 resource types. The table below summarizes what each role can do by default.

Permission Set Matrix

Each Permission Set (Admin, Owner, Steward, Member, Custom) can be assigned with one to many permissions sets and its relevant access.

Permission Type Reference

The following table lists every permission type and the actions available for each. This set of permission sets are grouped under a particular permission and that can be tied to a resource assignment.
Source is the only resource type with run and schedule actions in addition to the standard CRUD set. These allow a role to trigger data source syncs and set up recurring ingestion schedules independently of edit rights.

What Each Action Means

Every resource type in the table above is governed by the same five actions (plus a handful of resource-specific ones). In general:
Approve is Prizm’s governance sign-off step. It shows up wherever an object goes through a Pending → Ready for Review → Approved lifecycle before other users, alerts, or scores can rely on it. A user without the Approve permission for a given resource type can still create or edit that resource, but their changes stay pending until someone who does have Approve signs off.

Permission Actions by Resource Type

The table below spells out what each action does for every resource type — this is the detail behind the summary table above.
The rows above marked with a resource-specific description (Asset, Metric and Queries, Source, Command Center – Schedule, and Analytics) are confirmed against the product’s live Permission Set matrix and behavior. Rows without a directly observed UI touchpoint (for example Application, Domain, Product, Setting, Steward, Tag, Term, and the Organization types) describe Prizm’s documented Pending → Approved governance pattern applied consistently across resource types; if your workflow needs the exact approval touchpoint for one of these, confirm it against that resource’s own detail page or with your Prizm admin.

Analytics → Approve, explained

What it is: The Analytics resource type covers everything under the Analytics section of Prizm — the built-in Catalog, Observability (Data), Quality, and Exception dashboards, plus any custom dashboard or saved view a user builds there (via Save as view) and shares with others. What Approve does: It gates publishing/sharing a saved Analytics dashboard or view. Create/Edit/Delete let a user build and maintain their own dashboards; Approve is the sign-off needed before a saved dashboard or view is shared more broadly (e.g., shared with a team rather than kept private) — mirroring the same Pending → Approved governance pattern Prizm uses for Metrics (a metric stays Inactive until approved) and Assets (AI recommendations stay pending until someone with Approve accepts them). Where it applies: More → Analytics, on any of the dashboard tabs (Catalog / Observability / Quality / Exception) or a custom saved view reached from the More dropdown next to them. A role without Analytics → Approve can still view dashboards and build/save their own private views, but cannot sign off a dashboard/view for wider sharing.
This module doesn’t expose a distinct “pending dashboard” queue the way Assets or Metrics do — Approve is scoped to the sharing/publishing step for saved views. If your organization needs a more granular breakdown, flag it with your Prizm account team so the product docs can be updated with the exact in-app label.

Access Evaluation Logic

When a request arrives, Prizm evaluates permissions in this order:
1

Identify the user

Look up the authenticated user and resolve all group memberships.
2

Collect role assignments

Gather every role assignment — direct (Member tab) and via groups (Group tab) — at the Application level.
3

Resolve the highest role

Apply the highest-priority role when a user has multiple assignments. Owner (3) beats Steward (2) beats User (1); custom roles at 5+ always take precedence.
4

Load the Permission Set

Fetch the Permission Set associated with the winning role and read the enabled toggles.
5

Apply tag constraints

If the assignment includes allow or deny tag constraints (ABAC), filter the resource list accordingly.
6

Enforce

Return the final access decision. Deny constraints always override allow, even when only a single resource carries a deny tag.
Role Consolidation: All applicable roles are collected from user and group assignments. The highest-priority role’s permissions take precedence. Tag-based filters then further refine which resources are accessible.

Assignment Structure

Access assignments follow a consistent JSON format that maps users or groups to roles on specific resources:

Key Rules

  • allow: ["*"] — grants access to all tag variants of the resource
  • deny: ["PII"] — blocks access to PII-tagged rows/columns even if other constraints allow
  • A deny on any one resource is honoured even when all other resources in the assignment use allow: ["*"]
  • Assignments have an optional expiry_date field for time-limited access grants

Assignment Examples

Even if only one resource carries a deny constraint while others are tagged as allow, the deny takes precedence for that resource. Deny constraints are always enforced.

Database Schema Reference

Schema Components

Assumptions

  1. Assignments exist at either User or Group level, identified by the assignee_type value ("user" or "group").
  2. User-level assignments are implemented in application code by referencing the user_groups table, which stores user-group mapping information.
  3. Access constraints are applied at the resource level (e.g., Domain: "Marketing", Product: "SAP_Prod").
  4. The Assignments table contains only one record per user. The assignee_id field serves as a Unique Index or Business Key.
  5. When no access constraints are defined for a resource, users/groups receive default "allow": ["*"] access.

Access Evaluation Process

The system determines effective permissions through a multi-step evaluation process at runtime:
1

Identify the user

Identify the user and their group memberships.
2

Resolve role assignments

Resolve all relevant role assignments — both group-level and user-level — at the Application Level.
3

Collect permissions

Determine all permissions from the assigned roles.
4

Apply highest scope

Apply the highest permission scope when conflicts exist between roles.
5

Apply constraints

Optionally filter results by tag, sensitivity, or ownership constraints.