Spec-Zone.ru › Chef 16

Ресурс aws_ecr_images

[править на GitHub]

Используйте ресурс аудита InSpec, чтобы проверить свойства всех изображений в репозитории AWS Elastic Container Registry (ECR). Этот ресурс доступен в пакете ресурсов InSpec AWS версии 1.11.0 и выше.

Синтаксис

Блок ресурса aws_ecr_images объявляет тесты для всех изображений в репозитории AWS ECR по имени репозитория.

describe aws_ecr_images(repository_name: 'my-repo') do
  it { should exist }
end

Параметры

Необходимо указать имя репозитория. Идентификатор реестра — опциональный.

repository_name (обязательно)

Имя репозитория ECR должно соответствовать следующим ограничениям:

  • Шаблон регулярных выражений (?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*.
  • Длина от 2 до 256 символов.

registry_id (необязательно)

12-значный идентификатор AWS Elastic Container Registry. Если не указано, используется по умолчанию реестр.

Свойства

Свойство Описание
digests Значение sha256 дайджеста манифеста изображения. Имя поля digest.
size_in_bytes Размер изображения в байтах в репозитории.
tags Список тегов, связанных с изображением. Имя поля tags.
vulnerability_severity_counts Количество уязвимостей изображения, отсортированные по степени серьезности.
vulnerability_scan_status Текущее состояние сканирования. Возвращает объект статуса сканирования изображения.
pushed_at_dates Дата и время, когда изображение было загружено в репозиторий. Имя поля pushed_at_date.

Примеры

Убедиться, что существует ровно 3 изображения

describe aws_ecr_images(repository_name: 'my-repo') do
  its('count') { should cmp 3 }
end

Используйте этот ресурс InSpec для запроса дайджестов всех изображений, а затем проведите глубокий тест с помощью aws_ecr_image.

aws_ecr_images(repository_name: 'my-repo').digests.each do |image_digest|
  describe aws_ecr_image(repository_name: 'my-repo', image_digest: image_digest) do
    its('tags') { should include('latest') }
  end
end

Матчи

Этот ресурс аудита InSpec имеет следующие специальные матчи. Полный список доступных матчей см. на нашей странице матчей.

exist

Управление будет выполнено успешно, если describe вернет как минимум один результат.

Используйте should_not для проверки, что сущность не должна существовать.

describe aws_ecr_images(repository_name: 'my-repo').where( <property>: <value>) do
  it { should exist }
end

describe aws_ecr_images(repository_name: 'my-repo').where( <property>: <value>) do
  it { should_not exist }
end

Разрешения AWS

Для вашего Принципала необходимо установить разрешение на действие ecr:DescribeImages.

Подробную документацию можно найти по адресу Действия, Ресурсы и Ключи Условий для 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_images/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API