Notation@0 - Tarefa de notação v0
Azure Pipepine Task para configurar a CLI de Notação, assinar e verificar com Notação.
Sintaxe
# 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.
Insumos
command
-
comando para executar
string
. Necessário. Valores permitidos: install
, sign
, verify
. Valor padrão: install
.
Especifica o modo de comando da tarefa.
-
instalar - O comando
install
deteta o sistema operacional e a arquitetura atuais 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 dourado na pasta./data
e adiciona notação ao PATH. -
assinar - O comando
sign
baixa o plug-in de notação selecionado, valida sua soma de verificação e, em seguida, chama a CLI de notação para assinar. -
verificar - O comando
verify
transfere o armazenamento 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
fornecer uma versão personalizada de Notação para a tarefa especificando uma URL de download para a versão personalizada na propriedade url
.
version
-
Versão
string
. Necessário quando command = install && isCustomVersion = false
. Valor padrão: 1.2.0
.
A versão do Notation a ser instalada. Exemplo: 1.0.0, 1, 1.0, 1.0.0.
url
-
URL de download
string
. Necessário quando command = install && isCustomVersion = true
.
A URL para uma versão personalizada da Notação a ser usada, por exemplo: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
-
Checksum
string
. Necessário quando command = install && isCustomVersion = true
.
A soma de verificação SHA-256 do arquivo baixado.
artifactRefs
-
Referências de artefactos
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 de 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
, jws
. Valor padrão: cose
.
Formato do envelope de assinatura.
allowReferrersAPI
-
[Experimental] Permitir API de referência
boolean
. Opcional. Use quando command = sign || command = verify
. Valor padrão: false
.
Use a API Referenciadores para assinar assinaturas, se não houver suporte (retorna 404), fallback para o esquema da marca Referenciadores.
plugin
-
Plugin
string
. Necessário quando command = sign
. Valores permitidos: azureKeyVault
(Plug-in do Azure Key Vault). Valor padrão: azureKeyVault
.
akvPluginVersion
-
Versão do Plugin
string
. Necessário quando plugin = azureKeyVault && command = sign
. Valor padrão: 1.2.0
.
A versão do plug-in do Azure Key Vault a ser instalada. Consulte a página notation-azure-kv releases para obter as versões disponíveis.
azurekvServiceConection
-
de conexão do serviço Azure Key Vault
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
. Necessário quando plugin = azureKeyVault && command = sign
.
A ID da Chave é o identificador de chave ou certificado do Cofre de Chaves 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 intermediários, começando pelo certificado raiz, seguindo a ordem 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.
timestampURL
-
URL de carimbo de data/hora
string
. Opcional. Use quando command = sign
.
URL do servidor RFC 3161 Timestamping Authority (TSA). (Requer notação v1.2.0 ou posterior).
timestampRootCert
-
de certificado raiz de carimbo de data/hora
string
. Opcional. Use quando command = sign
.
filepath do certificado raiz da autoridade de carimbo de data/hora. (Requer notação v1.2.0 ou posterior).
trustPolicy
-
Caminho do arquivo de política de confiança
string
. Necessário quando command = verify
.
O caminho para a política de confiança arquivo relativo ao repositório. Exemplo: ./path/to/trust-policy.json
.
trustStore
-
Caminho da pasta de armazenamento confiável
string
. Necessário quando command = verify
.
O caminho para o diretório que contém o armazenamento confiável relativo ao repositório. Exemplo: ./path/to/truststore/
.
Opções de controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Nenhuma.
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, a Notação assina o descritor de manifesto exclusivo do artefato e anexa a assinatura ao mesmo repositório. Ao verificar um artefato, a Notação recupera a assinatura do repositório e a valida em relação ao certificado no armazenamento confiável.
Pré-requisitos
- Esta tarefa requer acesso à rede pública para baixar o plug-in Notation CLI e Notation Azure Key Vault das versões do Github.
- SO do agente suportado: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Comando de instalação de notação
O comando install
deteta o sistema operacional e a arquitetura atuais 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 dourado na pasta ./data
e adiciona notação ao PATH.
Comando de sinal de notação
O comando sign
baixa o plug-in Notação selecionado, valida sua soma de verificação e chama a CLI de Notação para assinar.
Comando Verificação de notação
O comando verify
transfere o armazenamento 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.
Requerimentos
Exigência | Descrição |
---|---|
Tipos de pipeline | YAML, Construção clássica, Versão clássica |
Funciona em | Agente, DeploymentGroup |
Exigências | Nenhum |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria de tarefa | Utilidade |