Share via


Notation@0 - Tâche notation v0

Tâche Azure Pipepine pour configurer l’interface CLI de notation, signer et vérifier avec 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.

Entrées

command - Commande à 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.

  • install : la install commande détecte le système d’exploitation et l’architecture actuels pour télécharger l’interface CLI notation correspondante à partir des versions gitHub. Il vérifie également la somme de contrôle du fichier téléchargé par rapport au fichier d’or dans le ./data dossier et ajoute Notation au chemin d’accès.
  • sign : la sign commande télécharge le plug-in Notation sélectionné, valide sa somme de contrôle, puis appelle l’interface CLI notation pour signer.
  • verify : la verify commande 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. facultatif. 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 url propriété .


version - Version
string. Nécessaire lorsque command = install && isCustomVersion = false. Valeur par défaut : 1.1.0.

Version de Notation à installer. Exemple : 1.0.0, 1, 1.0, 1.0.0.


url - URL de téléchargement
string. Nécessaire 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 - Checksum
string. Nécessaire lorsque command = install && isCustomVersion = true.

Somme de contrôle SHA-256 du fichier téléchargé.


artifactRefs - Références d’artefacts
string. facultatif. 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 - Signature Format
string. facultatif. Utilisez quand command = sign && command = sign || command = verify. Valeurs autorisées : cose, jws. Valeur par défaut : cose.

Format d’enveloppe de signature.


allowReferrersAPI - [Expérimental] API Autoriser les référents
boolean. facultatif. Utilisez quand command = sign || command = verify. Valeur par défaut : false.

Utilisez l’API Referrers pour signer les signatures, si elles ne sont pas prises en charge (retourne 404), de secours vers le schéma de balise Referrers.


plugin - Plugin
string. Nécessaire lorsque command = sign. Valeurs autorisées : azureKeyVault (Plug-in Azure Key Vault). Valeur par défaut : azureKeyVault.


akvPluginVersion - Version du plug-in
string. Nécessaire lorsque plugin = azureKeyVault && command = sign. Valeur par défaut : 1.1.0.

Version du plug-in Azure Key Vault à installer. Consultez la page de publication notation-azure-kv pour connaître les versions disponibles.


azurekvServiceConection - Connexion au service Azure Key Vault
string. facultatif. 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.


keyid - ID de clé
string. Nécessaire lorsque plugin = azureKeyVault && command = sign.

L’ID de clé est l’identificateur de clé ou de certificat pour Azure Key Vault.


caCertBundle - Chemin du fichier d’offre groupée de certificats
string. facultatif. Utilisez quand plugin = azureKeyVault && command = sign.

Fichier d’offre groupée de certificats avec la racine et tous les certificats intermédiaires, en commençant par le certificat racine, en suivant l’ordre dans la chaîne de certificats.


selfSigned - Certificat auto-signé
boolean. facultatif. Utilisez quand plugin = azureKeyVault && command = sign. Valeur par défaut : false.

Indique si le certificat est un certificat auto-signé.


trustPolicy - Chemin du fichier de stratégie d’approbation
string. Nécessaire lorsque command = verify.

Chemin d’accès au fichier de stratégie d’approbation relatif au dépôt. Exemple : ./path/to/trust-policy.json.


trustStore - Chemin du dossier du magasin d’approbation
string. Nécessaire lorsque command = verify.

Chemin d’accès au répertoire contenant le magasin d’approbations relatif au dépôt. Exemple : ./path/to/truststore/.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

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 des artefacts ou des 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 dépôt et la valide par rapport au certificat dans le magasin d’approbations.

Prérequis

  • Cette tâche nécessite un accès réseau public pour télécharger notation CLI et notation Azure Key Vault plug-in à partir des 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 install commande détecte le système d’exploitation et l’architecture actuels pour télécharger l’interface CLI notation correspondante à partir des versions gitHub. Il vérifie également la somme de contrôle du fichier téléchargé par rapport au fichier d’or dans le ./data dossier et ajoute Notation au chemin d’accès.

Commande de signe de notation

La sign commande télécharge le plug-in Notation sélectionné, valide sa somme de contrôle, puis appelle l’interface CLI notation pour signer.

Commande de vérification de notation

La verify commande 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.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Utilitaire