VMware ESXi and vSphere Cluster Management

Understanding Roles and Privileges in VMware vSphere and ESXi

Learn how vSphere roles, privileges, permissions, users, groups, and inventory scope work together, including built-in, sample, and custom roles.

VMware vSphere access control determines what an authenticated identity can view and do in the environment. The main building blocks are privileges, roles, permissions, identities, and inventory objects.

This lesson focuses on role-based access control in vCenter Server and ESXi environments. For background, review the vSphere access control system and assigning vSphere permissions.

What Is a vSphere Role?

A privilege is one authorization for a vSphere action or capability. Examples include powering on a virtual machine, changing a virtual network, using a datastore, managing alarms, or administering an ESXi host.

A role is a named, reusable collection of privileges. Rather than assigning many individual privileges repeatedly, an administrator creates or selects a role that represents a job function or access level.

A role does not identify a person and does not automatically grant access. It becomes effective when it is assigned to a user or group through a permission on an inventory object.

  • User: An individual authenticated identity that can receive permissions.
  • Group: A collection of users, commonly supplied by an identity provider, that can receive permissions collectively.
  • Inventory object: A managed item such as a vCenter Server object, datacenter, folder, cluster, host, resource pool, datastore, network, or virtual machine.
  • Permission: An assignment associating a user or group with a role at a particular inventory object.

For example, the privilege to power on a VM is an individual capability. A VM operator role may contain that privilege along with other approved VM-operation privileges. A permission then assigns that role to an operations group on a VM folder.

How Roles Participate in Access Control

A permission combines three elements:

  1. The identity: a user or group.
  2. The role: the collection of privileges assigned to that identity.
  3. The inventory location: the object where the permission is applied.

Permission propagation is the inheritance of a permission from an inventory object to its child objects. A permission on a broad parent, such as a datacenter or VM folder, can therefore affect many VMs. An assignment directly on one VM provides a narrower access boundary.

Effective permissions are the access a user ultimately receives after applicable direct assignments, group memberships, role contents, object scope, inheritance, and other permission rules are considered. When troubleshooting, inspect more than the permission visible on the target VM: parent objects and the user's groups may also contribute.

Roles, Privileges, and Permissions Compared

ConceptWhat it representsWhere it is defined or appliedExample
PrivilegeOne authorized action or capabilityDefined by vSpherePower on a virtual machine
RoleA reusable collection of privilegesBuilt in or created by an administratorA VM operator role
PermissionAn identity-to-role assignment at a scopeApplied to an inventory objectOperations group assigned a VM role on a VM folder
User or groupThe identity receiving accessDefined in vSphere or an identity sourceVirtualization-operators group
Inventory objectThe resource or container to which access appliesDefined by the vSphere inventoryCluster, datastore, network, or VM

Built-in vSphere Roles

vSphere provides core roles for common access levels. These predefined roles are not editable. If their privilege sets do not match a job function, create a custom role instead of trying to modify the built-in role.

  • No access: Prevents access to a specified inventory object. It is useful for restricting a selected object when a broader assignment would otherwise expose it.
  • Read-only: Allows a user to view inventory and configuration information without making operational changes.
  • Administrator: Provides complete authority over the assigned object and, where applicable, objects reached through inheritance. Its broad authority makes it inappropriate for routine operator access.

Built-in and Sample vSphere Roles at a Glance

RoleRole typePrimary purposeTypical assignment scopeCan be modifiedKey caution
No accessCore built-inDeny access to a selected objectSpecific VM, folder, or other sensitive objectNoCan override the intended visibility of a broad assignment at the restricted scope
Read-onlyCore built-inInspect inventory and configurationDatacenter, folder, or reporting scopeNoDoes not permit operational changes
AdministratorCore built-inFull administrationPlatform or carefully bounded administrative scopeNoToo broad for most routine work
Virtual machine power userSample rolePerform approved VM power and related operator tasksVM folder or selected VMsUsually used as supplied or modeledReview its exact privileges and avoid assuming host, network, or datastore administration is included
Virtual machine userSample rolePerform a narrower set of VM interaction tasksVM folder or selected VMsUsually used as supplied or modeledConfirm whether the required console, interaction, or configuration action is included
Resource pool administratorSample roleManage resource-pool-related allocation and configurationResource pool or related resource-management scopeUsually used as supplied or modeledDo not grant it when the job only requires VM operation
VMware Consolidated Backup userSample roleSupport the older VMware Consolidated Backup workflowObjects required by the backup workflowUsually used as supplied or modeledLegacy-oriented; verify applicability and required privileges for the current backup product
Datastore consumerSample roleUse allocated datastore capacity without full datastore administrationDatastore or VM-related storage scopeUsually used as supplied or modeledCheck that create, remove, and reconfigure datastore privileges are excluded when required
Network administratorSample roleManage virtual networkingNetwork objects or a controlled infrastructure scopeUsually used as supplied or modeledReview whether its privileges are broader than the networking team's responsibilities

Sample roles are predefined privilege collections that can be assigned directly or used as models for custom roles. The exact privileges supplied with these roles can vary by vSphere release, so review the privilege list before using one in production.

Creating and Using Custom Roles

A custom role is an administrator-created role containing a tailored set of privileges. It is preferable when a built-in or sample role grants too much access, omits a required capability, or does not clearly represent a local job function.

Custom-role design process

  1. Define the business purpose and the tasks the role must support.
  2. Select only the required privileges.
  3. Review privilege categories such as virtual machine, host, datastore, network, alarms, and resource management.
  4. Assign the role to a group at the narrowest practical inventory scope.
  5. Test it with a non-administrative test account before production use.
  6. Document the role's purpose, included privileges, scope, owner, and review date.

