Dela via


Notation@0 – Notation v0-uppgift

Azure Pipepine-uppgift för att konfigurera Notation CLI, signera och verifiera med Notation.

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

Ingångar

command - kommando för att köra
string. Krävs. Tillåtna värden: install, sign, verify. Standardvärde: install.

Anger kommandot läge för uppgiften.

  • installera – kommandot install identifierar det aktuella operativsystemet och arkitekturen för att ladda ned motsvarande Notation CLI från GitHub-versioner. Den verifierar också kontrollsumman för den nedladdade filen mot den gyllene filen i mappen ./data och lägger till Notation i PATH.
  • signera – kommandot sign laddar ned det valda plugin-programmet Notation, validerar dess kontrollsumma och anropar sedan Notation CLI för att signera.
  • verifiera – kommandot verify överför förtroendearkivet och förtroendeprincipen från användarens kodlagringsplats till konfigurationsmappen Notation enligt vad som krävs av Notation CLI. Sedan anropas Notation CLI för att utföra verifiering.

isCustomVersion - anpassad version
boolean. Valfri. Använd när command = install. Standardvärde: false.

Ange true för att ange en anpassad version av Notation för uppgiften genom att ange en nedladdnings-URL till den anpassade versionen i egenskapen url.


version - version
string. Krävs när command = install && isCustomVersion = false. Standardvärde: 1.2.0.

Den version av Notation som ska installeras. Exempel: 1.0.0, 1, 1.0, 1.0.0.


url - Ladda ned URL-
string. Krävs när command = install && isCustomVersion = true.

URL:en till en anpassad version av Notation som ska användas, till exempel: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - Checksum
string. Krävs när command = install && isCustomVersion = true.

SHA-256-kontrollsumman för den nedladdade filen.


artifactRefs - Artefaktreferenser
string. Valfri. Använd när command = verify || command = sign.

Containerartefaktreferenser för signering. Om den inte anges använder aktiviteten artefaktreferensen från den tidigare Docker-push-aktiviteten. Exempel: <registry name>/<repository name>@<digest>. Flera artefaktreferenser måste vara kommaavgränsade.


signatureFormat - signaturformat
string. Valfri. Använd när command = sign && command = sign || command = verify. Tillåtna värden: cose, jws. Standardvärde: cose.

Format för signaturkuvert.


allowReferrersAPI - [Experimental] Allow Referrers API
boolean. Valfri. Använd när command = sign || command = verify. Standardvärde: false.

Använd referens-API:et för att signera signaturer, om det inte stöds (returnerar 404), återställning till taggschemat Referrers.


plugin - plugin-
string. Krävs när command = sign. Tillåtna värden: azureKeyVault (Azure Key Vault-plugin-program). Standardvärde: azureKeyVault.


akvPluginVersion - plugin-version
string. Krävs när plugin = azureKeyVault && command = sign. Standardvärde: 1.2.0.

Den version av Azure Key Vault-plugin-programmet som ska installeras. Se sidan notation-azure-kv-versionssidan för de tillgängliga versionerna.


azurekvServiceConection - Azure Key Vault-tjänstanslutning
string. Valfri. Använd när plugin = azureKeyVault && command = sign.

Välj Azure-prenumerationen för nyckelvalvet om du föredrar att använda tjänstanslutning för autentisering.


keyid - nyckel-ID
string. Krävs när plugin = azureKeyVault && command = sign.

Nyckel-ID:t är nyckeln eller certifikatidentifieraren för Azure Key Vault.


caCertBundle - filsökväg för certifikatpaket
string. Valfri. Använd när plugin = azureKeyVault && command = sign.

Certifikatpaketfilen med rot och alla mellanliggande certifikat, från rotcertifikatet, följer ordningen i certifikatkedjan.


selfSigned - självsignerat certifikat
boolean. Valfri. Använd när plugin = azureKeyVault && command = sign. Standardvärde: false.

Om certifikatet är ett självsignerat certifikat.


timestampURL - tidsstämpel-URL
string. Valfri. Använd när command = sign.

RFC 3161 Timestamping Authority (TSA) server-URL. (Kräv notation v1.2.0 eller senare).


timestampRootCert - tidsstämpelrotcertifikat
string. Valfri. Använd när command = sign.

filepath för rotcertifikatet för tidsstämpelutfärdare. (Kräv notation v1.2.0 eller senare).


trustPolicy - Filsökväg för förtroendeprincip
string. Krävs när command = verify.

Sökvägen till förtroendeprincip fil i förhållande till lagringsplatsen. Exempel: ./path/to/trust-policy.json.


trustStore - Sökväg till betrodd lagringsmapp
string. Krävs när command = verify.

Sökvägen till katalogen som innehåller förtroendearkivet i förhållande till lagringsplatsen. Exempel: ./path/to/truststore/.


Alternativ för aktivitetskontroll

Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Ingen.

Anmärkningar

Notation-uppgiften anropar Notation CLI för att köra signerings- och verifieringsåtgärder. Notation CLI är ett verktyg som används för att signera och verifiera Docker-containerartefakter eller avbildningar. När du signerar en artefakt signerar Notation artefaktens unika manifestbeskrivning och bifogar signaturen till samma lagringsplats. När du verifierar en artefakt hämtar Notation signaturen från lagringsplatsen och validerar den mot certifikatet i förtroendearkivet.

Förutsättningar

  • Den här uppgiften kräver offentlig nätverksåtkomst för att ladda ned Plugin-programmet Notation CLI och Notation Azure Key Vault från Github-versioner.
  • Agentoperativsystem som stöds: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Installationskommando för notation

Kommandot install identifierar det aktuella operativsystemet och arkitekturen för att ladda ned motsvarande Notation CLI från GitHub-versioner. Den verifierar också kontrollsumman för den nedladdade filen mot den gyllene filen i mappen ./data och lägger till Notation i PATH.

Kommandot Notation sign (Notation sign)

Kommandot sign laddar ned det valda plugin-programmet Notation, validerar dess kontrollsumma och anropar sedan Notation CLI för att signera.

Kommandot Notation verify

Kommandot verify överför förtroendelagrings- och förtroendeprincipen från användarens kodlagringsplats till konfigurationsmappen Notation, enligt vad som krävs av Notation CLI. Sedan anropas Notation CLI för att utföra verifiering.

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Någon
variabler som kan Någon
Agentversion 2.144.0 eller senare
Aktivitetskategori Nytta