This topic describes the minimum privileges required by the vSphere BOSH CPI.
A vSphere admin must grant minimum privileges to the vSphere service account that VMware Tanzu Operations Manager uses to manage vSphere resources.
The Tanzu Operations Manager account needs privileges at both the vCenter server level and at the Datacenter level.
The recommended permissions in this topic are configured using the API. UI permissions are not included because they vary among vSphere versions. API permissions are consistent across vSphere versions.
For more information about how permission levels and inheritance work in vSphere, see Hierarchical inheritance of permissions.
For more information about vSphere permissions, see vSphere permissions and user management tasks.
Tanzu Operations Manager assigns custom attributes to the virtual machines (VMs) it deploys to identify BOSH releases and job index information about each VM. vCenter APIs require vCenter server level access to manage these custom attributes.
The following table summarizes the privileges that a Tanzu Operations Manager account requires at the vCenter Server instance level. Some of these privileges are inherited, and others must be granted by a vCenter admin.
Object | Privilege (API) |
---|---|
Role | System.Anonymous |
System.Read | |
System.View | |
Global | Global.ManageCustomFields |
Global.SetCustomField | |
Extension.Register | |
Profile-Driven Storage | StorageProfile.Update |
StorageProfile.View |
The following privileges must be set at the data center level.
Object | Privilege (API) |
---|---|
Datastore | Datastore.FileManagement |
Network | Network.Assign |
You must grant the following privileges on any entities in a datacenter where you deploy Tanzu Operations Manager.
Privilege (API) |
---|
Datastore.AllocateSpace |
Datastore.Browse |
Datastore.DeleteFile |
Datastore.FileManagement |
Tanzu Operations Manager creates a folder for VMs, stemcells, and persistent disks during installation. The folder contents change frequently as Tanzu Operations Manager applies changes.
Privilege (API) |
---|
Folder.Create |
Folder.Delete |
Folder.Move |
Folder.Rename |
Privilege (API) |
---|
Host.Inventory.EditCluster |
Host.Config.SystemManagement (Required if using a vSAN with encryption enabled) |
Privilege (API) |
---|
InventoryService.Tagging.CreateTag |
InventoryService.Tagging.EditTag |
InventoryService.Tagging.DeleteTag |
When using vAppImport
to clone a VM, BOSH requires the resource migration privileges to create a new, powered-off VM based on a given stemcell. BOSH migrates the VM to the destination datastore, where Tanzu Operations Manager deploys the VM and powers it on.
Privilege (API) |
---|
Resource.AssignVMToPool |
Resource.ColdMigrate |
Resource.HotMigrate |
Privilege (API) |
---|
StorageProfile.Update |
StorageProfile.View |
See the following tables. They describe Virtual Machines (VMs) in the following categories:
Privilege (API) |
---|
VirtualMachine.Config.AddExistingDisk |
VirtualMachine.Config.AddNewDisk |
VirtualMachine.Config.AddRemoveDevice |
VirtualMachine.Config.AdvancedConfig |
VirtualMachine.Config.CPUCount |
VirtualMachine.Config.Resource |
VirtualMachine.Config.ManagedBy |
VirtualMachine.Config.ChangeTracking |
VirtualMachine.Config.DiskLease |
VirtualMachine.Config.MksControl |
VirtualMachine.Config.DiskExtend |
VirtualMachine.Config.Memory |
VirtualMachine.Config.EditDevice |
VirtualMachine.Config.RawDevice |
VirtualMachine.Config.ReloadFromPath |
VirtualMachine.Config.RemoveDisk |
VirtualMachine.Config.Rename |
VirtualMachine.Config.ResetGuestInfo |
VirtualMachine.Config.Annotation |
VirtualMachine.Config.Settings |
VirtualMachine.Config.SwapPlacement |
VirtualMachine.Config.UpgradeVirtualHardware |
Privilege (API) |
---|
VirtualMachine.GuestOperations.Execute |
VirtualMachine.GuestOperations.Modify |
VirtualMachine.GuestOperations.Query |
Privilege (API) |
---|
VirtualMachine.Interact.AnswerQuestion |
VirtualMachine.Interact.SetCDMedia |
VirtualMachine.Interact.ConsoleInteract |
VirtualMachine.Interact.DefragmentAllDisks |
VirtualMachine.Interact.DeviceConnection |
VirtualMachine.Interact.GuestControl |
VirtualMachine.Interact.PowerOff |
VirtualMachine.Interact.PowerOn |
VirtualMachine.Interact.Reset |
VirtualMachine.Interact.Suspend |
VirtualMachine.Interact.ToolsInstall |
Privilege (API) |
---|
VirtualMachine.Inventory.CreateFromExisting |
VirtualMachine.Inventory.Create |
VirtualMachine.Inventory.Move |
VirtualMachine.Inventory.Register |
VirtualMachine.Inventory.Delete |
VirtualMachine.Inventory.Unregister |
When cloning a stemcell, BOSH sets custom specifications, such as host names and network configurations, based on the stemcell operating system.
The VM download privilege allows BOSH to modify files within a VM, including links between VMs and persistent disks. When vMotion migrates disks in vSphere, BOSH uses these links to maintain the connections between VMs and their persistent disks.
Privilege (API) |
---|
VirtualMachine.Provisioning.DiskRandomAccess |
VirtualMachine.Provisioning.DiskRandomRead |
VirtualMachine.Provisioning.GetVmFiles |
VirtualMachine.Provisioning.PutVmFiles |
VirtualMachine.Provisioning.CloneTemplate |
VirtualMachine.Provisioning.Clone |
VirtualMachine.Provisioning.Customize |
VirtualMachine.Provisioning.DeployTemplate |
VirtualMachine.Provisioning.MarkAsTemplate |
VirtualMachine.Provisioning.MarkAsVM |
VirtualMachine.Provisioning.ModifyCustSpecs |
VirtualMachine.Provisioning.PromoteDisks |
VirtualMachine.Provisioning.ReadCustSpecs |
Before Tanzu Operations Manager deploys a new VM, it uses a snapshot to clone the stemcell image to the destination.
Privilege (API) |
---|
VirtualMachine.State.CreateSnapshot |
VirtualMachine.State.RemoveSnapshot |
VirtualMachine.State.RenameSnapshot |
VirtualMachine.State.RevertToSnapshot |
These privileges must be set at the resource pool level. VApp.ApplicationConfig
is required when attaching or detaching persistent disks.
Privilege (API) |
---|
VApp.Import |
VApp.ApplicationConfig |