Account System#

Introduction#

Cherry VM Studio uses its own internal account system, fully managed from the administrative web panel. The system is integrated with Apache Guacamole to provide centralized authentication across the platform.

Learn more

The platform enforces a clear separation between administrative and client accounts.

  • Administrators can create and manage resources, such as virtual machines, and assign them to client accounts.
  • Privileged administrators have extended capabilities, including managing other user accounts and modifying system-wide settings.
  • Clients are limited to using assigned resources: they can start, stop, and access virtual machines but cannot create or modify any system resources themselves.

Learn more

More on Guacamole Synchronization#

When a user account is created or managed in CVMS, corresponding authentication data is synchronized with Guacamole. This integration enables logging in to virtual machines using CVMS credentials and seamless access to virtual machines directly from the CVMS web panel without requiring a second login prompt.

Although users can authenticate to Apache Guacamole using CVMS credentials, the reverse is not supported. For this reason, administrators should:

  • Manage all user accounts exclusively through the CVMS administrative panel.

  • Avoid creating or modifying user accounts directly in Guacamole.

  • Treat CVMS as the single source of truth for authentication and authorization.

Administrators#

The main role of administrative accounts is to provide access to functionalities such as creating machines or assigning groups of clients to created environments.

An administrator with base permissions can create and manage their own library of virtual machines. They can also create snapshots and templates for those machines. Every administrator can see all other accounts, but special permission is required to manage them. Administrators may also access, create and manage client groups.

Special permissions#

Administrative accounts can be elevated through additional permissions. A set of available permissions (listed in the table below) can be granted to administrators through roles.

Only administrators with the MANAGE_ADMIN_USERS permission can assign roles to themselves or to other administrators. An administrator cannot assign or revoke permissions that they do not possess. The system also prevents accidental permission loss by ensuring that no permission becomes unassigned and unreachable.

Permissions#

IDNameDescription
1VIEW_ALL_MACHINESAllows viewing machines owned by other users.
2MANAGE_ALL_MACHINESAllows creating, modifying, changing state and deleting machines owned by other users.
3MANAGE_CLIENT_USERSAllows creating, managing and deleting client accounts.
4MANAGE_ADMIN_USERSAllows creating, managing, and deleting administrative accounts. Accounts with permissions that the administrator does not possess cannot be removed.
5CHANGE_CLIENT_PASSWORDGrants ability to change clients’ passwords.
6CHANGE_ADMIN_PASSWORDGrants ability to change administrators’ passwords.
7MANAGE_ISO_FILESProvides access to managing global ISO files.
8MANAGE_SYSTEM_RESOURCESPermission reserved for future functionalities.

Roles#

The table below lists all default roles available for administrators. It is currently not possible to create custom roles. This functionality will be introduced in a future release together with Cherry Policies.

Role namePermissions
Machine ObserverVIEW_ALL_MACHINES
Machine ManagerVIEW_ALL_MACHINES MANAGE_ALL_MACHINES
Client Accounts ManagerMANAGE_CLIENT_USERS
Administrative Accounts ManagerMANAGE_ADMIN_USERS
Global Accounts ManagerMANAGE_CLIENT_USERS MANAGE_ADMIN_USERS
Client Credentials ManagerCHANGE_CLIENT_PASSWORD
Administrative Credentials ManagerCHANGE_ADMIN_PASSWORD
Global Credentials ManagerCHANGE_CLIENT_PASSWORD CHANGE_ADMIN_PASSWORD
Iso Files ManagerMANAGE_ISO_FILES
System Resources AdministratorMANAGE_SYSTEM_RESOURCES

How can I limit administrators resource access?#

Currently it is not possible to restrict administrators access to resources and functionalities within the application. This feature will be introduced along with Cherry Policies in a future release.

Clients#

The purpose of client accounts is to provide access for users who do not need to manage their own resources. Resources assigned to clients are fully managed by administrators. This type of account is ideal for students in educational institutions or testers in debugging environments.

Clients can control the operational state of virtual machines assigned to them, such as starting or shutting them down. However, they cannot create, remove, or modify virtual machines.

Clients are also allowed to change their own passwords.

If your environment requires client users to manage virtual machines, it is recommended to provide administrative accounts instead with only the minimal permissions necessary.

Support for granting higher levels of access to client accounts is planned. This functionality will be introduced alongside Cherry Policies in a future release.

Groups#

Client groups are a core component of Cherry VM Studio automation. Administrators can create groups and assign clients to them, then reference these groups when provisioning virtual machines in bulk. Groups are global, meaning they are visible and manageable by all administrators.

Attribute Requirements#

This section defines the constraints and validation rules applied to user account properties. It specifies the required structure, allowed characters, and length limits for fields such as usernames, names, email addresses, and passwords. These rules ensure consistency, prevent invalid input, and maintain compatibility across the system.

User Account Validation Rules#

FieldRequirementsExample
Username3–24 characters; must start with a letter; only alphanumeric characters, underscores (_), hyphens (-), and periods (.) allowedjohn_doe, Alice-123, user.name
PasswordMinimum 12 characters; must include at least one digit, one lowercase letter, one uppercase letter, and one special characterP@ssword1234!
NameMaximum 50 charactersJohn, Alice Marie
SurnameMaximum 50 charactersDoe, Smith-Jones
EmailMust be unique (if provided)user@example.com

Group Validation Rules#

FieldRequirement / ConstraintExample / Notes
NameMaximum 50 characters; must be uniqueTesters, Lab Group A