Notation@0 — задача Нотации v0
Задача Azure Pipepine для настройки интерфейса командной строки нотации, подписывания и проверки с помощью Нотации.
Синтаксис
# Notation v0
# Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation.
- task: Notation@0
inputs:
command: 'install' # 'install' | 'sign' | 'verify'. Required. Command to run. Default: install.
# Command Configuration
#isCustomVersion: false # boolean. Optional. Use when command = install. Custom Version. Default: false.
#version: '1.2.0' # string. Required when command = install && isCustomVersion = false. Version. Default: 1.2.0.
#url: # string. Required when command = install && isCustomVersion = true. Download URL.
#checksum: # string. Required when command = install && isCustomVersion = true. Checksum.
#artifactRefs: # string. Optional. Use when command = verify || command = sign. Artifact references.
#trustPolicy: # string. Required when command = verify. Trust Policy File Path.
#trustStore: # string. Required when command = verify. Trust Store Folder Path.
# Advanced Configuration
#signatureFormat: 'cose' # 'cose' | 'jws'. Optional. Use when command = sign && command = sign || command = verify. Signature Format. Default: cose.
#allowReferrersAPI: false # boolean. Optional. Use when command = sign || command = verify. [Experimental] Allow Referrers API. Default: false.
# Plugin Configuration
#plugin: 'azureKeyVault' # 'azureKeyVault'. Required when command = sign. Plugin. Default: azureKeyVault.
#akvPluginVersion: '1.2.0' # string. Required when plugin = azureKeyVault && command = sign. Plugin Version. Default: 1.2.0.
#azurekvServiceConection: # string. Optional. Use when plugin = azureKeyVault && command = sign. Azure Key Vault service connection.
#keyid: # string. Required when plugin = azureKeyVault && command = sign. Key ID.
#caCertBundle: # string. Optional. Use when plugin = azureKeyVault && command = sign. Certificate Bundle File Path.
#selfSigned: false # boolean. Optional. Use when plugin = azureKeyVault && command = sign. Self-signed Certificate. Default: false.
# Timestamp
#timestampURL: # string. Optional. Use when command = sign. Timestamp URL.
#timestampRootCert: # string. Optional. Use when command = sign. Timestamp Root Certificate.
Входы
Команда command
- для выполнения
string
. Обязательно. Допустимые значения: install
, sign
, verify
. Значение по умолчанию: install
.
Задает режим команды задачи.
-
установить. Команда
install
обнаруживает текущую операционную систему и архитектуру, чтобы скачать соответствующий интерфейс командной строки нотации из выпусков GitHub. Он также проверяет контрольную сумму скачаемого файла с золотым файлом в папке./data
и добавляет нотацию в PATH. -
знак . Команда
sign
скачивает выбранный подключаемый модуль нотации, проверяет ее контрольную сумму, а затем вызывает интерфейс командной строки нотации для входа. -
убедитесь, что . Команда
verify
передает политику хранилища доверия и доверия из репозитория кода пользователя в папку конфигурации нотации, как требуется cli нотации. Затем он вызывает интерфейс командной строки нотации для выполнения проверки.
isCustomVersion
-
настраиваемую версию
boolean
. Необязательный. Используется при command = install
. Значение по умолчанию: false
.
Укажите true
для предоставления пользовательской версии нотации для задачи, указав URL-адрес скачивания для пользовательской версии в свойстве url
.
version
-
версии
string
. Требуется, если command = install && isCustomVersion = false
. Значение по умолчанию: 1.2.0
.
Версия нотации для установки. Пример: 1.0.0, 1, 1.0, 1.0.0.
url
-
URL-адрес скачивания
string
. Требуется, если command = install && isCustomVersion = true
.
URL-адрес пользовательской версии нотации, используемой, например, https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
-
контрольной суммы
string
. Требуется, если command = install && isCustomVersion = true
.
Контрольная сумма SHA-256 скачаемого файла.
ссылки на артефакты artifactRefs
-
string
. Необязательный. Используется при command = verify || command = sign
.
Ссылки на артефакты контейнера для подписывания. Если это не указано, задача использует ссылку на артефакт из предыдущей задачи push-отправки Docker. Пример: <registry name>/<repository name>@<digest>
. Несколько ссылок артефактов должны быть разделены запятыми.
signatureFormat
-
формат подписи
string
. Необязательный. Используется при command = sign && command = sign || command = verify
. Допустимые значения: cose
, jws
. Значение по умолчанию: cose
.
Формат конверта подписи.
allowReferrersAPI
-
[Экспериментальный] Разрешить API ссылок
boolean
. Необязательный. Используется при command = sign || command = verify
. Значение по умолчанию: false
.
Используйте API ссылок для подписи подписей, если не поддерживается (возвращается 404), резервный возврат к схеме тегов ссылок.
подключаемого модуля
string
. Требуется, если command = sign
. Допустимые значения: azureKeyVault
(подключаемый модуль Azure Key Vault). Значение по умолчанию: azureKeyVault
.
akvPluginVersion
-
версия подключаемого модуля
string
. Требуется, если plugin = azureKeyVault && command = sign
. Значение по умолчанию: 1.2.0
.
Версия установленного подключаемого модуля Azure Key Vault. На странице выпусков нотации azure-kv доступных версий.
azurekvServiceConection
-
подключение службы Azure Key Vault
string
. Необязательный. Используется при plugin = azureKeyVault && command = sign
.
Выберите подписку Azure для хранилища ключей, если предпочитаете использовать подключение службы для проверки подлинности.
идентификатор ключа
string
. Требуется, если plugin = azureKeyVault && command = sign
.
Идентификатор ключа — это ключ или идентификатор сертификата для Azure Key Vault.
пути к файлу пакета сертификатов
string
. Необязательный. Используется при plugin = azureKeyVault && command = sign
.
Файл пакета сертификатов с корневыми и всеми промежуточными сертификатами, начиная с корневого сертификата, следуя порядку в цепочке сертификатов.
selfSigned
-
самозаверяющий сертификат
boolean
. Необязательный. Используется при plugin = azureKeyVault && command = sign
. Значение по умолчанию: false
.
Указывает, является ли сертификат самозаверяющий сертификат.
timestampURL
-
URL-адрес метки времени
string
. Необязательный. Используется при command = sign
.
URL-адрес сервера rfC 3161 Timestamping Authority (TSA). (Требовать нотацию версии 1.2.0 или более поздней версии).
корневого сертификата метки времени
string
. Необязательный. Используется при command = sign
.
файл пути корневого сертификата центра метки времени. (Требовать нотацию версии 1.2.0 или более поздней версии).
trustPolicy
-
пути к файлу политики доверия
string
. Требуется, если command = verify
.
Путь к политике доверия файла относительно репозитория. Пример: ./path/to/trust-policy.json
.
trustStore
-
Путь к папке хранилища доверия
string
. Требуется, если command = verify
.
Путь к каталогу, содержащему хранилище доверия доверия, относительно репозитория. Пример: ./path/to/truststore/
.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Никакой.
Замечания
Задача нотации вызывает интерфейс командной строки нотации для выполнения операций подписывания и проверки. Нотация CLI — это средство, используемое для подписывания и проверки артефактов контейнера Docker или изображений. При подписи артефакта нотация подписывает уникальный дескриптор манифеста артефакта и присоединяет подпись к одному репозиторию. При проверке артефакта Нотация извлекает подпись из репозитория и проверяет его на соответствие сертификату в хранилище доверия.
Необходимые условия
- Для этой задачи требуется доступ к общедоступной сети для скачивания интерфейса командной строки нотации и подключаемого модуля Azure Key Vault из выпусков Github.
- Поддерживаемая ОС агента: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Команда установки нотации
Команда install
обнаруживает текущую операционную систему и архитектуру, чтобы скачать соответствующий интерфейс командной строки нотации из выпусков GitHub. Он также проверяет контрольную сумму скачаемого файла с золотым файлом в папке ./data
и добавляет нотацию в PATH.
Команда подписи нотации
Команда sign
скачивает выбранный подключаемый модуль Нотации, проверяет ее контрольную сумму, а затем вызывает интерфейс командной строки нотации для входа.
Команда проверки нотации
Команда verify
передает политику хранилища доверия и доверия из репозитория кода пользователя в папку конфигурации нотации в соответствии с требованиями cli нотации. Затем он вызывает интерфейс командной строки нотации для выполнения проверки.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Никакой |
возможностей |
Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любой |
переменные settable | Любой |
Версия агента | 2.144.0 или более поздней версии |
Категория задач | Полезность |