Freigeben über


Notation@0 – Notation v0 task

Azure Pipepine Task zum Einrichten der Notation CLI, Signieren und Überprüfen mit 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.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.

Eingaben

command - Befehl zur Ausführung
string. Erforderlich. Zulässige Werte: install, sign und verify. Standardwert. install.

Gibt den Befehlsmodus der Aufgabe an.

  • install : Der install Befehl erkennt das aktuelle Betriebssystem und die aktuelle Architektur, um die entsprechende Notation CLI von GitHub-Releases herunterzuladen. Außerdem wird die Prüfsumme der heruntergeladenen Datei anhand der goldenen Datei im ./data Ordner überprüft und der PFAD-Notation hinzugefügt.
  • sign : Der sign Befehl lädt das ausgewählte Notation-Plug-In herunter, überprüft dessen Prüfsumme und ruft dann die Notation CLI zum Signieren auf.
  • verify : Der verify Befehl überträgt den Vertrauensspeicher und die Vertrauensstellungsrichtlinie aus dem Coderepository des Benutzers in den Konfigurationsordner Notation, wie von notation CLI erforderlich. Anschließend wird die Notation CLI aufgerufen, um die Überprüfung durchzuführen.

isCustomVersion - Benutzerdefinierte Version
boolean. Optional. Verwenden Sie , wenn command = install. Standardwert. false.

Geben Sie true an, um eine benutzerdefinierte Version von Notation für den Task bereitzustellen, indem Sie eine Download-URL für die benutzerdefinierte Version in der url -Eigenschaft angeben.


version - Version
string. Erforderlich, wenn command = install && isCustomVersion = false. Standardwert. 1.1.0.

Die Version der zu installierenden Notation. Beispiel: 1.0.0, 1, 1.0, 1.0.0.


url - URL herunterladen
string. Erforderlich, wenn command = install && isCustomVersion = true.

Die URL für eine zu verwendende benutzerdefinierte Version von Notation, z. B.: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - Prüfsumme
string. Erforderlich, wenn command = install && isCustomVersion = true.

Die SHA-256-Prüfsumme der heruntergeladenen Datei.


artifactRefs - Artefaktverweise
string. Optional. Verwenden Sie , wenn command = verify || command = sign.

Containerartefaktverweise für die Signatur. Falls nicht angegeben, verwendet der Task den Artefaktverweis aus dem vorherigen Docker-Pushtask. Beispiel: <registry name>/<repository name>@<digest>. Mehrere Artefaktverweise müssen kommastrennt sein.


signatureFormat - Signaturformat
string. Optional. Verwenden Sie , wenn command = sign && command = sign || command = verify. Zulässige Werte: cose, jws. Standardwert. cose.

Signaturumschlagformat.


allowReferrersAPI - [Experimentell] Verweiser-API zulassen
boolean. Optional. Verwenden Sie , wenn command = sign || command = verify. Standardwert. false.

Verwenden Sie die Referrers-API zum Signieren von Signaturen, falls nicht unterstützt (gibt 404 zurück), fallback auf das Referrers-Tagschema.


plugin - Plugin
string. Erforderlich, wenn command = sign. Zulässige Werte: azureKeyVault (Azure Key Vault-Plug-In). Standardwert. azureKeyVault.


akvPluginVersion - Plug-In-Version
string. Erforderlich, wenn plugin = azureKeyVault && command = sign. Standardwert. 1.1.0.

Die Version des zu installierenden Azure Key Vault-Plug-Ins. Die verfügbaren Versionen finden Sie auf der Seite notation-azure-kv releases .


azurekvServiceConection - Azure Key Vault-Dienstverbindung
string. Optional. Verwenden Sie , wenn plugin = azureKeyVault && command = sign.

Wählen Sie das Azure-Abonnement für den Schlüsseltresor aus, wenn Sie die Dienstverbindung für die Authentifizierung verwenden möchten.


keyid - Schlüssel-ID
string. Erforderlich, wenn plugin = azureKeyVault && command = sign.

Die Schlüssel-ID ist der Schlüssel- oder Zertifikatbezeichner für Azure Key Vault.


caCertBundle - Dateipfad des Zertifikatpakets
string. Optional. Verwenden Sie , wenn plugin = azureKeyVault && command = sign.

Die Zertifikatbündeldatei mit Stamm- und allen Zwischenzertifikaten, beginnend mit dem Stammzertifikat, und folgt der Reihenfolge in der Zertifikatkette.


selfSigned - Selbstsigniertes Zertifikat
boolean. Optional. Verwenden Sie , wenn plugin = azureKeyVault && command = sign. Standardwert. false.

Gibt an, ob es sich bei dem Zertifikat um ein selbstsigniertes Zertifikat handelt.


trustPolicy - Dateipfad der Vertrauensrichtlinie
string. Erforderlich, wenn command = verify.

Der Pfad zur Vertrauensrichtliniendatei relativ zum Repository. Beispiel: ./path/to/trust-policy.json.


trustStore - Pfad des Vertrauensspeicherordners
string. Erforderlich, wenn command = verify.

Der Pfad zum Verzeichnis, das den Vertrauensspeicher relativ zum Repository enthält. Beispiel: ./path/to/truststore/.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Der Notation-Task ruft die Notation CLI auf, um Signierungs- und Überprüfungsvorgänge auszuführen. Notation CLI ist ein Tool zum Signieren und Überprüfen von Docker-Containerartefakten oder -Images. Beim Signieren eines Artefakts signiert Notation den eindeutigen Manifestdeskriptor des Artefakts und fügt die Signatur an dasselbe Repository an. Beim Überprüfen eines Artefakts ruft Notation die Signatur aus dem Repository ab und überprüft sie anhand des Zertifikats im Vertrauensspeicher.

Voraussetzungen

  • Diese Aufgabe erfordert Zugriff auf ein öffentliches Netzwerk, um notation CLI und Notation Azure Key Vault-Plug-In von Github-Versionen herunterzuladen.
  • Unterstütztes Agent-Betriebssystem: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Befehl zum Installieren der Notation

Der install Befehl erkennt das aktuelle Betriebssystem und die aktuelle Architektur, um die entsprechende Notation CLI von GitHub-Releases herunterzuladen. Außerdem wird die Prüfsumme der heruntergeladenen Datei anhand der goldenen Datei im ./data Ordner überprüft und der PFAD-Notation hinzugefügt.

Notationszeichenbefehl

Der sign Befehl lädt das ausgewählte Notation-Plug-In herunter, überprüft dessen Prüfsumme und ruft dann die Notation CLI auf, um zu signieren.

Befehl notation verify (Notation verify)

Der verify Befehl überträgt den Vertrauensspeicher und die Vertrauensstellungsrichtlinie aus dem Coderepository des Benutzers in den Notation-Konfigurationsordner, wie von notation CLI erforderlich. Anschließend wird die Notation CLI aufgerufen, um die Überprüfung durchzuführen.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.144.0 oder höher
Aufgabenkategorie Hilfsprogramm