Compartilhar via


Notation@0 – Tarefa notação v0

Tarefa Pipepine do Azure 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.3.2' # string. Required when command = install && isCustomVersion = false. Version. Default: 1.3.2.
    #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 = verify) && command = sign. 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.1' # string. Required when plugin = azureKeyVault && command = sign. Plugin Version. Default: 1.2.1.
    #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.

Entradas

Comando command - para executar
string. Obrigatório Valores permitidos: install, sign, verify. Valor padrão: install.

Especifica o modo de comando da tarefa.

  • instalar – o comando install detecta 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 notation selecionado, valida sua soma de verificação e, em seguida, chama a CLI de Notação para assinar.
  • verificar – o comando verify 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 do Notation 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.3.2.

A versão do Notation a ser instalada. Exemplo: 1.0.0, 1, 1.0, 1.0.0.


url - baixar de URL
string. Necessá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 - de soma de verificação
string. Necessário quando command = install && isCustomVersion = true.

A soma de verificação SHA-256 do arquivo baixado.


referências do artefato artifactRefs -
string. Opcional. Use quando command = verify || command = sign.

Referências de artefato de contêiner para assinatura. Se não for especificado, 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 - de formato de assinatura
string. Opcional. Use quando (command = sign || command = verify) && command = sign. Valores permitidos: cose, jws. Valor padrão: cose.

Formato de envelope de assinatura.


allowReferrersAPI - [experimental] permitir de 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 - plug-in
string. Necessário quando command = sign. Valores permitidos: azureKeyVault (Plug-in do Azure Key Vault). Valor padrão: azureKeyVault.


akvPluginVersion - versão do plug-in
string. Necessário quando plugin = azureKeyVault && command = sign. Valor padrão: 1.2.1.

A versão do plug-in do Azure Key Vault a ser instalada. Consulte a página de versões notation-azure-kv para versões disponíveis.


azurekvServiceConection - de conexão de serviço do 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.


de ID da chave keyid -
string. Necessário quando plugin = azureKeyVault && command = sign.

A ID da chave é o identificador de chave ou certificado do Azure Key Vault.


caCertBundle - caminho do arquivo do pacote de certificados
string. Opcional. Use quando plugin = azureKeyVault && command = sign.

O arquivo de pacote de certificado com certificados raiz e todos os certificados intermediários, começando pelo certificado raiz, seguindo o pedido na cadeia de certificados.


selfSigned - de Certificado Autoassinado
boolean. Opcional. Use quando plugin = azureKeyVault && command = sign. Valor padrão: false.

Se o certificado é um certificado autoassinado.


timestampURL - de URL do carimbo de data/hora
string. Opcional. Use quando command = sign.

URL do servidor TSA (Autoridade de Carimbo de Data/Hora) RFC 3161. (Exigir Notação v1.2.0 ou posterior).


de certificado raiz do carimbo de data/hora do timestampRootCert -
string. Opcional. Use quando command = sign.

filepath do certificado raiz da autoridade de carimbo de data/hora. (Exigir 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 do repositório de confiança
string. Necessário quando command = verify.

O caminho para o diretório que contém o repositório de confiança relativo ao repositório. Exemplo: ./path/to/truststore/.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

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 imagens ou artefatos 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 o plug-in notation CLI e Notation Azure Key Vault das versões do Github.
  • Sistema operacional do agente com suporte: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Comando de instalação de notação

O comando install 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 dourado na pasta ./data e adiciona Notação ao PATH.

Comando de sinal de notação

O comando sign baixa o plug-in notation selecionado, valida sua soma de verificação e, em seguida, chama a CLI de Notação para assinar.

Comando de verificação de notação

O comando verify 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
Execuções em Agente, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.144.0 ou superior
Categoria de tarefa Utilidade