Notation@0 - Tâche notation v0
Tâche Azure Pipepine pour la configuration de l’interface CLI notation, signez et vérifiez avec notation.
Syntaxe
# 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.
Entrées
commande command
- pour exécuter
string
. Obligatoire. Valeurs autorisées : install
, sign
, verify
. Valeur par défaut : install
.
Spécifie le mode de commande de la tâche.
-
installer - La commande
install
détecte le système d’exploitation et l’architecture actuels pour télécharger l’interface CLI notation correspondante à partir de versions gitHub. Il vérifie également la somme de contrôle du fichier téléchargé par rapport au fichier doré dans le dossier./data
et ajoute notation au chemin d’accès. -
sign : la commande
sign
télécharge le plug-in Notation sélectionné, valide sa somme de contrôle, puis appelle l’interface CLI notation à signer. -
vérifier : la commande
verify
transfère le magasin d’approbations et la stratégie d’approbation du référentiel de code de l’utilisateur vers le dossier de configuration notation, comme requis par l’interface CLI notation. Il appelle ensuite l’interface CLI notation pour effectuer la vérification.
isCustomVersion
-
version personnalisée
boolean
. Optionnel. Utilisez quand command = install
. Valeur par défaut : false
.
Spécifiez true
pour fournir une version personnalisée de notation pour la tâche en spécifiant une URL de téléchargement vers la version personnalisée dans la propriété url
.
version
-
version
string
. Obligatoire lorsque command = install && isCustomVersion = false
. Valeur par défaut : 1.2.0
.
Version de Notation à installer. Exemple : 1.0.0, 1, 1.0, 1.0.0.
url
-
Télécharger l’URL
string
. Obligatoire lorsque command = install && isCustomVersion = true
.
URL vers une version personnalisée de notation à utiliser, par exemple : https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
-
somme de contrôle
string
. Obligatoire lorsque command = install && isCustomVersion = true
.
Somme de contrôle SHA-256 du fichier téléchargé.
références d’artefact artifactRefs
-
string
. Optionnel. Utilisez quand command = verify || command = sign
.
Références d’artefact de conteneur pour la signature. Si elle n’est pas spécifiée, la tâche utilise la référence d’artefact de la tâche Push Docker précédente. Exemple : <registry name>/<repository name>@<digest>
. Plusieurs références d’artefact doivent être séparées par des virgules.
signatureFormat
-
format de signature
string
. Optionnel. Utilisez quand command = sign && command = sign || command = verify
. Valeurs autorisées : cose
, jws
. Valeur par défaut : cose
.
Format de l’enveloppe de signature.
allowReferrersAPI
-
[expérimental] Autoriser les de l’API Références
boolean
. Optionnel. Utilisez quand command = sign || command = verify
. Valeur par défaut : false
.
Utilisez l’API Références pour signer des signatures, si elles ne sont pas prises en charge (retourne 404), secours au schéma de balise De références.
plugin
-
plug-in
string
. Obligatoire lorsque command = sign
. Valeurs autorisées : azureKeyVault
(plug-in Azure Key Vault). Valeur par défaut : azureKeyVault
.
akvPluginVersion
-
version du plug-in
string
. Obligatoire lorsque plugin = azureKeyVault && command = sign
. Valeur par défaut : 1.2.0
.
Version du plug-in Azure Key Vault à installer. Consultez la page notation-azure-kv releases pour les versions disponibles.
azurekvServiceConection
-
connexion de service Azure Key Vault
string
. Optionnel. Utilisez quand plugin = azureKeyVault && command = sign
.
Sélectionnez l’abonnement Azure pour le coffre de clés si vous préférez utiliser la connexion de service pour l’authentification.
id de clé keyid
-
string
. Obligatoire lorsque plugin = azureKeyVault && command = sign
.
L’ID de clé est la clé ou l’identificateur de certificat pour Azure Key Vault.
caCertBundle
-
chemin d’accès au fichier groupé de certificats
string
. Optionnel. Utilisez quand plugin = azureKeyVault && command = sign
.
Fichier groupé de certificats avec racine et tous les certificats intermédiaires, à partir du certificat racine, en suivant l’ordre dans la chaîne de certificats.
selfSigned
-
certificat auto-signé
boolean
. Optionnel. Utilisez quand plugin = azureKeyVault && command = sign
. Valeur par défaut : false
.
Indique si le certificat est un certificat auto-signé.
url d’horodatage timestampURL
-
string
. Optionnel. Utilisez quand command = sign
.
URL du serveur RFC 3161 Timestamping Authority (TSA). (Exiger la notation v1.2.0 ou une version ultérieure).
timestampRootCert
-
de certificat racine d’horodatage
string
. Optionnel. Utilisez quand command = sign
.
chemin de fichier du certificat racine de l’autorité d’horodatage. (Exiger la notation v1.2.0 ou une version ultérieure).
trustPolicy
-
chemin d’accès au fichier de stratégie d’approbation
string
. Obligatoire lorsque command = verify
.
Chemin d’accès à la stratégie d’approbation fichier relatif au référentiel. Exemple : ./path/to/trust-policy.json
.
trustStore
-
chemin d’accès au dossier du magasin d’approbations
string
. Obligatoire lorsque command = verify
.
Chemin d’accès au répertoire contenant le magasin d’approbations par rapport au référentiel. Exemple : ./path/to/truststore/
.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
La tâche notation appelle l’interface CLI notation pour exécuter des opérations de signature et de vérification. L’interface CLI de notation est un outil utilisé pour signer et vérifier les artefacts ou images de conteneur Docker. Lors de la signature d’un artefact, notation signe le descripteur de manifeste unique de l’artefact et attache la signature au même dépôt. Lors de la vérification d’un artefact, Notation récupère la signature du référentiel et la valide par rapport au certificat dans le magasin d’approbations.
Conditions préalables
- Cette tâche nécessite un accès réseau public pour télécharger le plug-in Notation CLI et Notation Azure Key Vault à partir de versions github.
- Système d’exploitation de l’agent pris en charge : Linux x64/ARM64, Windows x64, macOS x64/ARM64
Commande d’installation de notation
La commande install
détecte le système d’exploitation et l’architecture actuels pour télécharger l’interface CLI notation correspondante à partir de versions gitHub. Il vérifie également la somme de contrôle du fichier téléchargé par rapport au fichier doré dans le dossier ./data
et ajoute notation au chemin d’accès.
Commande de signe de notation
La commande sign
télécharge le plug-in Notation sélectionné, valide sa somme de contrôle, puis appelle l’interface CLI notation à signer.
Commande De vérification de notation
La commande verify
transfère le magasin d’approbations et la stratégie d’approbation du référentiel de code de l’utilisateur vers le dossier de configuration notation, comme requis par l’interface CLI notation. Il appelle ensuite l’interface CLI notation pour effectuer la vérification.
Exigences
Exigence | Description |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | Quelconque |
variables settables | Quelconque |
Version de l’agent | 2.144.0 ou version ultérieure |
Catégorie de tâche | Utilité |