Начиная с VMware vSphere 6.0, компания VMware предлагает администраторам очень удобный механизм для назначения прав доступа на самом высоком уровне при наличии нескольких серверов VMware vCenter - глобальные пермиссии (global permissions).
Для тех, кто использует режим vCenter Enhanced Linked Mode (ELM) с несколькими географически разделенными площадками и разнородными инфраструктурами, глобальные пермиссии - это отличное решение, так как они создаются один раз, после чего распространяются и (что самое главное) поддерживаются в согласованном состоянии на всех серверах vCenter связанной инфраструктуры в рамках одного домена Single Sign-On (SSO).
Вильям Лам, известный своими сценариями для автоматизации инфраструктуры vSphere, написал удобный скрипт GlobalPermissions.ps1, позволяющий добавлять и удалять глобальные пермиссии. Он содержит методы New-GlobalPermission и Remove-GlobalPermission, для которых можно задавать следующие параметры:
vc_server - хост сервера vCenter
vc_username - имя пользователя vCenter
vc_password - пароль пользователя vCenter
vc_user - пользователь vCenter, которому будут назначаться пермиссии
vc_role_id - идентификатор Role ID, который связан с ролью vSphere на данном vCenter Server
propagate - значение true или false для распространения пермиссий вниз по уровням иерархии
Чтобы получить параметр vc_role_id, нужно соединиться с vCenter Server и указать имя роли, выполнив сниппет ниже. В данном примере мы получаем ID административной роли с именем Admin:
(Get-VIRole -Name Admin).ExtensionData.RoleId
Вот пример создания новой глобальной пермиссии для одного из пользователей: