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.1.0' # string. Required when command = install && isCustomVersion = false. Version. Default: 1.1.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.1.0' # string. Required when plugin = azureKeyVault && command = sign. Plugin Version. Default: 1.1.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.
Входные данные
command
- Выполняемая команда
string
. Обязательный. Допустимые значения: install
, sign
, verify
. Значение по умолчанию: install
.
Указывает режим команд задачи.
- install —
install
команда определяет текущую операционную систему и архитектуру для скачивания соответствующего интерфейса командной строки Notation из выпусков GitHub. Он также проверяет контрольную сумму загруженного файла по золотому файлу в папке./data
и добавляет нотацию в ПУТЬ. - sign —
sign
команда скачивает выбранный подключаемый модуль нотации, проверяет его контрольную сумму, а затем вызывает в интерфейсе командной строки Notation для подписания. - verify — команда
verify
передает хранилище доверия и политику доверия из репозитория кода пользователя в папку конфигурации нотации в соответствии с требованиями notation CLI. Затем он вызывает интерфейс командной строки нотации для выполнения проверки.
isCustomVersion
- Пользовательская версия
boolean
. Необязательный элемент. Используйте при command = install
. Значение по умолчанию: false
.
Укажите true
, чтобы указать пользовательскую версию нотации для задачи, указав URL-адрес для скачивания настраиваемой версии в свойстве url
.
version
- Версия
string
. Требуется при .command = install && isCustomVersion = false
Значение по умолчанию: 1.1.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
.
Ссылки на артефакты контейнера для подписывания. Если этот параметр не указан, задача использует ссылку на артефакт из предыдущей задачи отправки 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), отката к схеме тега ссылок.
plugin
- Плагин
string
. Требуется при .command = sign
Допустимые значения: azureKeyVault
(подключаемый модуль Azure Key Vault). Значение по умолчанию: azureKeyVault
.
akvPluginVersion
- Версия подключаемого модуля
string
. Требуется при .plugin = azureKeyVault && command = sign
Значение по умолчанию: 1.1.0
.
Версия устанавливаемого подключаемого модуля Azure Key Vault. Доступные версии см. на странице выпусков notation-azure-kv .
azurekvServiceConection
- Подключение службы azure Key Vault
string
. Необязательный элемент. Используйте при plugin = azureKeyVault && command = sign
.
Выберите подписку Azure для хранилища ключей, если вы предпочитаете использовать подключение службы для проверки подлинности.
keyid
- Идентификатор ключа
string
. Требуется при .plugin = azureKeyVault && command = sign
Идентификатор ключа — это идентификатор ключа или сертификата для azure Key Vault.
caCertBundle
- Путь к файлу пакета сертификатов
string
. Необязательный элемент. Используйте при plugin = azureKeyVault && command = sign
.
Файл пакета сертификатов с корнем и всеми промежуточными сертификатами, начиная с корневого сертификата, в соответствии с порядком в цепочке сертификатов.
selfSigned
- Самозаверяющий сертификат
boolean
. Необязательный элемент. Используйте при plugin = azureKeyVault && command = sign
. Значение по умолчанию: false
.
Является ли сертификат самозаверяющий.
trustPolicy
- Путь к файлу политики доверия
string
. Требуется при .command = verify
Путь к файлу политики доверия относительно репозитория. Например, ./path/to/trust-policy.json
.
trustStore
- Путь к папке хранилища доверия
string
. Требуется при .command = verify
Путь к каталогу, содержательному хранилищу доверия относительно репозитория. Например, ./path/to/truststore/
.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Нет.
Remarks
Задача нотации вызывает интерфейс командной строки нотации для выполнения операций подписывания и проверки. Нотация CLI — это средство, используемое для подписывания и проверки артефактов или образов контейнера Docker. При подписи артефакта нотация подписывает уникальный дескриптор манифеста артефакта и присоединяет сигнатуру к тому же репозиторию. При проверке артефакта нотация получает подпись из репозитория и проверяет ее на соответствие сертификату в доверенном хранилище.
Предварительные требования
- Для этой задачи требуется доступ к общедоступной сети для скачивания нотации CLI и подключаемого модуля Нотации Azure Key Vault из выпусков Github.
- Поддерживаемая ОС агента: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Команда notation install
Команда install
определяет текущую операционную систему и архитектуру для скачивания соответствующего интерфейса командной строки Notation из выпусков GitHub. Он также проверяет контрольную сумму загруженного файла по золотому файлу в папке ./data
и добавляет нотацию в ПУТЬ.
Команда "Знак нотации"
Команда sign
скачивает выбранный подключаемый модуль Notation, проверяет его контрольную сумму, а затем вызывает в интерфейсе командной строки Notation для подписания.
Команда проверки нотации
Команда verify
передает хранилище доверия и политику доверия из репозитория кода пользователя в папку конфигурации Нотации, как это требуется в интерфейсе командной строки Notation. Затем он вызывает cli нотации для выполнения проверки.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 2.144.0 или более поздней версии |
Категория задач | Служебная программа |