Spec-Zone.ru › Chef 16

ресурс aws_ecr_image

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

Используйте aws_ecr_image ресурс проверки InSpec, чтобы проверить свойства отдельного образа в репозитории 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 не предоставлен)

Хеш-значение sha256 образа манифеста. Он должен соответствовать шаблону регулярного выражения: [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 ID уязвимостей в образе.
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