Популярность PowerShell подстегнула Microsoft к поиску решения как же позволить пользователю выполнять определенные задачи администрирования, но без наличия лишних прав. Так появилась технология PowerShell JEA (Just Enough Admin).
Принцип работы: администратор создает специальный скрипт, в котором указывает набор задач, т.е. доступных пользователю командлетов и их параметров, а затем распространяет с помощью Windows PowerShell DSC. Пользователь, подключаясь к удаленной системе в сеансе PowerShell Remoting под своей обычной учетной записью, может вызвать любой из указанных командлетов или разрешенных приложений. При попытке выполнить любую другую команду получит ошибку. Если потребуется, прозрачно будут даны права локального администратора для выполнения конкретного командлета из разрешенного списка. Все действия регистрируются в журнале Microsoft-Windows-PowerShell/Operational. Информация о пользователе и специфичном RunSpaceID, производимом через JEA, регистрируется в файле C:\ProgramFiles\Jea\Activity\Activity.csv. Учетная запись администратора создается автоматически при развертывании конечной конфигурации (endpoint) JEA, генерируются случайный пароль и имя в формате JSA-*, и она может использоваться только с JEA. Судя по номеру текущей версии, 0.2.16.6 технология еще находится в процессе активной разработки, и в будущем могут появиться новые возможности. C другой стороны уже пять лет как версия пакета не менялась, значит в Microsoft пересматривают концепцию. Поэтому рассмотрим то что имеем на сегодня.
Для установки JEA войдите в соответствующий DSC-сервер в качестве локального(или доменного) администратора, откройте PowerShell и инсталируйте модуль JEA:
Install-Module xJEA
После его установки можете убедиться в наличии JEA так:
Find-Module –Name xJEA | fl
Теперь, когда мы обладаем установленным модулем JEA, наш следующий шаг состоит в подготовке необходимой среды для применения JEA. Это можно осуществить при помощи сценария, который поступает с самим модулем JEA. Он располагается в C:\Program Files\WindowsPowerShell\Modules\xJea\0.2.16.6\Examples\SetupJEA.ps1.