Ресурс aws_internet_gateway
Используйте ресурс аудита InSpec aws_internet_gateway для проверки свойств отдельного интернет-шлюза AWS.
Синтаксис
Блок ресурса aws_internet_gateway описывает тесты для отдельного интернет-шлюза AWS по его идентификатору или имени.
describe aws_internet_gateway(id: 'igw-abc0123456789deff') do
it { should exist }
end
describe aws_internet_gateway(name: 'my-igw') do
it { should exist }
end
Параметры
Необходимо указать либо идентификатор, либо имя.
id (обязательно, если name не указано)
Значение internet_gateway_id, назначенное AWS после создания ресурса. Оно должно быть в формате igw- с 8 или 17 шестнадцатеричными символами и передаваться как id: 'value' ключ-значение в хэше.
name (обязательно, если id не указано)
Если интернет-шлюзу назначена метка Name, её можно использовать для поиска ресурса. Она должна передаваться как name: 'value' ключ-значение в хэше. Если существует несколько интернет-шлюзов с одинаковым именем, этот ресурс выдаст ошибку.
Свойства
| Свойство | Описание |
|---|---|
| id | Идентификатор интернет-шлюза. |
| name | Значение метки Name. Оно nil если не определено. |
| vpc_id | Идентификатор подключенной VPC. Оно nil если ресурс в состоянии detached. |
| tags | Хэш, где каждая пара ключ-значение соответствует метке интернет-шлюза. |
| attached? | Указывает, подключен ли интернет-шлюз к VPC (true или false). |
| detached? | Указывает, находится ли интернет-шлюз в состоянии отключения (true или false). |
| owner_id | Идентификатор учётной записи AWS, владеющей интернет-шлюзом. |
Доступны и другие свойства. Полный список можно найти в документации API.
Примеры
Проверка подключения интернет-шлюза
describe aws_internet_gateway(name: 'my-igw') do
it { should be_attached }
end
Проверка, что ID подключённой VPC равно vpc-1234567890abcdef1
describe aws_internet_gateway(id: 'igw-abc0123456789deff') do
its('vpc_id') { should eq `vpc-1234567890abcdef1` }
end
Проверка наличия определённой метки у интернет-шлюза
describe aws_internet_gateway(name: 'my-igw') do
its('tags') { should include('environment' => 'dev') }
its('tags') { should include('shutdown-at-10-pm') } # Regardless of the value
end
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
exist
describe aws_internet_gateway(name: 'my-igw') do
it { should exist }
end
Разрешения AWS
Для вашего Принципала должно быть разрешено действие ec2:DescribeInternetGateways.
Подробную документацию можно найти по действиям, ресурсам и ключам условий для Amazon EC2 и действиям, ресурсам и ключам условий для Identity And Access Management.
© 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_internet_gateway/