Condividi tramite


Notation@0 - Attività Notation v0

Attività Pipepine di Azure per configurare l'interfaccia della riga di comando notazione, firmare e verificare con Notation.

Sintassi

# 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.

Ingressi

comando command - per eseguire
string. Obbligatorio. Valori consentiti: install, sign, verify. Valore predefinito: install.

Specifica la modalità di comando dell'attività.

  • installare: il comando install rileva il sistema operativo e l'architettura correnti per scaricare l'interfaccia della riga di comando notazione corrispondente dalle versioni di GitHub. Verifica inoltre il checksum del file scaricato sul file golden nella cartella ./data e aggiunge Notation al PERCORSO.
  • firma: il comando sign scarica il plug-in Notation selezionato, convalida il checksum e quindi chiama l'interfaccia della riga di comando notazione per firmare.
  • verificare: il comando verify trasferisce l'archivio attendibilità e i criteri di attendibilità dal repository di codice dell'utente alla cartella di configurazione Notation, come richiesto dall'interfaccia della riga di comando di Notazione. Richiama quindi l'interfaccia della riga di comando notazione per eseguire la verifica.

isCustomVersion - versione personalizzata
boolean. Opzionale. Usare quando command = install. Valore predefinito: false.

Specificare true per fornire una versione personalizzata della notazione per l'attività specificando un URL di download alla versione personalizzata nella proprietà url.


version - versione
string. Obbligatorio quando command = install && isCustomVersion = false. Valore predefinito: 1.2.0.

Versione di Notation da installare. Esempio: 1.0.0, 1, 1.0, 1.0.0.


url - download URL
string. Obbligatorio quando command = install && isCustomVersion = true.

URL di una versione personalizzata della notazione da usare, ad esempio: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - checksum
string. Obbligatorio quando command = install && isCustomVersion = true.

Checksum SHA-256 del file scaricato.


riferimenti agli artefatti di
string. Opzionale. Usare quando command = verify || command = sign.

Riferimenti all'artefatto del contenitore per la firma. Se non specificato, l'attività usa il riferimento all'artefatto dell'attività push Docker precedente. Esempio: <registry name>/<repository name>@<digest>. I riferimenti a più artefatti devono essere delimitati da virgole.


formato firma
string. Opzionale. Usare quando command = sign && command = sign || command = verify. Valori consentiti: cose, jws. Valore predefinito: cose.

Formato busta firma.


allowReferrersAPI - [Sperimentale] Consenti api referrers
boolean. Opzionale. Usare quando command = sign || command = verify. Valore predefinito: false.

Usare l'API Referrers per firmare le firme, se non supportate (restituisce 404), il fallback allo schema dei tag Referrers.


plugin - plug-in
string. Obbligatorio quando command = sign. Valori consentiti: azureKeyVault (plug-in Azure Key Vault). Valore predefinito: azureKeyVault.


versione del plug-in
string. Obbligatorio quando plugin = azureKeyVault && command = sign. Valore predefinito: 1.2.0.

Versione del plug-in di Azure Key Vault da installare. Vedere la pagina delle versioni di notazione-azure-kv per le versioni disponibili.


azurekvServiceConection - di connessione al servizio Azure Key Vault
string. Opzionale. Usare quando plugin = azureKeyVault && command = sign.

Selezionare la sottoscrizione di Azure per l'insieme di credenziali delle chiavi se si preferisce usare la connessione al servizio per l'autenticazione.


keyid - ID chiave
string. Obbligatorio quando plugin = azureKeyVault && command = sign.

L'ID chiave è la chiave o l'identificatore del certificato per Azure Key Vault.


caCertBundle - percorso file bundle certificato
string. Opzionale. Usare quando plugin = azureKeyVault && command = sign.

Il file bundle del certificato con radice e tutti i certificati intermedi, a partire dal certificato radice, seguendo l'ordine nella catena di certificati.


selfSigned - certificato autofirmato
boolean. Opzionale. Usare quando plugin = azureKeyVault && command = sign. Valore predefinito: false.

Indica se il certificato è un certificato autofirmato.


timestampURL - URL timestamp
string. Opzionale. Usare quando command = sign.

URL del server RFC 3161 Timestamping Authority (TSA). (Richiedi notazione v1.2.0 o versione successiva).


timestampRootCert - certificato radice timestamp
string. Opzionale. Usare quando command = sign.

percorso file del certificato radice dell'autorità di timestamp. (Richiedi notazione v1.2.0 o versione successiva).


trustPolicy - percorso file dei criteri di attendibilità
string. Obbligatorio quando command = verify.

Percorso del criterio di attendibilità file relativo al repository. Esempio: ./path/to/trust-policy.json.


trustStore - percorso cartella dell'archivio attendibilità
string. Obbligatorio quando command = verify.

Percorso della directory contenente l'archivio trust relativo al repository. Esempio: ./path/to/truststore/.


Opzioni di controllo attività

Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

L'attività Notation chiama l'interfaccia della riga di comando notazione per eseguire operazioni di firma e verifica. L'interfaccia della riga di comando di notazione è uno strumento usato per firmare e verificare gli artefatti o le immagini del contenitore Docker. Quando si firma un elemento, Notation firma il descrittore manifesto univoco dell'artefatto e associa la firma allo stesso repository. Quando si verifica un artefatto, Notation recupera la firma dal repository e la convalida rispetto al certificato nell'archivio attendibilità.

Prerequisiti

  • Questa attività richiede l'accesso alla rete pubblica per scaricare l'interfaccia della riga di comando notazione e il plug-in Notation di Azure Key Vault dalle versioni di GitHub.
  • Sistema operativo agente supportato: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Comando di installazione della notazione

Il comando install rileva il sistema operativo e l'architettura correnti per scaricare l'interfaccia della riga di comando notazione corrispondente dalle versioni di GitHub. Verifica inoltre il checksum del file scaricato sul file golden nella cartella ./data e aggiunge Notation al PERCORSO.

Comando Di firma di notazione

Il comando sign scarica il plug-in Notation selezionato, convalida il checksum e quindi chiama l'interfaccia della riga di comando notazione per firmare.

Comando Verifica notazione

Il comando verify trasferisce l'archivio attendibilità e i criteri di attendibilità dal repository di codice dell'utente alla cartella di configurazione notazione, come richiesto dall'interfaccia della riga di comando di notazione. Richiama quindi l'interfaccia della riga di comando notazione per eseguire la verifica.

Fabbisogno

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.144.0 o versione successiva
Categoria attività Utilità