Skip to main content
Version: 0.5

Roles and Permissions

Roles and Permissions

Konstruct uses role-based access control (RBAC) to manage what users can do across the platform. Roles are assigned to users through their team memberships and SSO group mappings.

Predefined Roles

Konstruct provides three predefined roles:

RoleDescription
Platform AdminFull access to all resources. Can manage infrastructure, cloud accounts, SSO, and organization-wide settings.
Team AdminCan manage team resources, catalog applications, and deployments. Limited access to clusters (read-only).
DeveloperCan read catalog applications, deploy catalog items, and manage applications. Limited access to clusters (read-only).

Permissions Matrix

Each role grants a specific set of actions on each resource. The three actions are:

  • Read (R) — View the resource
  • Write (W) — Create or update the resource
  • Delete (D) — Remove the resource
ResourcePlatform AdminTeam AdminDeveloper
applicationR, W, DR, WR, W
app-repositoryR, W, D
catalog-applicationR, W, DR, W, DR
catalog-deploymentR, W, DR, WR, W
cloud-accountR, W, D
clusterR, W, DRR
cluster-templateR, W, D
environmentR, W, D
git-accountR, W, D
organizationR, W, D
pipeline-templatesR, W, D
ssoR, W, D
teamR, W, D

Legend: R = Read, W = Write, D = Delete, — = No access

tip

Platform Admin has full access to every resource. If a resource shows "—" for Team Admin and Developer, only Platform Admins can manage it.

How Roles Are Assigned

Roles are assigned through team membership and SSO group mappings:

  1. A user authenticates via SSO (e.g., Microsoft Entra).
  2. The user's SSO groups are matched against team role mappings.
  3. If a team maps the user's SSO group to a predefined role, the user receives that role for the team's organization.
  4. A user can hold roles in many teams across many organizations:
    • Within one organization, if your SSO group maps to multiple roles through different teams, the highest of those roles applies for that org.
    • Across organizations, your role is evaluated independently per org. Being Platform Admin in one org grants no permissions in another.

Roles Are Scoped to Organizations

Konstruct evaluates your role against the organization you're acting on. The same person can be a Platform Admin in one org and a Developer in another, and the platform enforces both views — admin-tier actions only succeed against the organizations where you're an admin.

Worked example: a user mapped to Platform Admin in Org A and Developer in Org B.

ActionIn Org A (Platform Admin)In Org B (Developer)
List clusters✅ (read-only)
Delete a cluster
Manage cloud accounts
Deploy a catalog item
Manage SSO and organizations

The same person, two different sets of permissions — the org selected in the Viewing as switcher (or the namespace in the URL when calling the API directly) decides which set applies.

Self-hosted bootstrap admin

The built-in konstruct-super-user role used by the bootstrap admin on self-hosted installations stays global — it bypasses per-organization checks so an operator can recover access in a break-glass situation. Roles assigned through SSO group mappings are always per-organization.

Role Details

Platform Admin

The Platform Admin role is intended for infrastructure engineers and platform operators. It provides unrestricted access to all resources, including:

  • Managing cloud accounts and git accounts
  • Configuring SSO providers
  • Creating and managing cluster templates and pipeline templates
  • Creating organizations and teams
  • Deploying and managing applications and environments
  • Registering app repositories
  • Managing license keys (self-hosted)

Team Admin

The Team Admin role is intended for team leads who manage their team's resources. Key capabilities:

  • Full management of catalog applications (create, update, delete)
  • Read and write access to catalog deployments
  • Read and write access to applications
  • Read-only access to clusters
  • Create and manage organizations (team management)
  • View SSO groups

Developer

The Developer role is intended for application developers. Key capabilities:

  • Read-only access to catalog applications
  • Read and write access to catalog deployments
  • Read and write access to applications
  • Read-only access to clusters