Пользовательские ресурсы: можно ли каждый раз повторно применять настройки?

В последнее время у меня было несколько возможностей создать собственные ресурсы DSC, когда я не могу проверить, была ли уже применена конфигурация. Два примера:

  • Настройка учетной записи службы приложений с именем пользователя/паролем. Я не могу прочитать пароль, чтобы убедиться, что он настроен правильно.
  • Добавление доступа для учетной записи к контейнеру ключей RSA (через aspnet_regiis -pa).

Хотя я мог упустить что-то, что могло бы помочь в этих конкретных сценариях... У меня все еще есть общий вопрос: можно ли повторно применять настройки каждый раз, когда применяется конфигурация DSC? Другими словами, пусть Test-TargetResource всегда возвращает $false...

В документация MSDN говорится:

вызов функции Set-TargetResource более одного раза в последовательности с одними и теми же значениями параметров всегда эквивалентен ее однократному вызову.

... так что повторная подача заявки кажется нормальной. Это, вероятно, просто потеряет немного производительности.


person Jason Capriotti    schedule 05.09.2014    source источник
comment
Бессовестная акция: ознакомьтесь с Carbon_Permission Ресурс ДСК. Он будет правильно проверять, есть ли у контейнера ключей RSA разрешения на него или нет. Он использует Test-Permission для проверки разрешений закрытого ключа. Со временем они станут частью Carbon 2.0.   -  person Aaron Jensen    schedule 06.09.2014


Ответы (1)


Относительно поставленного вопроса

Я думаю, что в целом нормально применять всегда, как вы догадались, но, конечно, всегда помните о любых побочных эффектах.

Например, существует ли политика паролей, которая принудительно сбрасывает пароли учетных записей каждые N дней? Если это так, вы можете непреднамеренно аннулировать эту политику (это всего лишь пример; на самом деле это может не иметь смысла, если вы внимательно посмотрите на мой пример).

И, очевидно, если ваше изменение требует перезагрузки для вступления в силу, вы не хотите всегда выполнять настройку, потому что вы либо не будете принудительно перезагружаться и, следовательно, не будете устанавливать состояние, либо вы всегда будете перезагружаться!

Регистрация/мониторинг

Обратите внимание, что если вы выполняете какой-либо мониторинг состояния вашей системы и дрейфа, у вас могут возникнуть проблемы с этим подходом. Я лично еще не добрался до этого, но я мог видеть, что машина, появляющаяся как «не в конфигурации» каждые 30–60 минут, была бы проблемой.

Ваши сценарии

Когда дело доходит до проверки пароля пользователя, я считаю, что вы можете это сделать. Вы должны уже внедрить пароль, если вы его устанавливаете, поэтому вместо того, чтобы пытаться его прочитать, попробуйте аутентифицироваться как пользователь, используя пароль, который вы знаете.

Что касается RSA... Я не знаком со сценарием, поэтому понятия не имею.

person briantist    schedule 05.09.2014
comment
Согласовано. Вы должны очень, очень сильно постараться вернуть правильное значение из Test-TargetResource, но иногда вы не можете, например, при установке учетных данных службы. Этого не делает даже собственный Service ресурс Microsoft. Он не обрабатывает изменения пароля учетной записи службы. - person Aaron Jensen; 06.09.2014