Customization specifications are VirtualCenter centric. That is, they exist at the VirtualCenter level, which is above the Datacenter level. Providing access at the Datacenter level does not provide adequate permissions, resulting in the error message.
You need to ensure users have adequate permissions.
To ensure users have adequate permissions:
- Create a new custom role and give it the privileges:
Virtual Machine > Provisioning > Read Customization Specifications
Virtual Machine > Provisioning > Modify Customization Specifications
- Assign the user(s)/group this role at the VirtualCenter level without propagation so adequate permissions are granted.