Ресурс aws_ecr_repositories
Используйте ресурс аудита InSpec aws_ecr_repositories, чтобы проверить свойства всех репозиториев в AWS Elastic Container Registry (ECR). Данный ресурс доступен в пакете ресурсов InSpec AWS версии 1.11.0 и более поздних.
Синтаксис
Блок ресурса aws_ecr_repositories объявляет тесты для всех репозиториев AWS ECR в реестре по умолчанию, если не указан идентификатор реестра.
describe aws_ecr_repositories do
it { should exist }
end
Репозитории в нестандартном реестре могут быть проверены путём предоставления идентификатора реестра, если у пользователя AWS есть необходимые разрешения на него.
describe aws_ecr_repositories(registry_id: '123456789012') do
it { should exist }
end
Параметры
Идентификатор реестра является необязательным.
registry_id (необязательно)
12-значный ID AWS Elastic Container Registry. Если не указан, предполагается реестр по умолчанию.
Свойства
| Свойство | Описание |
|---|---|
| arns | Amazon Resource Name (ARN), идентифицирующий репозиторий. |
| names | Название репозитория. |
| uris | URI репозитория. |
| created_at_dates | Дата и время создания репозитория в формате даты JavaScript. |
| image_tag_mutability_status | Настройка изменяемости тегов репозитория. |
| image_scanning_on_push_status | Настройка, определяющая, будут ли изображения сканироваться после отправки в репозиторий. |
Примеры
Убедитесь, что в реестре по умолчанию ровно 3 репозитория
describe aws_ecr_repositories do
its("count") { should cmp 3 }
end
Используйте этот ресурс InSpec для запроса имен всех репозиториев, а затем проведите глубокое тестирование с помощью aws_ecr_repository.
aws_ecr_repositories.names.each do |repository_name|
describe aws_ecr_repository(repository_name) do
its('image_tag_mutability') { should eq 'MUTABLE' }
end
end
Сопоставители
Полный список доступных сопоставителей можно найти на нашей странице Универсальные сопоставители.
exist
Контроль пройдет, если describe вернёт как минимум один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_ecr_repositories.where( <property>: <value>) do
it { should exist }
end
describe aws_ecr_repositories.where( <property>: <value>) do
it { should_not 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_repositories/