Ресурс aws_ecr_repository
Используйте ресурс аудита aws_ecr_repository InSpec для проверки свойств отдельного репозитория AWS Elastic Container Registry (ECR). Данный ресурс доступен в пакете ресурсов InSpec AWS версии 1.11.0 и более поздних.
Синтаксис
Блок ресурса aws_ecr_repository объявляет тесты для отдельного репозитория AWS ECR по имени репозитория.
describe aws_ecr_repository(repository_name: 'my-repo') do
it { should exist }
end
Значение repository_name может быть предоставлено в виде строки.
describe aws_ecr_repository('my-repo') do
it { should exist }
end
Параметры
Имя репозитория должно быть предоставлено. Идентификатор реестра — необязателен.
repository_name (обязательно)
Имя репозитория ECR должно соответствовать следующим ограничениям:
- Шаблон регулярных выражений
(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*. - Длина от 2 до 256 символов.
Его можно передать как строку или в виде пары repository_name: 'value' ключ-значение в хэше.
registry_id (необязательно)
12-значный ID AWS Elastic Container Registry. Если не указан, используется по умолчанию реестр.
Свойства
| Свойство | Описание |
|---|---|
| repository_name | Имя репозитория. |
| image_tag_mutability | Настройки неизменяемости тегов изображений для репозитория. Допустимые значения — MUTABLE или IMMUTABLE. |
| registry_id | Идентификатор AWS учетной записи, связанный с реестром, содержащим репозиторий. |
| tags | Хэш, где каждая пара ключ-значение соответствует тегу, связанному с объектом. |
Доступны и другие свойства. Полный список см. в документации по API.
Примеры
Проверка, что метки изображений IMMUTABLE в репозитории ECR
describe aws_ecr_repository('my-repo') do
its('image_tag_mutability') { should eq 'IMMUTABLE' }
end
Проверка, что изображения сканируются на уязвимости при отправке в репозиторий
describe aws_ecr_repository(repository_name: 'my-repo') do
its('image_scanning_configuration.scan_on_push') { should eq true}
end
Проверка, что в репозитории ECR есть определенная метка
describe aws_ecr_repository('my-repo') do
its('tags') { should include('environment' => 'dev') }
end
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей см. на нашей странице сопоставителей.
exist
describe aws_ecr_repository(repository_name: 'my-repo') do
it { should exist }
end
Разрешения AWS
Для вашего Принципала необходимо установить разрешение на действие ecr:DescribeRepositories.
Подробная документация доступна по адресам: Действия, ресурсы и ключи условий для Amazon ECR и Действия, ресурсы и ключи условий для управления идентификацией и доступом.
© 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_ecr_repository/