6.2 Role-Based Access Control (RBAC) & Global Permissions
Key Takeaways
The vSphere authorization model evaluates a security triple: Principal (User or Group), Role (collection of granular Privileges), and Inventory Object.
System roles (Administrator, Read-Only, and No Access) are immutable built-in roles that cannot be edited or deleted; custom roles are constructed by selecting individual atomic privileges.
Permission inheritance flows downward through the inventory hierarchy; explicit permissions assigned directly to a child object strictly override inherited permissions from a parent entity.
When an individual user belongs to multiple groups that are assigned different roles at the exact same inventory level, the user receives the union of all assigned privileges.
Global Permissions apply across the entire SSO domain and federated vCenter instances in Enhanced Linked Mode, governing domain-wide services like Content Libraries, Tagging, and licensing.
6.2 Role-Based Access Control (RBAC) & Global Permissions
Securing a multi-tenant or enterprise vSphere infrastructure requires precise, granular control over which users and automated systems can view, modify, or delete virtual workloads and physical compute resources. VMware vSphere implements a comprehensive Role-Based Access Control (RBAC) architecture that abstracts rights into modular components and evaluates authorization at every tier of the datacenter hierarchy.
The vSphere Authorization Model: Principals, Roles & Objects
Authorization in vSphere is governed by the association of three distinct architectural entities, collectively known as a Permission Binding:
+-----------------------------------------------------------------------------------+
| The vSphere Permission Binding Architecture |
| |
| [ Principal ] + [ Role ] + [ Inventory |
| (User or Directory Group) (Collection of Privileges) Object ] |
| |
| Examples: Examples: Examples: |
| - CORP\VirtualAdmins - Administrator (System) - vCenter Root |
| - CORP\HelpDeskTier1 - Read-Only (System) - Datacenter |
| - administrator@vsphere.local - Virtual Machine Power User - VM Folder |
| - svc-backup@corp.local - Custom: Snapshot Admin - Distributed |
| Switch / Port |
+-----------------------------------------------------------------------------------+
1. Principals
A Principal represents the identity performing an action. Principals are authenticated users or security groups derived from configured identity sources (Active Directory over LDAPS, OIDC identity providers, or local vsphere.local accounts).
Architectural Best Practice: Always assign permissions to Directory Groups rather than individual user accounts. Group-based assignment simplifies lifecycle management; onboarding or offboarding personnel in Active Directory automatically adjusts their vSphere access without modifying permission bindings on vCenter objects.
2. Privileges and Roles
- Privileges: The atomic, indivisible rights defined within vCenter Server. Each privilege corresponds to a specific management operation or API call. Examples include:
VirtualMachine.Interact.PowerOnVirtualMachine.Config.AddNewDiskDatastore.AllocateSpaceNetwork.Assign
- Roles: A logical collection of one or more individual privileges. Users cannot be assigned a raw privilege directly; privileges must be packaged inside a role before being bound to an inventory object.
System Roles vs. Custom Roles
vCenter Server provides two categories of roles:
- System Roles (Built-in & Immutable): Pre-packaged roles that exist permanently in vCenter. System roles cannot be renamed, edited, or deleted:
- Administrator: Grants all privileges across all objects in the inventory. It is assigned by default to
administrator@vsphere.local. - Read-Only: Allows the principal to view the state and configuration of inventory objects, performance charts, and tasks, but forbids initiating actions, powering VMs on/off, or modifying configurations.
- No Access: A specialized security role containing zero privileges. Assigning No Access to an object strips all access and masks the object from the user's view, overriding any permissions inherited from higher in the tree.
- Other built-in roles include No cryptography administrator (Administrator privileges except cryptographic operations) and roles used by vSphere Trust Authority (Trusted infrastructure administrator). Know that they exist; the three above are the ones exam questions usually test.
- Administrator: Grants all privileges across all objects in the inventory. It is assigned by default to
- Sample & Custom Roles: vCenter includes sample roles (such as Virtual Machine Power User, Datastore Consumer, and Network Consumer) that can be cloned and modified. Administrators create custom roles to implement least-privilege security boundaries for specialized operational tiers (e.g., storage engineers, network operators, compliance auditors).
Roles vs. Privileges Comparison Matrix
| Role Name | Category | Modifiable? | Sample Key Privileges Included | Typical Operational Use Case |
|---|---|---|---|---|
| Administrator | System Role | No | All privileges across compute, storage, network, and security | Core infrastructure architects and root platform administrators |
| Read-Only | System Role | No | System.View, System.Read, System.Anonymous | Read-only monitoring tools, external auditors, operational dashboards |
| No Access | System Role | No | None (Explicit denial role) | Masking confidential departments or sensitive VMs from broad groups |
| Virtual Machine Power User | Sample Custom | Yes | VM.Interact.*, VM.Config.Rename, VM.SnapshotManagement.* | Development leads, tier-2 application administrators |
| Datastore Administrator | Custom Role | Yes | Datastore.AllocateSpace, Datastore.Configure, Datastore.FileManagement | Storage engineering team managing LUN provisioning and VMFS volumes |
Inventory Hierarchy & Permission Inheritance Rules
vSphere inventory entities are organized in a strict parent-child structural hierarchy:
When a permission binding is created on an object, the administrator can toggle the Propagate to children checkbox. When enabled (the default), the permission cascades downward through every nested container and entity in that branch of the tree.
+-----------------------------------------------------------------------------------+
| Permission Inheritance & Precedence Rules in vSphere |
| |
| 1. Explicit Assignment Trumps Inherited Assignment: |
| [ Datacenter ] ----> Group: Operations | Role: Read-Only (Propagated) |
| | |
| v |
| [ VM Folder: Production ] |
| | |
| v |
| [ VM: Web-Server-01 ] -> Group: Operations | Role: Administrator (Explicit) |
| |
| Result on Web-Server-01: Operations has ADMINISTRATOR rights. |
| The explicit binding on the child object strictly overrides the inherited |
| Read-Only role from the parent Datacenter. |
| |
| 2. Multi-Group Union at the Same Level: |
| [ VM: Database-01 ] |
| ├── Assigned: Group A (Tier-1 Support) | Role: Read-Only |
| └── Assigned: Group B (Database Admins) | Role: VM Power User |
| |
| Result for user in BOTH Group A and Group B: User gets the UNION of rights |
| (VM Power User privileges). |
+-----------------------------------------------------------------------------------+
The Three Fundamental Rules of vSphere Permission Resolution
- Child Precedence (Vertical Rule): A permission placed directly on an inventory object always takes precedence over an inherited permission cascading from a parent object, regardless of whether the child role is more restrictive or less restrictive. If a user is granted
Administratorat the vCenter root, but assignedRead-Onlyon a specific VM Folder, their effective right on that folder and its child VMs is strictlyRead-Only. - Union of Roles (Horizontal Rule): If a user is granted permissions on the exact same inventory object through multiple security group memberships, vCenter resolves the conflict by granting the union of all privileges. The user receives the cumulative rights of all bound roles.
- User Assignment Overrides Group Assignment: If an individual user account is explicitly assigned a permission on an object, that direct user binding takes precedence over any group bindings assigned to that exact same object.
Global Permissions vs. vCenter Inventory Permissions
In multi-vCenter and enterprise environments utilizing Enhanced Linked Mode (ELM), permissions are partitioned into two architectural domains: Local vCenter Inventory Permissions and Global Permissions.
Local vCenter Inventory Permissions
- Scope: Bound directly to entities within an individual vCenter Server's inventory tree (Hosts, Clusters, Datastores, Networks, VMs).
- Storage: Stored locally within the vCenter PostgreSQL database (
VCDB). - Isolation: An inventory permission assigned in
vcenter-ny.corp.localdoes not automatically replicate or grant rights to objects insidevcenter-lon.corp.local, even if both servers share the same SSO domain.
Global Permissions
- Scope: Universal authorization across the entire vSphere Single Sign-On domain. Global Permissions apply to all linked vCenter Server instances as well as domain-wide shared services.
- Storage & Replication: Stored within the VMware Directory Service (
vmdir) and automatically synchronized across all linked vCenter appliances via multi-master replication. - Governed Services:
- Content Libraries: Creating, publishing, and subscribing to global ISO and VM template libraries.
- vSphere Tagging & Custom Attributes: Defining global metadata categories and assigning tags across multi-site inventories.
- License Management: Viewing, assigning, and reporting on license keys consumed across multiple vCenter instances.
- Root Inventory Propagation: If an administrator grants a Global Permission to a principal with the Propagate to children option selected, that principal automatically inherits that role across the root of every vCenter Server in the linked SSO domain.
Principles of Least-Privilege Administration
To prevent security compromises and operational outages, enterprise architectures enforce the following access control safeguards:
- Eliminate Broad Root Administrator Assignments: Never grant domain-level security groups (such as
Domain Admins) theAdministratorrole at the vCenter root object. Reserve full Administrator access for emergency personnel and automation accounts. - Companion Privileges for Provisioning: Virtual machine deployment requires privileges across multiple orthogonal subsystems. To clone or create a virtual machine, the principal must possess:
VirtualMachine.Inventory.Createon the target VM FolderDatastore.AllocateSpaceon the target DatastoreNetwork.Assignon the target Distributed Port Group or Standard Port GroupResource.AssignVMToPoolon the target ESXi Host, Cluster, or Resource Pool If any of these companion privileges are absent, VM provisioning fails with a permission denied error.
Realistic Implementation Scenarios & Exam Traps
Scenario 1: VM Creation Failure Due to Missing Companion Privileges
Problem: A junior cloud administrator is tasked with deploying virtual machines from a golden template. The user has been assigned the custom role VM Creator on the target VM Folder Production-Workloads. However, when attempting to complete the New VM from Template wizard, the final Finish button triggers an immediate error: Permission to perform this operation was denied: User does not hold privilege Network.Assign on DistributedVirtualPortgroup: dvPG-VLAN100.
Root Cause Analysis:
- The junior administrator's custom role provided complete rights over virtual machine inventory (
VirtualMachine.Provisioning.*), but access control in vSphere is enforced on the underlying resources consumed by the VM. - Connecting a virtual machine's virtual network interface card (vNIC) to a network consumes distributed switch port group resources. The user held zero privileges on the network entity.
Resolution:
- In the vSphere Client, navigate to the Networking inventory view.
- Locate the target distributed port group
dvPG-VLAN100. - Navigate to Permissions and click Add.
- Add the junior administrator's security group and assign the sample role Network Consumer (which contains
Network.Assign). - Verify that the user also possesses Datastore Consumer (
Datastore.AllocateSpace) on the target VMFS/vSAN datastore.
Scenario 2: Isolating PCI-DSS Compliance Workloads Using the "No Access" Role
Problem: An enterprise hosts regular corporate workloads and highly audited PCI-DSS payment processing virtual machines within the same vSphere cluster. The general IT Operations group holds the Virtual Machine Power User role propagated from the Datacenter root. Security auditors demand that general IT personnel have zero visibility into payment processing VMs.
Resolution & Verification:
- Create a dedicated VM Folder named
PCI-Compliance-Restrictedunder the Datacenter. - Move all sensitive payment gateway and cardholder virtual machines into this folder.
- Select the
PCI-Compliance-Restrictedfolder, navigate to Permissions, and click Add. - Select the general IT Operations group (
CORP\IT-Ops), assign the No Access system role, and check Propagate to children. - When members of
CORP\IT-Opslog into the vSphere Client, thePCI-Compliance-Restrictedfolder and all nested virtual machines are completely hidden from the inventory tree. Any direct API queries targeting those VM managed object references (MoRefs) return an access denied fault.
Exam Trap: Remember the golden rule of vSphere permission resolution: Direct explicit child assignment beats parent inheritance every time, regardless of role power. If an administrator is granted
Administratorat the cluster level, but assignedRead-Onlyon a specific child VM, the user CANNOT power off or reconfigure that child VM. Furthermore, if a user has conflicting roles assigned via two different security groups at the exact same object level, vCenter grants the union of privileges.
A system engineer is a member of two Active Directory groups: Group-Engineering and Group-Auditing. In the vCenter Server inventory, Group-Engineering is assigned the 'Virtual Machine Power User' role on a VM Folder, and Group-Auditing is assigned the 'Read-Only' role on the exact same VM Folder. What is the engineer's effective permission on the virtual machines inside that folder?
Read-Only, because the more restrictive role always takes precedence to enforce security
Virtual Machine Power User, because permissions assigned to the same object across multiple groups resolve to the union of privileges
No Access, because conflicting role assignments cause an authorization deadlock that revokes permissions
The engineer is prompted at login to select which role profile to assume for that operational session
An IT administrator holds the 'Virtual Machine Administrator' role on a specific VM Folder, which includes full rights to deploy, configure, and power on virtual machines. However, when attempting to clone a virtual machine into this folder and connect it to a distributed port group, the task fails with an authorization error. What is the cause of this failure?
The administrator is missing the Global Permission for VMware Directory Service replication
The ESXi hypervisor hosting the VM is operating in Strict Lockdown Mode
Virtual machine provisioning requires the administrator to possess root SSH credentials on the target host
The administrator lacks companion privileges such as Network.Assign on the distributed port group and Datastore.AllocateSpace on the target datastore
An enterprise operates two vCenter Server appliances in an Enhanced Linked Mode (ELM) configuration within a single Single Sign-On (SSO) domain. The cloud security architect needs to configure user permissions to manage Content Libraries and Global Tags across both vCenter instances. Which permission model should be used?
Global Permissions assigned under Administration > Access Control > Global Permissions
Local inventory permissions assigned on the root object of each individual vCenter Server separately
Direct local ESXi host permissions configured via the ESXi Host Client on port 443
Operating system group memberships configured inside the vCenter Server Appliance shell (/etc/group)
Sections you finish are checked off in the contents.