aws_elbs ресурс
Используйте ресурс аудита aws_elbs InSpec для проверки конфигурации набора AWS Elastic Load Balancers.
Синтаксис
describe aws_elbs do
its('load_balancer_names') { should include 'elb-name' }
end
Параметры
Этот ресурс не ожидает никаких параметров.
См. также документацию AWS по Elastic Load Balancing.
Свойства
| Свойство | Описание |
|---|---|
| load_balancer_names | Имя балансировщика нагрузки. |
| dns_names | DNS-имя балансировщика нагрузки. |
| availability_zones | Доступные зоны для балансировщика нагрузки. |
| instance_ids | Массив, содержащий все идентификаторы экземпляров, связанные с ELB. |
| external_ports | Массив внешних портов, открытых на ELB. |
| internal_ports | Массив внутренних портов, открытых на ELB. |
| security_group_ids | Группы безопасности для балансировщика нагрузки. Действительно только для балансировщиков нагрузки в VPC. |
| vpc_ids | Идентификатор VPC для балансировщика нагрузки. |
| subnet_id s | Идентификаторы подсетей для балансировщика нагрузки. |
Примеры
Убедитесь, что нет балансировщиков нагрузки с нежелательной зоной.
describe aws_elbs do
it { should exist }
its('availability_zones') { should_not include 'us-east-1a'}
end
Убедиться, что все ELB открывают только порт 80
aws_elbs.each do |elb|
describe elb do
its('external_ports.count') { should cmp 1 }
its('external_ports') { should include 80 }
its('internal_ports.count') { should cmp 1 }
its('internal_ports') { should include 80 }
end
end
Матчеры
Полный список доступных матчеров можно найти на нашей странице матчеров.
exist
Контроль будет пройден, если описание вернёт как минимум один результат.
Используйте should_not для проверки того, что сущность не должна существовать.
describe aws_elbs.where( <property>: <value>) do
it { should exist }
end
describe aws_elbs.where( <property>: <value>) do
it { should_not exist }
end
Разрешения AWS
Для вашего субъекта действие elasticloadbalancing:DescribeLoadBalancers должно быть установлено в значение «Разрешено».
Подробную документацию можно найти по адресу Аутентификация и контроль доступа к вашим балансировщикам нагрузки
© 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_elbs/