Do not infer that a task needs only one privilege. Some operations touch multiple related objects, such as a VM, datastore, network, cluster, or host. Test the complete workflow and add only confirmed missing privileges.

Viewing roles in the vSphere client

  1. Sign in to vCenter Server with an account allowed to view or manage roles.
  2. Open Administration.
  3. Open the Roles area.
  4. Select a role to inspect its description and associated privileges.

Menu wording and placement can differ between current vSphere Client releases and older vSphere Web Client releases. The purpose is the same: locate the role-management view and inspect the privilege set before assigning access.

Creating a custom role in the client

  1. Open Administration, then Roles.
  2. Create a role with a descriptive, job-function-based name.
  3. Select the minimum privileges needed from the applicable categories.
  4. Save the role.
  5. Review the selected privileges and test the role with a non-production identity.

Assigning a Role Through a Permission

Creating a role does not assign it. Use a permission to connect the role to a user or group and an inventory scope.

  1. Navigate to the inventory object that should be the access boundary.
  2. Open the object's Permissions area.
  3. Add a user or group.
  4. Select the required role.
  5. Choose whether the permission should propagate to child objects.
  6. Save the permission.
  7. Validate the resulting access by signing in as the assigned identity or using an approved access-verification process.

For example, assign a VM-focused operator role to an operations group on a VM folder, with propagation enabled if all VMs in that folder are in scope. Assigning the same role directly to one VM creates a narrower boundary.

Practical Access Designs

Job functionRecommended role approachTarget scopeActions allowedActions intentionally excluded
AuditorRead-onlyDatacenter or reporting folderView inventory and configurationPower operations and configuration changes
VM operatorVirtual machine power user or restricted custom roleVM folder or selected VMsApproved VM power and console-related workHost, datastore, and network administration
Network administratorNetwork administrator sample role or restricted custom equivalentVirtual network objectsManage approved virtual networkingUnnecessary VM and host administration
Storage consumerDatastore consumer or custom storage-use roleAllocated datastores or related VM scopeUse assigned storage capacityCreate, remove, or reconfigure datastores
Platform administratorAdministrator only where full authority is justifiedCarefully controlled platform scopeComplete administrative tasksNothing within the assigned authority
Backup service accountDedicated custom role based on the backup product's requirementsOnly required backup-related objectsActions needed by the backup integrationUnrelated platform administration

Examples of scope and exceptions

  • VM operations team: Assign a VM-focused role to an operations group on a VM folder. Members can perform approved power and console-related work without receiving host, datastore, or network administration rights.
  • Read-only auditor: Assign Read-only to an audit group at a datacenter or reporting-folder level so members can inspect inventory and configuration without changing objects.
  • Hide a sensitive VM: Grant a broad role at a parent scope, then apply No access to a sensitive VM for a user or group that must not view or manage it.
  • Network delegation: Use Network administrator, or a restricted custom equivalent, for the networking team.
  • Storage consumption: Use a datastore-consumption-oriented role for an application team that needs allocated capacity but not datastore administration.
  • Backup integration: Create a dedicated service-account role based on the specific backup product rather than assigning Administrator.

Least-Privilege Role Design

Least privilege means granting only the permissions necessary to complete required work. Apply it consistently:

  • Assign permissions to groups rather than directly to individual users whenever possible.
  • Use the narrowest practical inventory scope.
  • Separate VM operators, network administrators, datastore consumers, and platform administrators into distinct access profiles.
  • Avoid Administrator for routine operational access.
  • Review direct, inherited, and group-based permissions periodically.
  • Remove unused custom roles and document why retained roles still exist.
  • Give every custom role an owner and a review date.

Troubleshooting Role and Permission Problems

A user can see a VM but cannot power it on or off

  • Read-only may be assigned.
  • The custom role may lack the relevant VM power privilege.
  • The permission scope may not include the VM.

Review permissions on the VM and parent objects, inspect the assigned role's privileges, and confirm propagation where needed.

A user sees or manages more objects than intended

  • A broad permission may have been assigned at a parent object.
  • Propagation may have extended the role to child objects.
  • The user may belong to another group with more permissive access.

Review direct and inherited permissions, check all group memberships, and reduce scope or remove unnecessary propagated assignments.

A user cannot see one particular VM

  • No access may be assigned to the VM or a relevant child object.
  • The expected permission may not propagate to the VM.
  • The user may be signing in with a different identity or may lack expected group membership.

Inspect the VM's Permissions area and inherited assignments, verify identity-source group membership, and confirm the exact sign-in account.

A custom role does not permit an expected task

Identify every object involved in the task. Compare the custom role with a known working role or the product's privilege documentation, then add only the missing privilege after testing. The action may require permissions on more than one related object.

An administrator cannot edit a predefined role

The role is likely a built-in immutable role. Create a custom role with the required privilege set instead.

Exam-Relevant Notes

  • A role is a collection of privileges; it is not a user and does not itself grant access.
  • A permission pairs a user or group with a role on an inventory object.
  • Scope and permission propagation determine which child objects are affected.
  • No access, Read-only, and Administrator are core predefined roles and cannot be edited.
  • Sample roles may vary between vSphere releases, so inspect their actual privileges.
  • Custom roles should follow least privilege, use the narrowest practical scope, and be tested before production assignment.

Roles are most effective when they describe stable job functions, permissions are assigned to groups, and inventory scope matches the work boundary. Regular access reviews help prevent inherited or unused permissions from becoming an unintended security risk.