Запуск qemu-guest-agent от групповой учетной записи служб в AD
Данная инструкция предназначена для сред, где групповые политики в домене Active Directory забирают права локального администратора у локальных учётных записей.
Для безопасного запуска требующих права администратора служб, приложений и заданий планировщика на серверах и рабочих станциях домена Active Directory можно использовать управляемые учётные записи служб (MSA). Это специальные учётные записи, для которых AD:
- Генерирует сложный пароль (240 символов).
- Автоматически меняет пароль каждые 30 дней.
- Запрещает интерактивный вход (пароль неизвестен никому и не хранится локально).
Создание KDS root key
На контроллере домена AD необходимо открыть PowerShell и выполнить:
Add-KdsRootKey –EffectiveImmediately
Get-KdsRootKey
Test-KdsRootKey -KeyId (Get-KdsRootKey).KeyId
True
.
Примечание
Использовать ключ можно будет через 10 часов.
Создание gMSA
Вместо создания MSA, которые могут быть назначены только одному серверу или рабочей станции, предпочтительнее создать групповую MSA — gMSA. Такая учетная запись может быть использована на всех ВМ, которые принадлежат одной группе безопасности.
Внимание
Все имена учетных записей, название OU и домена являются примерами. Необходимо производить настройку в соответствии с инфраструктурой.
Для создания gMSA необходимо в PowerShell:
-
Создать группу безопасности:
New-ADGroup qemu-agent -path 'OU=Domain Controllers,DC=test,DC=local' -GroupScope Global -PassThru –Verbose
-
Добавить ВМ в группу:
Add-AdGroupMember -Identity qemu-agent -Members FOR-QEMU$
-
Создать gMSA-учётную запись:
New-ADServiceAccount -name qemuGMSA -DNSHostName qemuGMSA.test.local -PrincipalsAllowedToRetrieveManagedPassword qemu-agent –verbose
-
Перезагрузить ВМ, добавленные в группу безопасности, или заново запросить список групп, в которых состоят ВМ, без перезагрузки:
klist.exe -lh 0 -li 0x3e7 purge
После выполнения всех шагов gMSA будет создана в OU Managed Service Accounts
.
Проверка gMSA на ВМ
Необходимо убедиться, что ВМ получила информацию о существовании gMSA. На ВМ в PowerShell нужно выполнить следующее:
-
Установить модуль AD и .NET Framework 3.5+:
Add-WindowsFeature RSAT-AD-PowerShell
-
Проверить наличие gMSA:
Get-ADServiceAccount qemuGMSA -Properties PrincipalsAllowedToRetrieveManagedPassword
Последняя команда должна вернуть значениеTest-ADServiceAccount qemuGMSA
True
, означающее, что создание gMSA было выполнено правильно.
Настройка прав локального администратора через GPO
Затем необходимо при помощи групповых политик в домене настроить права локального администратора для созданной gMSA. Для этого на контроллере домена необходимо выполнить действия:
-
Открыть PowerShell и создать группу безопасности:
New-ADGroup "qemuGMSAgroup" -path 'OU=Domain Controllers,DC=test,DC=local' -GroupScope Global -PassThru –Verbose
Add-AdGroupMember -Identity qemuGMSAgroup -Members qemuGMSA$
-
Создать групповую политику для нужных ВМ.
Для этого необходимо открыть редактор групповых политик и перейти в раздел Конфигурация компьютера - Настройка - Параметры панели управления. Далее нажать на Локальные пользователи и группы - Создать - Локальная группа.
В открывшемся окне необходимо выбрать:
-
Действие: Обновить.
-
Имя группы: Администраторы (встроенная учётная запись).
-
Члены группы: добавить
qemuGMSAgroup
.
Далее сохранить политику, нажав кнопку «ОК».
-
-
Применить групповую политику:
Для этого необходимо выполнить любое действие из следующих:
-
Подождать автоматического применения групповых политик.
-
Перезагрузить ВМ.
-
Выполнить в командной строке:
gpupdate /force
-
Настройка службы QEMU GUEST AGENT
После того как групповая сервисная учетная запись была добавлена в группу локальных администраторов, необходимо настроить запуск службы QEMU GUEST AGENT от имени этой учетной записи.
На ВМ необходимо выполнить следующее:
-
Открыть консоль «Службы» на нужной ВМ.
-
Открыть свойства службы QEMU GUEST AGENT.
-
Во вкладке Вход в систему:
- Выбрать С учётной записью.
- Указать
qemuGMSA$
. - Очистить поле с вводом пароля.
-
Нажать кнопку «ОК», после чего появится окно, что данной учетной записи были предоставлены права Log on as a service.
-
Перезапустить службу QEMU GUEST AGENT.
Примечание
Если гостевой агент в SpaceVM не отображается как активный, то необходимо:
- Убедиться, что политика с правами локального администратора была применена к ВМ.
- Проверить, что служба действительно работает от имени
qemuGMSA$
.