This article lists the user privileges required to successfully create and manage VMware vSphere machines through XenApp and XenDesktop.
Note: Create AppDisks and Delete AppDisks sections of this article are valid only for VMware vSphere minimum version 5.5 and XenApp and XenDesktop minimum version 7.8).
Create a VMware user account and one or more VMware roles with a set or all of the privileges listed below. Base the roles' creation on the specific level of granularly required over the user’s permissions to request the various XenApp or XenDesktop operations at any time. To grant the user specific permissions at any point, associate them with the respective role, at the DataCenter level at a minimum.
The following tables show the mappings between XenApp and XenDesktop operations and the minimum required VMware privileges.
SDK | User Interface |
System.Anonymous, System.Read, and System.View | Added automatically. Can use the built-in Read-only role. |
SDK | User Interface |
Datastore.AllocateSpace | Datastore > Allocate space |
Datastore.Browse | Datastore > Browse datastore |
Datastore.FileManagement | Datastore > Low level file operations |
Network.Assign | Network > Assign network |
Resource.AssignVMToPool | Resource > Assign virtual machine to resource pool |
VirtualMachine.Config.AddExistingDisk | Virtual machine > Configuration > Add existing disk |
VirtualMachine.Config.AddNewDisk | Virtual machine > Configuration > Add new disk |
VirtualMachine.Config.AdvancedConfig | Virtual machine > Configuration > Advanced |
VirtualMachine.Config.RemoveDisk | Virtual machine > Configuration > Remove disk |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |
VirtualMachine.Interact.PowerOn | Virtual machine > Interaction > Power On |
VirtualMachine.Inventory.CreateFromExisting | Virtual machine > Inventory > Create from existing |
VirtualMachine.Inventory.Create | Virtual machine > Inventory > Create new |
VirtualMachine.Inventory.Delete | Virtual machine > Inventory > Remove |
VirtualMachine.Provisioning.Clone | Virtual machine > Provisioning > Clone virtual machine |
VirtualMachine.State.CreateSnapshot | vSphere 5.0, Update 2 and vSphere 5.1, Update 1: Virtual machine > State > Create snapshot vSphere 5.5: Virtual machine > Snapshot management > Create snapshot |
If you want the VMs you create to be tagged, add the following permissions for the user account:
SDK | User Interface |
Global.ManageCustomFields | Global > Manage custom attributes |
Global.SetCustomField | Global > Set custom attribute |
To ensure that you use a clean base image for creating new VMs, tag VMs created with Machine Creation Services to exclude them from the list of VMs available to use as base images.
All privileges from “Provision machines (Machine Creation Services)” and:
SDK | User Interface |
VirtualMachine.Config.AddRemoveDevice | Virtual machine > Configuration > Add or remove device |
VirtualMachine.Config.CPUCount | Virtual machine > Configuration > Change CPU Count |
VirtualMachine.Config.Memory | Virtual machine > Configuration > Memory |
VirtualMachine.Config.Settings | Virtual machine > Configuration > Settings |
VirtualMachine.Provisioning.CloneTemplate | Virtual machine > Provisioning > Clone template |
VirtualMachine.Provisioning.DeployTemplate | Virtual machine > Provisioning > Deploy template |
SDK | User Interface |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |
VirtualMachine.Interact.PowerOn | Virtual machine > Interaction > Power On |
VirtualMachine.Interact.Reset | Virtual machine > Interaction > Reset |
VirtualMachine.Interact.Suspend | Virtual machine > Interaction > Suspend |
SDK | User Interface |
Datastore.AllocateSpace | Datastore > Allocate space |
Datastore.Browse | Datastore > Browse datastore |
Datastore.FileManagement | Datastore > Low level file operations |
Network.Assign | Network > Assign network |
Resource.AssignVMToPool | Resource > Assign virtual machine to resource pool |
VirtualMachine.Config.AddExistingDisk | Virtual machine > Configuration > Add existing disk |
VirtualMachine.Config.AddNewDisk | Virtual machine > Configuration > Add new disk |
VirtualMachine.Config.AdvancedConfig | Virtual machine > Configuration > Advanced |
VirtualMachine.Config.RemoveDisk | Virtual machine > Configuration > Remove disk |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |
VirtualMachine.Interact.PowerOn | Virtual machine > Interaction > Power On |
VirtualMachine.Interact.Reset | Virtual machine > Interaction > Reset |
VirtualMachine.Inventory.CreateFromExisting | Virtual machine > Inventory > Create from existing |
VirtualMachine.Inventory.Create | Virtual machine > Inventory > Create new |
VirtualMachine.Inventory.Delete | Virtual machine > Inventory > Remove |
VirtualMachine.Provisioning.Clone | Virtual machine > Provisioning > Clone virtual machine |
SDK | User Interface |
Datastore.Browse | Datastore > Browse datastore |
Datastore.FileManagement | Datastore > Low level file operations |
VirtualMachine.Config.RemoveDisk | Virtual machine > Configuration > Remove disk |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |
VirtualMachine.Inventory.Delete | Virtual machine > Inventory > Remove |
Create AppDisks (valid for VMware vSphere minimum version 5.5 and XenApp and XenDesktop minimum version 7.8)
SDK | User Interface |
Datastore.AllocateSpace | Datastore > Allocate space |
Datastore.Browse | Datastore > Browse datastore |
Datastore.FileManagement | Datastore > Low level file operations |
VirtualMachine.Config.AddExistingDisk | Virtual machine > Configuration > Add existing disk |
VirtualMachine.Config.AddNewDisk | Virtual machine > Configuration > Add new disk |
VirtualMachine.Config.AdvancedConfig | Virtual machine > Configuration > Advanced |
VirtualMachine.Config.EditDevice | Virtual machine > Configuration > Modify Device Settings |
VirtualMachine.Config.RemoveDisk | Virtual machine > Configuration > Remove disk |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |
VirtualMachine.Interact.PowerOn | Virtual machine > Interaction > Power On |
Delete AppDisks (valid for VMware vSphere minimum version 5.5 and XenApp and XenDesktop minimum version 7.8)
SDK | User Interface |
Datastore.Browse | Datastore > Browse datastore |
Datastore.FileManagement | Datastore > Low level file operations |
VirtualMachine.Config.RemoveDisk | Virtual machine > Configuration > Remove disk |
VirtualMachine.Interact.PowerOff | Virtual machine > Interaction > Power Off |