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