Notation@0 - Notation v0-Vorgang
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.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.
Eingänge
command
-
Befehl zum Ausführen von
string
. Erforderlich. Zulässige Werte: install
, sign
, verify
. Standardwert: install
.
Gibt den Befehlsmodus der Aufgabe an.
-
installieren – Der Befehl
install
erkennt das aktuelle Betriebssystem und die aktuelle Architektur, um die entsprechende Notation CLI aus GitHub-Versionen herunterzuladen. Außerdem wird die Prüfsumme der heruntergeladenen Datei anhand der goldenen Datei im ordner./data
überprüft und der PATH-Notation hinzugefügt. -
Signieren – Der befehl
sign
lädt das ausgewählte Notation-Plug-In herunter, überprüft die Prüfsumme und ruft dann die Notation CLI zum Signieren auf. -
überprüfen, – Der befehl
verify
überträgt den Vertrauensspeicher und die Vertrauensrichtlinie aus dem Code-Repository des Benutzers in den Konfigurationsordner "Notation" gemäß Notation CLI. Anschließend wird die Notation CLI aufgerufen, um die Überprüfung durchzuführen.
isCustomVersion
-
benutzerdefinierte Version
boolean
. Wahlfrei. Wird verwendet, wenn command = install
. Standardwert: false
.
Geben Sie true
an, um eine benutzerdefinierte Version der Notation für die Aufgabe bereitzustellen, indem Sie eine Download-URL für die benutzerdefinierte Version in der eigenschaft url
angeben.
version
-
Version
string
. Erforderlich, wenn command = install && isCustomVersion = false
. Standardwert: 1.2.0
.
Die zu installierende Notation-Version. Beispiel: 1.0.0, 1, 1.0, 1.0.0.
url
-
URL herunterladen
string
. Erforderlich, wenn command = install && isCustomVersion = true
.
Die URL zu einer benutzerdefinierten Version der zu verwendenden Notation, z. B.: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
-
Prüfsummen-
string
. Erforderlich, wenn command = install && isCustomVersion = true
.
Die SHA-256-Prüfsumme der heruntergeladenen Datei.
artifactRefs
-
Artefaktverweise
string
. Wahlfrei. Wird verwendet, wenn command = verify || command = sign
.
Containerartefakteverweise zum Signieren. Wenn nicht angegeben, verwendet die Aufgabe den Artefaktverweis aus der vorherigen Docker-Pushaufgabe. Beispiel: <registry name>/<repository name>@<digest>
. Mehrere Artefaktverweise müssen durch Trennzeichen getrennt sein.
signatureFormat
-
Signaturformat
string
. Wahlfrei. Wird verwendet, wenn command = sign && command = sign || command = verify
. Zulässige Werte: cose
, jws
. Standardwert: cose
.
Signaturumschlagformat.
allowReferrersAPI
-
[Experimental] Allow Referrers API
boolean
. Wahlfrei. Wird verwendet, wenn command = sign || command = verify
. Standardwert: false
.
Verwenden Sie die Referrers-API, um Signaturen zu signieren, 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
-
Plugin-Version
string
. Erforderlich, wenn plugin = azureKeyVault && command = sign
. Standardwert: 1.2.0
.
Die Version des zu installierenden Azure Key Vault-Plug-Ins. Informationen zu den verfügbaren Versionen finden Sie auf der seite notation-azure-kv releases.
azurekvServiceConection
-
Azure Key Vault-Dienstverbindung
string
. Wahlfrei. Wird verwendet, 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 die Zertifikat-ID für Azure Key Vault.
caCertBundle
-
Dateipfad des Zertifikatpakets
string
. Wahlfrei. Wird verwendet, wenn plugin = azureKeyVault && command = sign
.
Die Zertifikatbundledatei mit Stamm- und allen Zwischenzertifikaten, beginnend mit dem Stammzertifikat, nach der Reihenfolge in der Zertifikatkette.
selfSigned
-
selbstsignierte Zertifikat-
boolean
. Wahlfrei. Wird verwendet, wenn plugin = azureKeyVault && command = sign
. Standardwert: false
.
Gibt an, ob es sich bei dem Zertifikat um ein selbstsigniertes Zertifikat handelt.
timestampURL
-
Timestamp-URL
string
. Wahlfrei. Wird verwendet, wenn command = sign
.
RFC 3161 Timestamping Authority (TSA)-Server-URL. (Notation v1.2.0 oder höher erforderlich).
timestampRootCert
-
Timestamp-Stammzertifikat
string
. Wahlfrei. Wird verwendet, wenn command = sign
.
Dateipfad des Timestamp-Autoritätsstammzertifikats. (Notation v1.2.0 oder höher erforderlich).
trustPolicy
-
Dateipfad für Vertrauensrichtlinien
string
. Erforderlich, wenn command = verify
.
Der Pfad zur Vertrauensrichtlinie Datei relativ zum Repository. Beispiel: ./path/to/trust-policy.json
.
trustStore
-
des Vertrauensspeicherordnerpfads
string
. Erforderlich, wenn command = verify
.
Der Pfad zum Verzeichnis, das den Vertrauensspeicher enthält, relativ zum Repository. Beispiel: ./path/to/truststore/
.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Die Notation-Aufgabe ruft die Notation CLI auf, um Signier- 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 öffentlichen Netzwerkzugriff zum Herunterladen des Notation CLI- und Notation Azure Key Vault-Plug-Ins von Github-Versionen.
- Unterstütztes Agent-Betriebssystem: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Befehl "Notation Install"
Der Befehl install
erkennt das aktuelle Betriebssystem und die aktuelle Architektur, um die entsprechende Notation CLI aus GitHub-Versionen herunterzuladen. Außerdem wird die Prüfsumme der heruntergeladenen Datei anhand der goldenen Datei im ordner ./data
überprüft und der PATH-Notation hinzugefügt.
Notation sign command
Der Befehl sign
lädt das ausgewählte Notation-Plug-In herunter, überprüft die Prüfsumme und ruft dann die Notation CLI zum Signieren auf.
Befehl 'Notation verify'
Der Befehl verify
überträgt den Vertrauensspeicher und die Vertrauensrichtlinie vom Code-Repository des Benutzers in den Notation-Konfigurationsordner, wie von notation CLI benötigt. Anschließend wird die Notation CLI aufgerufen, um die Überprüfung durchzuführen.
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.144.0 oder höher |
Vorgangskategorie | Nützlichkeit |