Partilhar via


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