Бөлісу құралы:


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.

Указывает режим команд задачи.

  • installinstall команда определяет текущую операционную систему и архитектуру для скачивания соответствующего интерфейса командной строки Notation из выпусков GitHub. Он также проверяет контрольную сумму загруженного файла по золотому файлу в папке ./data и добавляет нотацию в ПУТЬ.
  • signsign команда скачивает выбранный подключаемый модуль нотации, проверяет его контрольную сумму, а затем вызывает в интерфейсе командной строки 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 или более поздней версии
Категория задач Служебная программа