Spec-Zone.ru › Chef 17

Ресурс aws_ecr_image

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

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

Синтаксис

Блок ресурса aws_ecr_image описывает тесты для отдельного изображения в репозитории AWS ECR по имени репозитория и идентификатору изображения.

describe aws_ecr_image(repository_name: 'my-repo', image_tag: 'latest') do
  it { should exist }
end

Параметры

Необходимо указать имя репозитория и идентификатор изображения (либо image_tag , либо image_digest). Идентификатор реестра — необязателен.

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

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

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

image_tag (обязательно, если не указан image_digest)

Тег, используемый для изображения. Его длина не должна превышать 300 символов.

image_digest (обязательно, если не указан image_tag)

Хеш-код дайджеста изображения. Он должен соответствовать шаблону регулярных выражений: [a-zA-Z0-9-_+.]+:[a-fA-F0-9]+.

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

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

Свойства

Свойство Описание
repository_name Имя репозитория.
registry_id Идентификатор учётной записи AWS, связанной с реестром, содержащим репозиторий.
tags Список тегов, связанных с этим изображением.
vulnerability_severity_counts Количество уязвимостей изображения, отсортированных по степени критичности, например, {:high=>1}.
vulnerabilities Список хешей, где каждая пара ключ-значение соответствует результатам сканирования изображения сканирования. Например, {:name=>"CVE-2019-14697", :uri=>"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14697", :severity=>"HIGH", :package_version=>"1.1.18-r3", :package_name=>"musl", :CVSS2_VECTOR=>"AV:N/AC:L/Au:N/C:P/I:P/A:P", :CVSS2_SCORE=>"7.5"}
cve_ids Список CVE-идентификаторов уязвимостей в изображении.
highest_vulnerability_severity Оценка CVSS v2 наиболее серьёзной уязвимости в изображении.

Доступно также несколько дополнительных свойств. Полный список см. в документации API.

Примеры

Проверить статус сканирования изображения

describe aws_ecr_image(repository_name: 'my-repo', image_tag: 'latest') do
  its('image_scan_status.status') { should eq 'COMPLETE' }
end

Проверить, что изображение имеет определённый тег

describe aws_ecr_image(repository_name: 'my-repo', image_digest: 'sha256:687fba9b76554c8dea4c40fed4144011f29b8e1d5db5f2fc976c64ed31894967') do
  its('tags') { should include('latest') }
end

Проверить, что изображение не содержит уязвимость Heartbleed

describe aws_ecr_image(repository_name: 'my-repo', image_tag: 'latest') do
  its('cve_ids') { should_not include('CVE-2014-0160') }
end

Проверить, что изображение не содержит уязвимость с критичностью выше CVSS v2 8

describe aws_ecr_image(repository_name: 'my-repo', image_tag: 'latest') do
  its('highest_vulnerability_severity') { should be <= 8 }
end

Обработчики

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

exist

describe aws_ecr_image(repository_name: 'my-repo', image_tag: 'latest') do
    it { should exist }
end

Разрешения AWS

У вашего принципала должны быть разрешены действия ecr:DescribeImages и ecr:DescribeImageScanFindings.

Более подробная информация представлена в документации по действиям, ресурсам и условиям для Amazon ECR, а также документации по действиям, ресурсам и условиям для 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_ecr_image/

Spec-Zone.ru

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