Spec-Zone.ru › Chef 18

azurerm_monitor_activity_log_alert ресурс

[редактировать на GitHub]

Используйте ресурс аудита 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

Параметры

  • name
  • resource_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.

  • id
  • name
  • operations
  • properties
  • conditions

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API