Spec-Zone.ru › Chef 16

Ресурс aws_vpcs

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

Используйте ресурс аудита InSpec aws_vpcs для проверки свойств некоторых или всех виртуальных частных облаков (VPC) AWS.

Каждое VPC уникально идентифицируется своим идентификатором VPC. Кроме того, каждое VPC имеет не уникальный диапазон CIDR IP-адресов (например, 10.0.0.0/16), которым оно управляет.

В каждом аккаунте AWS в каждой области имеется как минимум одно VPC, «по умолчанию», VPC.

Синтаксис

Блок ресурса aws_vpcs использует необязательный фильтр для выбора группы VPC и затем тестирует эту группу.

# Since you always have at least one VPC, this will always pass.
describe aws_vpcs do
  it { should exist }
end

Параметры

Этот ресурс не ожидает никаких параметров.

См. также документацию AWS по VPC.

Свойства

Свойство Описание
cidr_blocks Свойство cidr_blocks предоставляет список CIDR-блоков, которые обслуживают соответствующие VPC, в виде строк.
dhcp_options_ids Свойство dhcp_option_set_ids предоставляет список (без дубликатов) идентификаторов наборов DHCP Option Set, которые используемые соответствующими VPC при назначении IP-адресов ресурсам.
vpc_ids Свойство vpc_ids предоставляет список идентификаторов соответствующих VPC.
tags Хэш пар ключ-значение, соответствующих тегам, связанным с сущностью.
entries Предоставляет доступ к исходным результатам запроса, который может рассматриваться как массив хэшей.

Примеры

Убедитесь, что все VPC используют один и тот же набор DHCP-опций

describe aws_vpcs.where { dhcp_options_id != 'dopt-12345678' } do
  it { should_not exist }
end

Проверка на определенный идентификатор VPC

describe aws_vpcs do
  its('vpc_ids') { should include 'vpc-12345678' }
end

Использование идентификаторов VPC для получения списка стандартных групп безопасности

aws_vpcs.vpc_ids.each do |vpc_id|
  describe aws_security_group(vpc_id: vpc_id, group_name: 'default') do
    it { should_not allow_in(port: 22) }
  end
end

Мы избегаем пространства 10.0.0.0/8

describe aws_vpcs.where { cidr_block.start_with?('10') } do
  it { should_not exist }
end

Проверка тегов

describe aws_vpc do
  its('tags') { should include(:Environment => 'env-name',
                               :Name => 'vpc-name')}
end

Сопоставители

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

exist

Контроль пройдет, если describe вернет по крайней мере один результат.

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

describe aws_vpcs do
  it { should exist }
end

describe aws_vpcs.where( <property>: <value>) do
  it { should_not exist }
end

Разрешения AWS

Ваш Принципал должен иметь ec2:DescribeVpcs действие с эффектом Allow.

Подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для Amazon EC2.

© 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/aws_vpcs/

Spec-Zone.ru

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