Sdílet prostřednictvím


Notation@0 – úloha notace v0

Úloha Azure Pipepine pro nastavení rozhraní příkazového řádku notace, podepsání a ověření pomocí notace

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.

Vstupy

command - Příkaz ke spuštění
string. Povinná hodnota. Povolené hodnoty: install, sign, verify. Výchozí hodnota: install.

Určuje režim příkazu úlohy.

  • install – Příkaz install zjistí aktuální operační systém a architekturu a stáhne odpovídající rozhraní příkazového řádku notation z verzí GitHubu. Také ověří kontrolní součet staženého souboru proti zlatému souboru ve ./data složce a přidá notaci do path.
  • signsign příkaz stáhne vybraný modul plug-in notation, ověří jeho kontrolní součet a pak zavolá k podepsání v rozhraní příkazového řádku notace.
  • verify – příkaz verify přenese úložiště důvěryhodnosti a zásady důvěryhodnosti z úložiště kódu uživatele do konfigurační složky Notation, jak vyžaduje rozhraní příkazového řádku notation. Pak vyvolá rozhraní příkazového řádku notation, aby provedlo ověření.

isCustomVersion - Vlastní verze
boolean. Nepovinný parametr. Použijte, když command = install. Výchozí hodnota: false.

Zadáním true adresy URL pro stažení vlastní verze do vlastní verze ve vlastnosti zadejte vlastní verzi zápisu url pro úlohu.


version - Verze
string. Vyžaduje se, když command = install && isCustomVersion = false. Výchozí hodnota: 1.1.0.

Verze notace, která se má nainstalovat. Příklad: 1.0.0, 1, 1.0, 1.0.0.


url - Adresa URL pro stažení
string. Vyžaduje se, když command = install && isCustomVersion = true.

Adresa URL vlastní verze notace, která se má použít, například: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - Kontrolní součet
string. Vyžaduje se, když command = install && isCustomVersion = true.

Kontrolní součet SHA-256 staženého souboru


artifactRefs - Odkazy na artefakty
string. Nepovinný parametr. Použijte, když command = verify || command = sign.

Odkazy na artefakty kontejneru pro podepisování. Pokud není zadaný, použije úloha odkaz na artefakt z předchozí úlohy Docker Push. Příklad: <registry name>/<repository name>@<digest>. Několik odkazů na artefakty musí být oddělené čárkami.


signatureFormat - Formát podpisu
string. Nepovinný parametr. Použijte, když command = sign && command = sign || command = verify. Povolené hodnoty: cose, jws. Výchozí hodnota: cose.

Formát obálky podpisu.


allowReferrersAPI - [Experimentální] Povolit rozhraní API pro odkazy
boolean. Nepovinný parametr. Použijte, když command = sign || command = verify. Výchozí hodnota: false.

Pomocí rozhraní API Referrers podepisujte podpisy, pokud nejsou podporovány (vrátí hodnotu 404), náhradním do schématu značek Referrers.


plugin - Plugin
string. Vyžaduje se, když command = sign. Povolené hodnoty: azureKeyVault (Modul plug-in Azure Key Vault). Výchozí hodnota: azureKeyVault.


akvPluginVersion - Verze modulu plug-in
string. Vyžaduje se, když plugin = azureKeyVault && command = sign. Výchozí hodnota: 1.1.0.

Verze modulu plug-in Azure Key Vault, který se má nainstalovat. Dostupné verze najdete na stránce notation-azure-kv releases .


azurekvServiceConection - Připojení služby Azure Key Vault
string. Nepovinný parametr. Použijte, když plugin = azureKeyVault && command = sign.

Pokud chcete k ověřování použít připojení služby, vyberte předplatné Azure pro trezor klíčů.


keyid - ID klíče
string. Vyžaduje se, když plugin = azureKeyVault && command = sign.

ID klíče je identifikátor klíče nebo certifikátu pro Azure Key Vault.


caCertBundle - Cesta k souboru sady certifikátů
string. Nepovinný parametr. Použijte, když plugin = azureKeyVault && command = sign.

Soubor sady certifikátů s kořenovými a všemi zprostředkujícími certifikáty počínaje kořenovým certifikátem podle pořadí v řetězu certifikátů.


selfSigned - Certifikát podepsaný svým držitelem
boolean. Nepovinný parametr. Použijte, když plugin = azureKeyVault && command = sign. Výchozí hodnota: false.

Určuje, jestli se jedná o certifikát podepsaný svým držitelem.


trustPolicy - Cesta k souboru zásad důvěryhodnosti
string. Vyžaduje se, když command = verify.

Cesta k souboru zásad důvěryhodnosti vzhledem k úložišti. Příklad: ./path/to/trust-policy.json.


trustStore - Cesta ke složce úložiště důvěryhodnosti
string. Vyžaduje se, když command = verify.

Cesta k adresáři, který obsahuje úložiště důvěryhodnosti vzhledem k úložišti. Příklad: ./path/to/truststore/.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Úloha Notation volá rozhraní příkazového řádku notation k provedení operací podepisování a ověření. Rozhraní příkazového řádku notace je nástroj, který slouží k podepisování a ověřování artefaktů nebo imagí kontejneru Dockeru. Při podepisování artefaktu zápis podepíše jedinečný popisovač manifestu artefaktu a připojí podpis ke stejnému úložišti. Při ověřování artefaktu načte notace podpis z úložiště a ověří ho proti certifikátu v úložišti důvěryhodnosti.

Požadavky

  • Tato úloha vyžaduje veřejný síťový přístup ke stažení modulu plug-in Notation CLI a Notation Azure Key Vault z verzí GitHubu.
  • Podporovaný operační systém agenta: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Příkaz instalace notace

Příkaz install zjistí aktuální operační systém a architekturu a stáhne odpovídající rozhraní příkazového řádku notation z vydaných verzí GitHubu. Také ověří kontrolní součet staženého souboru proti zlatému souboru ve ./data složce a přidá notaci do path.

Příkaz notačního znaku

Příkaz sign stáhne vybraný modul plug-in notation, ověří jeho kontrolní součet a pak zavolá rozhraní příkazového řádku notation k podepsání.

Příkaz ověření zápisu

Příkaz verify přenese úložiště důvěryhodnosti a zásady důvěryhodnosti z úložiště kódu uživatele do konfigurační složky Notation, jak vyžaduje rozhraní příkazového řádku notation. Pak vyvolá rozhraní příkazového řádku notation, aby provedlo ověření.

Požadavky

Požadavek Popis
Typy kanálů YAML, classic build, verze Classic
Spustí se Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.144.0 nebo vyšší
Kategorie úloh Nástroj