Skip to main content
Version: main 🚧

Overview

The platform uses Kubernetes role-based access control (RBAC) to manage access for platform resources and objects, including platform Custom Resource Definitions (CRDs) and virtual clusters.

RBAC manages user and team permissions by assigning them roles that specify what actions they can perform. These permissions are applied using ClusterRoleBindings, which connect a specific role to a user or team, which defines their access across platform resources and virtual clusters.

Depending on the scope of access, these bindings are created in one of three types of clusters:

Cluster TypeDescription
Local clusterThe cluster where the platform is installed.
Connected host clusterA cluster that hosts virtual clusters.
vClusterA certified Kubernetes distribution managed virtually.

To learn more about the platform’s resource types, see the API resources.

You can also review the glossary of terms that relate to RBAC.

RBAC terms to know
ComponentDescriptionRelationship
UserIndividual identity that can access the systemCan be assigned roles directly or through team membership.
TeamLogical grouping of users with shared access rightsSimplifies permission management by allowing role assignment to multiple users.
GroupSSO identity provider attributeMaps external identity groups to platform Teams for automatic assignment.
ClusterRoleTemplateDefines reusable permission setsExtends Kubernetes RBAC with platform resources
ProjectPrimary boundary for access controlContains resources and defines which users/teams can access clusters and templates
Project RoleSpecial role with loft.sh/project-role: "true" labelAvailable in UI for assignment within projects
Permission LevelDegree of access grantedRanges from view-only to full administrative control
Security LayerComponents of defense-in-depth approachIncludes identity management, RBAC policies, namespace isolation, and network policies
Virtual ClusterIsolated Kubernetes environmentProvides full API compatibility while sharing infrastructure
NamespaceEnhanced namespace with management capabilitiesOffers more granular control than standard Kubernetes namespaces

RBAC architecture​

The platform architecture supports multi-level RBAC enforcement by distributing responsibility across different clusters. Each type of cluster enforces a specific scope of permissions based on the location and role of the resource.

The platform manages permissions through ClusterRoleBindings. Users and teams are assigned roles that define their access levels. These roles connect to actual permissions through ClusterRoleBindings.