Spec-Zone.ru › Chef 17

Ресурс aws_vpcs

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

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

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

В каждой AWS-учетной записи в каждом регионе существует хотя бы одно 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 Options, используемых соответствующими 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

Проверка определенного ID VPC

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

Использование ID 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 с эффектом, установленным на «Разрешить».

Подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для 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