Skip to main content

Role-Based Access Control (RBAC)

Atmosly provides fine-grained Kubernetes RBAC management, allowing you to create roles, assign users, and control access to cluster resources with time-bound validity.


Accessing the RBAC Section

  1. Navigate to the specific cluster.
  2. Go to the RBAC section from the left menu.

Default Roles

Atmosly provides three pre-built roles that cover common access patterns:

Cluster Admin

  • API Groups: All (*)
  • Resources: All (*)
  • Actions: All (*)
  • Namespaces: All (*)
  • Description: Full unrestricted access to all resources in all namespaces

Read Only

  • API Groups: All (*)
  • Resources: All (*)
  • Actions: get, list, watch
  • Namespaces: All (*)
  • Description: Read-only access to view all resources without modification

DevOps

  • API Groups: Core, Apps, Batch, Networking, Storage, Autoscaling, Discovery, Scheduling, Policy, argoproj.io
  • Resources: Pods, Deployments, Services, Jobs, CronJobs, Ingresses, Workflows, Applications, and 30+ more
  • Actions: get, list, watch, create, update, patch, delete
  • Namespaces: All (*)
  • Description: Full application management with read-only access to cluster-level resources

Creating a Custom Role

  1. Click the Create Roles button in the top-left corner of the RBAC section.
  2. Fill in the required fields:
FieldDescription
Role NameA unique name for the role
NamespaceThe namespace scope for the role. Leave blank to create a cluster-wide role. Only namespaces created via Atmosly infrastructure are displayed. Select * for all namespaces.
API GroupSelect the relevant Kubernetes API group(s)
ResourcesChoose resources based on the selected API group
ActionsDefine the allowed operations (verbs)
UserSelect one or more users to assign to the role
DurationSet the role's validity period

Available API Groups

API GroupExample Resources
Core (empty string)Pods, Services, ConfigMaps, Secrets, PersistentVolumeClaims, Namespaces, Nodes, ServiceAccounts
AppsDeployments, StatefulSets, DaemonSets, ReplicaSets
BatchJobs, CronJobs
Networking (networking.k8s.io)Ingresses, NetworkPolicies
RBAC (rbac.authorization.k8s.io)Roles, RoleBindings, ClusterRoles, ClusterRoleBindings
Storage (storage.k8s.io)StorageClasses, VolumeAttachments
PolicyPodDisruptionBudgets, PodSecurityPolicies
AutoscalingHorizontalPodAutoscalers

Available Actions

ActionDescription
getRetrieve a specific resource
listList all resources of a type
watchWatch for changes to resources
createCreate new resources
updateModify existing resources
patchPartially modify resources
deleteRemove resources

Duration Options

OptionDescription
8 hoursShort-term access for debugging or troubleshooting
1 DayDay-long access for development tasks
1 WeekWeek-long access for sprint-based work
ForeverPermanent access until manually revoked
Custom DateSelect a specific expiration date using the date picker
  1. Click Create to finalize the role.

Managing Roles

After creating a role:

  1. View the list of created roles with their assignments and expiration.
  2. Click the Add option next to the role name to perform additional actions.
  3. Download kubeconfig — Download a kubeconfig file pre-configured with the role's service account credentials.
  4. Resend via email — Send the kubeconfig file to assigned users via email.

Kubeconfig Access

When a role is created, Atmosly:

  1. Creates a Kubernetes service account and binds it to the role.
  2. Generates a kubeconfig file with the service account token.
  3. Stores the cluster endpoint and CA certificate for the user.
  4. Makes the kubeconfig available for download or email distribution.

Users can use the downloaded kubeconfig to access the cluster directly via kubectl:

kubectl --kubeconfig=<downloaded-file> get pods

Permissions

To manage RBAC roles, your Atmosly user role must have the RBAC Management permission enabled. This includes the ability to create, view, update, and delete roles. Contact your organization admin if you need access.