Ресурс windows_audit_policy
Эта страница сгенерирована из исходного кода клиента Chef Infra. Чтобы предложить изменение, отредактируйте файл windows_audit_policy.rb и отправьте запрос на вытягивание в репозиторий Chef Infra Client.
Используйте ресурс windows_audit_policy для настройки системных и пользовательских параметров расширенной политики аудита Windows.
Новое в Chef Infra Client 16.2.
Синтаксис
Полный синтаксис всех свойств ресурса windows_audit_policy:
windows_audit_policy 'name' do
audit_base_directories true, false
audit_base_objects true, false
crash_on_audit_fail true, false
exclude_user String
failure true, false
full_privilege_auditing true, false
include_user String
subcategory String, Array
success true, false
action Symbol # defaults to :set if not specified
endгде:
-
windows_audit_policy— это ресурс. -
name— это имя, данное блоку ресурса. -
actionопределяет, какие шаги клиент Chef Infra предпримет, чтобы привести узел в желаемое состояние. -
audit_base_directories,audit_base_objects,crash_on_audit_fail,exclude_user,failure,full_privilege_auditing,include_user,subcategory, иsuccess— это доступные свойства этого ресурса.
Действия
Ресурс windows_audit_policy имеет следующие действия:
:nothing- Этот блок ресурса не действует, пока не получит уведомление от другого ресурса о необходимости выполнить действие. После уведомления этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце выполнения Chef Infra Client.
:set- Настроить политику аудита. (по умолчанию)
Свойства
Ресурс windows_audit_policy имеет следующие свойства:
-
audit_base_directories - Тип Ruby: true, false
Установив этот параметр политики аудита в значение true, вы заставите систему назначить системный список управления доступом именованным объектам для включения аудита контейнерных объектов, таких как каталоги.
-
audit_base_objects - Тип Ruby: true, false
Установив этот параметр политики аудита в значение true, вы заставите систему назначить системный список управления доступом именованным объектам для включения аудита базовых объектов, таких как мьютексы.
-
crash_on_audit_fail - Тип Ruby: true, false
Установив этот параметр политики аудита в значение true, вы заставите систему аварийно завершить работу, если система аудита не сможет регистрировать события.
-
exclude_user - Тип Ruby: Строка
Политика аудита, заданная категорией или подкатегорией, применяется на уровне пользователя, если указан пользователь. Если указан пользователь, исключить пользователя. Включить и исключить нельзя использовать одновременно.
-
failure - Тип Ruby: true, false
Указать аудит ошибок. Установив это свойство в значение true, ресурс включит аудит ошибок для категории или подкатегории. Успех — значение по умолчанию и применяется, если не указано ни успех, ни ошибка.
-
full_privilege_auditing - Тип Ruby: true, false
Установив этот параметр политики аудита в значение true, вы заставите проводить аудит всех изменений привилегий, кроме SeAuditPrivilege. Это свойство может привести к более быстрому заполнению журналов.
-
include_user - Тип Ruby: Строка
Политика аудита, заданная категорией или подкатегорией, применяется на уровне пользователя, если указан пользователь. Если указан пользователь, включить пользователя. Включить и исключить нельзя использовать одновременно.
-
subcategory - Тип Ruby: Строка, Массив
Подкатегория политики аудита, заданная GUID или именем. Применяется по всей системе, если не указан пользователь.
-
success - Тип Ruby: true, false
Указать аудит успехов. Установив это свойство в значение true, ресурс включит аудит успехов для категории или подкатегории. Успех — значение по умолчанию и применяется, если не указано ни успех, ни ошибка.
Общие функциональные возможности ресурсов
Ресурсы Chef включают общие свойства, уведомления и блокировки ресурсов.
Общие свойства
Следующие свойства являются общими для всех ресурсов:
compile_time-
Тип Ruby: true, false | Значение по умолчанию:
falseУправляет фазой, в которой ресурс выполняется на узле. Установите в значение true, чтобы запустить ресурс во время сборки коллекции ресурсов (фаза
compile phase). Установите в значение false, чтобы запустить ресурс во время настройки узла клиентом Chef Infra (фазаconverge phase). ignore_failure-
Тип Ruby: true, false, :quiet | Значение по умолчанию:
falseПродолжать выполнение рецепта, если ресурс завершается ошибкой по любой причине.
:quietне отображает полный стек вызовов, и рецепт будет продолжать выполняться, если ресурс завершится ошибкой. retries-
Тип Ruby: Целое число | Значение по умолчанию:
0Количество попыток перехватить исключения и повторить ресурс.
retry_delay-
Тип Ruby: Целое число | Значение по умолчанию:
2Задержка в секундах между попытками повтора.
sensitive-
Тип Ruby: true, false | Значение по умолчанию:
falseОбеспечить, чтобы конфиденциальные данные ресурсов не регистрировались клиентом Chef Infra.
Уведомления
-
notifies -
Тип Ruby: Символ, 'Chef::Resource[String]'
Ресурс может уведомить другой ресурс о необходимости выполнить действие при изменении его состояния. Укажите
'resource[name]', действие, которое должен выполнить:action, и:timerдля этого действия. Один ресурс может уведомлять более одного ресурса; используйте операторnotifiesдля каждого уведомляемого ресурса.Если указанный ресурс не существует, возникает ошибка. В отличие от
subscribesэто не приведет к ошибке, если исходный ресурс не найден.
Таймер определяет момент во время выполнения Chef Infra Client, в который выполняется уведомление. Доступны следующие таймеры:
:before-
Указывает, что действие по уведомленному ресурсу должно выполняться до обработки блока ресурса, в котором находится уведомление.
:delayed-
По умолчанию. Указывает, что уведомление должно быть помещено в очередь и выполнено в конце выполнения Chef Infra Client.
-
:immediate,:immediately -
Указывает, что уведомление должно выполняться немедленно, для каждого уведомленного ресурса.
Синтаксис для notifies:
notifies :action, 'resource[name]', :timer
-
subscribes -
Тип Ruby: Символ, 'Chef::Resource[String]'
Ресурс может слушать другой ресурс и выполнять действие, если состояние слушаемого ресурса изменится. Укажите 'resource[name]', действие, которое нужно выполнить, и :timer для этого действия.
Обратите внимание, что subscribes не применяет указанное действие к ресурсу, который он отслеживает - например:
file '/etc/nginx/ssl/example.crt' do
mode '0600'
owner 'root'
end
service 'nginx' do
subscribes :reload, 'file[/etc/nginx/ssl/example.crt]', :immediately
end
В этом случае свойство subscribes перезагружает службу nginx всякий раз, когда файл ее сертификата, расположенный в /etc/nginx/ssl/example.crt, обновляется. subscribes не вносит никаких изменений в сам файл сертификата, а лишь следит за изменением файла и выполняет действие :reload для своего ресурса (в этом примере nginx) при обнаружении изменения.
Если другой ресурс не существует, подписка не генерирует ошибку. В отличие от более строгой семантики notifies, которая генерирует ошибку, если другой ресурс не существует.
Таймер определяет момент во время выполнения Chef Infra Client, в который выполняется уведомление. Доступны следующие таймеры:
:before-
Указывает, что действие по уведомленному ресурсу должно выполняться до обработки блока ресурса, в котором находится уведомление.
:delayed-
По умолчанию. Указывает, что уведомление должно быть помещено в очередь и выполнено в конце выполнения Chef Infra Client.
-
:immediate,:immediately -
Указывает, что уведомление должно выполняться немедленно, для каждого уведомленного ресурса.
Синтаксис для subscribes:
subscribes :action, 'resource[name]', :timer
Блокировки
Свойство блокировки может использоваться для оценки состояния узла во время фазы выполнения Chef Infra Client. Основываясь на результатах этой оценки, свойство блокировки используется для указания клиенту Chef Infra, должен ли он продолжить выполнение ресурса. Свойство блокировки принимает либо строковое значение, либо значение блока Ruby:
- Строка выполняется как командная строка. Если команда возвращает
0, блокировка применяется. Если команда возвращает любое другое значение, свойство блокировки не применяется. Строковые блокировки в powershell_script выполняют команды Windows PowerShell и могут возвращатьtrueв дополнение к0. - Блок выполняется как код Ruby, который должен вернуть либо
trueлибоfalse. Если блок возвращаетtrue, свойство блокировки применяется. Если блок возвращаетfalse, свойство блокировки не применяется.
Свойство блокировки полезно для обеспечения идемпотентности ресурса, позволяя ресурсу проверять желаемое состояние во время выполнения и, если желаемое состояние присутствует, не выполнять никаких действий.
СвойстваСледующие свойства могут быть использованы для определения блокировки, которая оценивается во время фазы выполнения Chef Infra Client:
not_if-
Запретить выполнение ресурса, когда условие возвращает
true. only_if-
Разрешить выполнение ресурса только в том случае, если условие возвращает
true.
Примеры
В следующих примерах показаны различные подходы к использованию ресурса windows_audit_policy в рецептах:
Установить политику входа и выхода из системы на «Успех и неудача»:
windows_audit_policy "Set Audit Policy for 'Logon and Logoff' actions to 'Success and Failure'" do
subcategory %w(Logon Logoff)
success true
failure true
action :set
end
Установить политику проверки учетных данных на «Успех»:
windows_audit_policy "Set Audit Policy for 'Credential Validation' actions to 'Success'" do
subcategory 'Credential Validation'
success true
failure false
action :set
end
Включить параметр CrashOnAuditFail:
windows_audit_policy 'Enable CrashOnAuditFail option' do
crash_on_audit_fail true
action :set
end
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/resources/windows_audit_policy/