azurerm_monitor_activity_log_alert ресурс
Используйте ресурс аудита InSpec azurerm_monitor_activity_log_alert для проверки свойств оповещения об активности журнала Azure Monitor.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-04-01 API управления Azure. Дополнительную информацию можно найти в официальной документации Azure.
В настоящее время нет возможности выбрать версию документации Azure API. Если вы обнаружите упоминание более новой версии в официальной документации, пожалуйста, создайте вопрос или отправьте запрос на вытягивание с обновленной версией.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Для его использования добавьте следующее в свой inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Также вам необходимо настроить свои учетные данные Azure; см. README пакета ресурсов.
Синтаксис
Блок ресурса azurerm_monitor_activity_log_alert идентифицирует оповещение журнала активности по имени и группе ресурсов.
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'AlertName') do
...
end
Примеры
Проверка наличия оповещения об активности журнала в примере ресурса
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'AlertName') do
it { should exist }
end
Проверка наличия оповещения об активности журнала с правильной операцией в примере ресурса
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'AlertName') do
its('operations') { should include 'Microsoft.Authorization/policyAssignments/write' }
end
Параметры
nameresource_group
Примеры параметров
Группа ресурсов, а также имя оповещения об активности журнала.
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'AlertName') do
its('operations') { should include 'Microsoft.Authorization/policyAssignments/write' }
end
Атрибуты
Дополнительную информацию об этих атрибутах см. в документации Azure REST API.
idnameoperationspropertiesconditions
id
Идентификатор оповещения об активности журнала.
its('id') { should eq(id) }
name
Имя оповещения об активности журнала.
its('name') { should eq(name) }
operations
Коллекция операций может быть проверена на наличие или отсутствие заданной строки операции.
its('operations') { should include 'Microsoft.Authorization/policyAssignments/write' }
properties.actions
Список действий, выполняемых при выполнении условия.
properties.description
Описание этого оповещения.
its('properties.description') { should eq 'Alert description' }
properties.enabled
Указывает, включено ли это оповещение (true|false).
its('properties.enabled') { should be_true }
properties.scopes
Список ресурсов, к которым применяется это оповещение. В этом списке должно быть как минимум одно значение.
its('properties.scopes') { should include 'subscriptions/SUBSCRIPTION_ID' }
Другие атрибуты
Существуют дополнительные атрибуты, к которым можно получить доступ, которые мы не документировали. Обратитесь к документации Azure. Любой атрибут в ответе можно получить по ключам, разделенным точками (.).
API может не возвращать ключи, не имеющие связанных данных. В некоторых случаях вложенный атрибут может отсутствовать в вашей цепочке вызовов. Если вы пишете тесты на атрибуты, которые могут быть null, создайте fork этого пакета ресурсов и добавьте к нему метод доступа. В этом методе доступа вы сможете защититься от null-ключей. Запросы на вытягивание всегда приветствуются.
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице Универсальные сопоставители.
exists
Управление будет выполнено, если ресурс вернёт результат. Используйте should_not если ожидается ноль совпадений.
# If we expect 'AlertName' to always exist
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'AlertName') do
it { should exist }
end
# If we expect 'OtherAlertName' to never exist
describe azurerm_monitor_activity_log_alert(resource_group: 'example', name: 'OtherAlertName') do
it { should_not exist }
end
Разрешения Azure
Ваш сервисный принцип должен быть настроен с ролью contributor на подписке, которую вы хотите протестировать.
© 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/inspec/resources/azurerm_monitor_activity_log_alert/