Ресурс aws_rds_instances
Используйте ресурс аудита InSpec, чтобы протестировать свойства набора экземпляров AWS RDS.
RDS предоставляет доступ к возможностям сервера баз данных MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle или Amazon Aurora.
Экземпляры RDS — это вычислительные экземпляры, используемые службой RDS.
Синтаксис
Убедитесь, что у вас ровно 3 экземпляра
describe aws_rds_instances do
its('db_instance_identifiers.count') { should cmp 3 }
end
Параметры
Этот ресурс не ожидает параметров.
См. также документацию AWS по RDS.
Свойства
| Свойство | Описание |
|---|---|
| db_instance_identifiers | Уникальные идентификаторы экземпляров RDS, возвращаемые. |
| entries | Предоставляет доступ к исходным результатам запроса, которые можно рассматривать как массив словарей. |
Примеры
Обеспечить существование конкретного экземпляра
describe aws_rds_instances do
its('db_instance_identifiers') { should include 'rds-12345678' }
end
Проверка, что все экземпляры RDS зашифрованы по идентификатору
Используйте ресурс InSpec для запроса идентификаторов всех экземпляров RDS, а затем выполните глубокий тест с помощью aws_rds_instance , чтобы убедиться, что все экземпляры зашифрованы и имеют разумный размер.
aws_rds_instances.db_instance_identifiers.each do |db_instance_identifier|
describe aws_rds_instance(db_instance_identifier) do
it { should be_encrypted }
end
end
Обработчики
Полный список доступных обработчиков можно найти на нашей странице Универсальные обработчики.
exist
Контроль пройдет, если describe вернет как минимум один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_rds_instances do
it { should exist }
end
describe aws_rds_instances do
it { should_not exist }
end
Вашему принципалу потребуются ec2:DescribeInstances, и iam:GetInstanceProfile действия для разрешения. Подробную документацию можно найти в Действия, ресурсы и ключи условий для 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_rds_instances/