tarefa Notation@0 - Notação v0
Tarefa Pipepine do Azure para configurar a CLI de Notação, assinar e verificar com Notação.
Syntax
# 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.
Entradas
command
- Comando a ser executado
string
. Obrigatórios. Valores permitidos: install
, sign
, verify
. Valor padrão: install
.
Especifica o modo de comando da tarefa.
- install – O
install
comando detecta o sistema operacional atual e a arquitetura para baixar a CLI de Notação correspondente das versões do GitHub. Ele também verifica a soma de verificação do arquivo baixado em relação ao arquivo golden na./data
pasta e adiciona Notação ao PATH. - sign - O
sign
comando baixa o plug-in notation selecionado, valida sua soma de verificação e, em seguida, chama a CLI de Notação para assinar. - verify – O
verify
comando transfere o repositório de confiança e a política de confiança do repositório de código do usuário para a pasta de configuração notação, conforme exigido pela CLI de Notação. Em seguida, ele invoca a CLI de Notação para executar a verificação.
isCustomVersion
- Versão Personalizada
boolean
. Opcional. Use quando command = install
. Valor padrão: false
.
Especifique true
para fornecer uma versão personalizada da Notação para a tarefa especificando uma URL de download para a versão personalizada na url
propriedade .
version
- Versão
string
. Obrigatório quando command = install && isCustomVersion = false
. Valor padrão: 1.1.0
.
A versão do Notation a ser instalada. Exemplo: 1.0.0, 1, 1.0, 1.0.0.
url
- Baixar URL
string
. Obrigatório quando command = install && isCustomVersion = true
.
A URL para uma versão personalizada do Notation a ser usada, por exemplo: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
- Soma
string
. Obrigatório quando command = install && isCustomVersion = true
.
A soma de verificação SHA-256 do arquivo baixado.
artifactRefs
- Referências de artefato
string
. Opcional. Use quando command = verify || command = sign
.
Referências de artefato de contêiner para assinatura. Se não for especificada, a tarefa usará a referência de artefato da tarefa push anterior do Docker. Exemplo: <registry name>/<repository name>@<digest>
. Várias referências de artefato devem ser separadas por vírgula.
signatureFormat
- Formato de assinatura
string
. Opcional. Use quando command = sign && command = sign || command = verify
. Valores Permitidos: cose
e jws
. Valor padrão: cose
.
Formato de envelope de assinatura.
allowReferrersAPI
- [Experimental] Permitir API de Referenciadores
boolean
. Opcional. Use quando command = sign || command = verify
. Valor padrão: false
.
Use a API de Referenciadores para assinar assinaturas, se não houver suporte (retorna 404), fallback para o esquema de marca Referenciadores.
plugin
- Plugin
string
. Obrigatório quando command = sign
. Valores permitidos: azureKeyVault
(Plug-in do Azure Key Vault). Valor padrão: azureKeyVault
.
akvPluginVersion
- Versão do plug-in
string
. Obrigatório quando plugin = azureKeyVault && command = sign
. Valor padrão: 1.1.0
.
A versão do plug-in do Azure Key Vault a ser instalado. Consulte a página de versões notation-azure-kv para versões disponíveis.
azurekvServiceConection
- Conexão de serviço Key Vault do Azure
string
. Opcional. Use quando plugin = azureKeyVault && command = sign
.
Selecione a assinatura do Azure para o cofre de chaves se preferir usar a conexão de serviço para autenticação.
keyid
- ID da chave
string
. Obrigatório quando plugin = azureKeyVault && command = sign
.
A ID da chave é o identificador de chave ou certificado para o Key Vault do Azure.
caCertBundle
- Caminho do arquivo do pacote de certificados
string
. Opcional. Use quando plugin = azureKeyVault && command = sign
.
O arquivo de pacote de certificados com certificados raiz e todos os certificados intermediários, começando pelo certificado raiz, seguindo o pedido na cadeia de certificados.
selfSigned
- Certificado autoassinado
boolean
. Opcional. Use quando plugin = azureKeyVault && command = sign
. Valor padrão: false
.
Se o certificado é um certificado autoassinado.
trustPolicy
- Caminho do arquivo de política de confiança
string
. Obrigatório quando command = verify
.
O caminho para o arquivo de política de confiança em relação ao repositório. Exemplo: ./path/to/trust-policy.json
.
trustStore
- Caminho da Pasta do Repositório de Confiança
string
. Obrigatório quando command = verify
.
O caminho para o diretório que contém o repositório de confiança em relação ao repositório. Exemplo: ./path/to/truststore/
.
Opções de controle da tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Comentários
A tarefa Notação chama a CLI de Notação para executar operações de assinatura e verificação. A CLI de Notação é uma ferramenta usada para assinar e verificar artefatos ou imagens de contêiner do Docker. Ao assinar um artefato, Notation assina o descritor de manifesto exclusivo do artefato e anexa a assinatura ao mesmo repositório. Ao verificar um artefato, Notation recupera a assinatura do repositório e a valida no certificado no repositório de confiança.
Pré-requisitos
- Essa tarefa requer acesso à rede pública para baixar a CLI de Notação e o plug-in de Key Vault do Azure de notação de versões do Github.
- Sistema operacional do agente com suporte: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Comando notation install
O install
comando detecta o sistema operacional atual e a arquitetura para baixar a CLI de Notação correspondente das versões do GitHub. Ele também verifica a soma de verificação do arquivo baixado em relação ao arquivo golden na ./data
pasta e adiciona Notação ao PATH.
Comando de sinal de notação
O sign
comando baixa o plug-in Notation selecionado, valida sua soma de verificação e, em seguida, chama a CLI de Notação para assinar.
Comando Notation verify
O verify
comando transfere o repositório de confiança e a política de confiança do repositório de código do usuário para a pasta de configuração notação, conforme exigido pela CLI de Notação. Em seguida, ele invoca a CLI de Notação para executar a verificação.
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria da tarefa | Utilitário |