Compartilhar via


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