Access Control

Overview

Sifflet offers a flexible access management system that allows you to customize the level at which you control access to your resources.

Role-based access control

Sifflet relies on role-based access control to ensure that only authorized individuals can access specific resources or perform specific actions. Roles can be assigned to both users and tokens.

User roles vary based on the domain, resulting in differing permissions for resources across various domains and platform configurations. Sifflet resources are classified into two distinct types:

  1. Domain resources: These include items such as catalog and lineage assets, monitors, incidents, and their related dashboards. Typically, domain resources are grouped into domains to mirror a specific business area (such as Finance, Operations etc...) or team (Data Einngineering, Data Stewards etc...). For further details about Domains, you can refer to this documentation.
  2. System resources: These resources, not tied to any specific domain, are used for platform administration. It includes Users, Authentication Settings, Tags, Data Sources management, Domains management, and Glossary.

Every Sifflet user receives a System Role and one or more Domain Roles based on the number of domains they are associated with.

📘

Domain "All"

In case there is no domains defined on the platform, all users will default to the "All" domain. The domain role will be enforced across all the data assets connected to the platform.

System Role

System roles define the type of access the user has to a given setting resource. Typically, these roles provide the user the right to create, edit, and delete a resource.

By default, Sifflet offers three System Roles: Admin, System Editor and System Viewer.

System ResourceActionsAdminSystem EditorSystem Viewer
Integrations
Integrations managementcreate, edit, delete, trigger run
Secrets managementread, create, edit, delete
Glossary
Termsread
Termscreate, edit, delete
Settings
Tagsread
Tagscreate, edit, delete
Domainsread, create, edit, delete
Usersread, create, edit, delete
Access Tokensread, create, delete
SSOread, create, edit, delete
Alert Destinationsread, create, edit, delete

Domain Role

Domain roles define the type of access the user has to a given domain resource. By default, Sifflet offers two Domain Roles: Domain Editor and Domain Viewer.

Domain resourceActionDomain EditorDomain Viewer
Catalog
Data assetssearch through the catalog
Data assetsread
Data assetsdata preview
Data assetsmetadata edit (manual or through AI suggestions)
Monitors
Monitorsread (overview, runs details, parameters details)
Monitorscreate, edit, delete, run
Monitorsshow failing rows
Monitorsqualify runs for ML models feedbacks
Incidents
Incidentsassign, status update, close

📘

Multiple domain access

Users may be associated to multiple domains: for example, a user can be a Domain Viewer in Domain A and a Domain Editor in Domain B.

Token Roles

Access Tokens allow you to programmatically interact with Sifflet objects through the API, CLI and Airflow Operator.

By default, Sifflet offers three Token Roles: Admin, Editor, Viewer:

ResourceActionAdminEditorViewer
Catalog
Data assetssearch through the catalog
Data assetsread
Data assetsdata preview
Data assetsmetadata edit (manual or through AI suggestions)
Monitors
Monitorread (overview, runs details, parameters details)
Monitorcreate, edit, delete, run
Monitorshow failing rows
Monitorqualify runs for ML models feedbacks
Incidents
Incidentsassign, status update, close
Glossary
Termsread
Termscreate, edit, delete
Integrations
Secrets managementread, create, edit, delete
Integrations managementcreate, edit, delete, trigger run
Integrations managementSubmit dbt metadata files and trigger the related datasource refresh
Integrations managementCreate declarative pipeline & edge lineage
Settings
Tagsread
Tagscreate, edit, delete
Domainsread, create, edit, delete
Usersread, create, edit, delete
Access Tokenread, create, delete
SSOread, create, edit, delete
Alert Destinationsread, create, edit, delete

🚧

Important

Tokens use special Sifflet roles and are not domain-specific, granting access to all domains.