Delen via


Notation@0 - Notatie v0-taak

Azure Pipepine-taak voor het instellen van notatie CLI, ondertekenen en verifiëren met notatie.

Syntaxis

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

Ingangen

command - opdracht om uit te voeren
string. Vereist. Toegestane waarden: install, sign, verify. Standaardwaarde: install.

Hiermee geeft u de opdrachtmodus van de taak.

  • installeert: met de opdracht install wordt het huidige besturingssysteem en de huidige architectuur gedetecteerd om de bijbehorende Notatie-CLI te downloaden uit GitHub-releases. Het controleert ook de controlesom van het gedownloade bestand op basis van het gouden bestand in de map ./data en voegt Notation toe aan het PAD.
  • ondertekent: met de opdracht sign downloadt u de geselecteerde notatie-invoegtoepassing, valideert u de controlesom en roept u vervolgens de notatie-CLI aan om te ondertekenen.
  • controleren: de opdracht verify brengt het vertrouwensarchief en het vertrouwensbeleid van de gebruiker uit de codeopslagplaats van de gebruiker over naar de map Notatieconfiguratie, zoals vereist door Notation CLI. Vervolgens wordt de Notatie-CLI aangeroepen om verificatie uit te voeren.

isCustomVersion - aangepaste versie
boolean. Facultatief. Gebruiken wanneer command = install. Standaardwaarde: false.

Geef true op om een aangepaste versie van notatie voor de taak op te geven door een download-URL op te geven naar de aangepaste versie in de eigenschap url.


version - versie
string. Vereist wanneer command = install && isCustomVersion = false. Standaardwaarde: 1.2.0.

De versie van Notation die moet worden geïnstalleerd. Voorbeeld: 1.0.0, 1, 1.0, 1.0.0.


URL- downloaden
string. Vereist wanneer command = install && isCustomVersion = true.

De URL naar een aangepaste versie van notatie die moet worden gebruikt, bijvoorbeeld: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - controlesom
string. Vereist wanneer command = install && isCustomVersion = true.

De SHA-256-controlesom van het gedownloade bestand.


artifactRefs - artefactverwijzingen
string. Facultatief. Gebruiken wanneer command = verify || command = sign.

Verwijzingen naar containerartefacten voor ondertekening. Als deze niet is opgegeven, gebruikt de taak de artefactreferentie van de vorige Docker-pushtaak. Voorbeeld: <registry name>/<repository name>@<digest>. Meerdere artefactverwijzingen moeten door komma's worden gescheiden.


signatureFormat - handtekeningindeling
string. Facultatief. Gebruiken wanneer command = sign && command = sign || command = verify. Toegestane waarden: cose, jws. Standaardwaarde: cose.

Indeling voor handtekeningenvelopmaak.


allowReferrersAPI - [Experimenteel] Referrers-API toestaan
boolean. Facultatief. Gebruiken wanneer command = sign || command = verify. Standaardwaarde: false.

Gebruik de Referrers-API om handtekeningen te ondertekenen, indien niet ondersteund (retourneert 404), terugval naar het tagschema referrers.


plugin - plugin
string. Vereist wanneer command = sign. Toegestane waarden: azureKeyVault (Azure Key Vault-invoegtoepassing). Standaardwaarde: azureKeyVault.


akvPluginVersion - -invoegtoepassingsversie
string. Vereist wanneer plugin = azureKeyVault && command = sign. Standaardwaarde: 1.2.0.

De versie van de Azure Key Vault-invoegtoepassing die moet worden geïnstalleerd. Zie de pagina notatie-azure-kv-releases voor de beschikbare versies.


azurekvServiceConection - azure Key Vault-serviceverbinding
string. Facultatief. Gebruiken wanneer plugin = azureKeyVault && command = sign.

Selecteer het Azure-abonnement voor de sleutelkluis als u liever serviceverbinding wilt gebruiken voor verificatie.


keyid - sleutel-id
string. Vereist wanneer plugin = azureKeyVault && command = sign.

De sleutel-id is de sleutel- of certificaat-id voor Azure Key Vault.


caCertBundle - bestandspad voor certificaatbundel
string. Facultatief. Gebruiken wanneer plugin = azureKeyVault && command = sign.

Het certificaatbundelbestand met basiscertificaten en alle tussenliggende certificaten, beginnend bij het basiscertificaat, volgens de volgorde in de certificaatketen.


selfSigned - zelfondertekend certificaat
boolean. Facultatief. Gebruiken wanneer plugin = azureKeyVault && command = sign. Standaardwaarde: false.

Of het certificaat een zelfondertekend certificaat is.


timestampURL - tijdstempel-URL
string. Facultatief. Gebruiken wanneer command = sign.

RFC 3161 Timestamping Authority (TSA) server-URL. (Notatie v1.2.0 of hoger vereisen).


timestampRootCert - timestamp-basiscertificaat
string. Facultatief. Gebruiken wanneer command = sign.

bestandspad van het basiscertificaat van de timestamp-instantie. (Notatie v1.2.0 of hoger vereisen).


trustPolicy - bestandspad voor vertrouwensbeleid
string. Vereist wanneer command = verify.

Het pad naar het vertrouwensbeleid bestand ten opzichte van de opslagplaats. Voorbeeld: ./path/to/trust-policy.json.


trustStore - Mappad vertrouwensarchief
string. Vereist wanneer command = verify.

Het pad naar de map met het vertrouwensarchief ten opzichte van de opslagplaats. Voorbeeld: ./path/to/truststore/.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

De notatietaak roept de Notatie-CLI aan om ondertekenings- en verificatiebewerkingen uit te voeren. Notatie CLI is een hulpprogramma dat wordt gebruikt voor het ondertekenen en verifiëren van Docker-containerartefacten of -installatiekopieën. Wanneer u een artefact ondertekent, ondertekent Notation de unieke manifestdescriptor van het artefact en koppelt u de handtekening aan dezelfde opslagplaats. Bij het verifiëren van een artefact haalt Notation de handtekening op uit de opslagplaats en valideert deze op basis van het certificaat in het vertrouwensarchief.

Voorwaarden

  • Voor deze taak is openbare netwerktoegang vereist voor het downloaden van de Notatie-CLI en de Notatie azure Key Vault-invoegtoepassing vanuit Github-releases.
  • Ondersteund agent-besturingssysteem: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Installatieopdracht notatie

De opdracht install detecteert het huidige besturingssysteem en de huidige architectuur om de bijbehorende Notatie-CLI te downloaden uit GitHub-releases. Het controleert ook de controlesom van het gedownloade bestand op basis van het gouden bestand in de map ./data en voegt Notation toe aan het PAD.

Opdracht notatieteken

De opdracht sign downloadt de geselecteerde notatie-invoegtoepassing, valideert de controlesom en roept vervolgens de Notatie-CLI aan om te ondertekenen.

Opdracht Notatie controleren

Met de opdracht verify wordt het vertrouwensarchief en het vertrouwensbeleid van de gebruiker overgedragen van de codeopslagplaats naar de map Notatieconfiguratie, zoals vereist door Notation CLI. Vervolgens wordt de Notatie-CLI aangeroepen om verificatie uit te voeren.

Eisen

Eis Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie 2.144.0 of hoger
Taakcategorie Nut