Spec-Zone.ru › Chef 16

azurerm_network_security_group ресурс

[править на GitHub]

Используйте ресурс аудита InSpec для проверки свойств группы безопасности сети Azure.

Версия Azure REST API

Этот ресурс взаимодействует с версией 2018-02-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_network_security_group идентифицирует группу безопасности сети по имени и группе ресурсов.

describe azurerm_network_security_group(resource_group: 'example', name: 'GroupName') do
  ...
end

Примеры

Проверка, что у примера группы ресурсов есть указанная группа безопасности сети

describe azurerm_network_security_group(resource_group: 'example', name: 'GroupName') do
  it { should exist }
end

Проверка, что у примера группы ресурсов есть группа безопасности сети, которая разрешает SSH из интернета

describe azurerm_network_security_group(resource_group: 'example', name: 'GroupName') do
  it { should allow_ssh_from_internet }
end

Параметры

  • name
  • resource_group

Примеры параметров

Имя группы ресурсов и группы безопасности сети.

describe azurerm_network_security_group(resource_group: 'example', name: 'GroupName') do
  it { should allow_rdp_from_internet }
end

Атрибуты

  • security_rules
  • default_security_rules
  • allow_ssh_from_internet
  • allow_rdp_from_internet
  • properties

security_rules

Свойство security_rules содержит набор правил безопасности.

its('security_rules') { should_not be_empty }

default_security_rules

Свойство default_security_rules содержит набор правил безопасности по умолчанию.

its('default_security_rules') { should_not be_empty }

Разрешить SSH из интернета

Свойство allow_ssh_from_internet содержит булево значение, определяемое на основе анализа правил безопасности и правил безопасности по умолчанию для неограниченного доступа SSH.

it { should_not allow_ssh_from_internet }

Разрешить RDP из интернета

Свойство allow_rdp_from_internet содержит булево значение, определяемое на основе анализа правил безопасности и правил безопасности по умолчанию для неограниченного доступа RDP.

it { should_not allow_rdp_from_internet }

Разрешить порт из интернета

Свойство allow_port_from_internet содержит булево значение, определяемое на основе анализа правил безопасности и правил безопасности по умолчанию для неограниченного доступа к указанному порту.

it { should_not allow_port_from_internet('443') }

Другие атрибуты

Существуют дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе можно получить, используя имена ключей, разделенные точками (.).

API не всегда возвращает ключи, у которых нет связанных данных. Возможно, в некоторых случаях у глубоко вложенного свойства отсутствует нужный атрибут в вашей цепочке вызовов. Если вы обнаруживаете, что пишете тесты против свойств, которые могут быть nil, разделите этот набор ресурсов и добавьте обработчик ресурса. В этом обработчике вы сможете защититься от nil-ключей. Запросы на вытягивание всегда приветствуются.

Матчеры

Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров вы найдете на странице Универсальные матчеры.

exists

Контроль будет пройден, если ресурс вернет результат. Используйте should_not если ожидается ноль совпадений.

# If we expect 'GroupName' to always exist
describe azurerm_network_security_group(resource_group: 'example', name: 'GroupName') do
  it { should exist }
end

# If we expect 'EmptyGroupName' to never exist
describe azurerm_network_security_group(resource_group: 'example', name: 'EmptyGroupName') 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_network_security_group/

Spec-Zone.ru

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