Roles and Permissions#

SkyShift implements a Role-Based Access Control (RBAC) system to manage access permissions within its ecosystem. This RBAC system allows for granular control over who can perform actions on specific resources across different namespaces. Detailed information about RBAC can be found in the security section (details to be added). A “role” in RBAC defines a set of permissions that specify the actions allowed on various resources within specified namespaces. Users assigned to a role inherit these permissions, aligning their capabilities with their organizational roles and responsibilities.

Creating a New Role#

The create role command establishes a new role within SkyShift, associating it with specified actions, resources, and users.

Usage:

skyctl create role [OPTIONS] NAME

Options:

  • -a, --action: Specifies the actions that can be performed by the role.

  • -r, --resource: Defines the resources upon which the actions can be performed.

  • -n, --namespace: Associates the role with specific namespaces.

  • -u, --users: Assigns users to the role.

Example:

skyctl create role myRole -a create -a delete -r jobs -n development -u user1 -u user2

This command creates a new role named myRole that allows create and delete actions on jobs resources within the development namespace for user1 and user2.

Retrieving Role Information#

The get roles command fetches details about a specific role or all roles if none is specified.

Usage:

skyctl get role [OPTIONS] [NAME]

Options:

  • -w, --watch: Continuously monitors for changes in role configurations.

Example:

skyctl get role myRole

Executing this command retrieves information about the role named myRole. Omitting the name argument fetches details of all roles.

Deleting a Role#

The delete role command removes a specified role from SkyShift, revoking the associated permissions.

Usage:

skyctl delete role NAME

Example:

skyctl delete role myRole

This command deletes the role named myRole from SkyShift.

Note

Deleting a role is irreversible. It’s essential to ensure that the role is no longer required before proceeding with deletion.

Understanding Roles in SkyShift#

Roles are fundamental to enforcing security and operational policies within SkyShift. They enable administrators to:

  • Assign specific permissions to users, ensuring that personnel can only perform actions aligned with their job functions.

  • Control access to resources across different namespaces, enhancing security and operational efficiency.

  • Streamline the management of permissions as users’ roles within the organization change.

Roles, when used effectively, help maintain the integrity and security of the SkyShift environment, ensuring that resources are accessed and managed responsibly.