Notation@0 — zadanie notacji w wersji 0
Zadanie potoku platformy Azure służące do konfigurowania interfejsu wiersza polecenia notacji, podpisywania i weryfikowania przy użyciu notacji.
Składnia
# 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.
Dane wejściowe
command
- Polecenie do uruchomienia
string
. Wymagane. Dozwolone wartości: install
, sign
, verify
. Wartość domyślna: install
.
Określa tryb polecenia zadania.
- install —
install
polecenie wykrywa bieżący system operacyjny i architekturę w celu pobrania odpowiedniego interfejsu wiersza polecenia notacji z wydań usługi GitHub. Sprawdza również sumę kontrolną pobranego pliku względem złotego pliku w folderze./data
i dodaje notację do ścieżki . - sign —
sign
polecenie pobiera wybraną wtyczkę Notation, weryfikuje sumę kontrolną, a następnie wywołuje interfejs wiersza polecenia notacji w celu podpisania. - verify —
verify
polecenie przenosi zasady zaufania i magazynu zaufania z repozytorium kodu użytkownika do folderu konfiguracji Notation, zgodnie z wymaganiami interfejsu wiersza polecenia notacji. Następnie wywołuje interfejs wiersza polecenia notacji w celu przeprowadzenia weryfikacji.
isCustomVersion
- Wersja niestandardowa
boolean
. Opcjonalny. Użyj polecenia , gdy command = install
. Wartość domyślna: false
.
Określ true
, aby udostępnić niestandardową wersję notacji dla zadania, określając adres URL pobierania do wersji niestandardowej url
we właściwości .
version
- Wersja
string
. Wymagane, gdy command = install && isCustomVersion = false
. Wartość domyślna: 1.1.0
.
Wersja notacji do zainstalowania. Przykład: 1.0.0, 1, 1.0, 1.0.0.
url
- Adres URL pobierania
string
. Wymagane, gdy command = install && isCustomVersion = true
.
Adres URL niestandardowej wersji notacji do użycia, na przykład: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
- Suma kontrolna
string
. Wymagane, gdy command = install && isCustomVersion = true
.
Suma kontrolna SHA-256 pobranego pliku.
artifactRefs
- Odwołania do artefaktów
string
. Opcjonalny. Użyj polecenia , gdy command = verify || command = sign
.
Odwołania do artefaktów kontenera do podpisywania. Jeśli nie zostanie określony, zadanie używa odwołania do artefaktu z poprzedniego zadania wypychania platformy Docker. Przykład: <registry name>/<repository name>@<digest>
. Wiele odwołań do artefaktów musi być rozdzielonych przecinkami.
signatureFormat
- Format podpisu
string
. Opcjonalny. Użyj polecenia , gdy command = sign && command = sign || command = verify
. Dozwolone wartości: cose
, jws
. Wartość domyślna: cose
.
Format koperty podpisu.
allowReferrersAPI
- [Eksperymentalne] Zezwalaj na interfejs API odwołań
boolean
. Opcjonalny. Użyj polecenia , gdy command = sign || command = verify
. Wartość domyślna: false
.
Użyj interfejsu API odwołań, aby podpisać podpisy, jeśli nie są obsługiwane (zwraca wartość 404), powrót do schematu tagu Odwołujące.
plugin
- Plugin
string
. Wymagane, gdy command = sign
. Dozwolone wartości: azureKeyVault
(Wtyczka usługi Azure Key Vault). Wartość domyślna: azureKeyVault
.
akvPluginVersion
- Wersja wtyczki
string
. Wymagane, gdy plugin = azureKeyVault && command = sign
. Wartość domyślna: 1.1.0
.
Zainstalowana wersja wtyczki Azure Key Vault. Zobacz stronę notation-azure-kv releases (Wersje notation-azure-kv ), aby zapoznać się z dostępnymi wersjami.
azurekvServiceConection
- Połączenie usługi Azure Key Vault
string
. Opcjonalny. Użyj polecenia , gdy plugin = azureKeyVault && command = sign
.
Wybierz subskrypcję platformy Azure dla magazynu kluczy, jeśli wolisz używać połączenia z usługą do uwierzytelniania.
keyid
- Identyfikator klucza
string
. Wymagane, gdy plugin = azureKeyVault && command = sign
.
Identyfikator klucza to klucz lub identyfikator certyfikatu dla usługi Azure Key Vault.
caCertBundle
- Ścieżka pliku pakietu certyfikatów
string
. Opcjonalny. Użyj polecenia , gdy plugin = azureKeyVault && command = sign
.
Plik pakietu certyfikatów z certyfikatem głównym i wszystkimi certyfikatami pośredniczącymi, począwszy od certyfikatu głównego, zgodnie z kolejnością w łańcuchu certyfikatów.
selfSigned
- Certyfikat z podpisem własnym
boolean
. Opcjonalny. Użyj polecenia , gdy plugin = azureKeyVault && command = sign
. Wartość domyślna: false
.
Określa, czy certyfikat jest certyfikatem z podpisem własnym.
trustPolicy
- Ścieżka pliku zasad zaufania
string
. Wymagane, gdy command = verify
.
Ścieżka do pliku zasad zaufania względem repozytorium. Przykład: ./path/to/trust-policy.json
.
trustStore
- Ścieżka folderu magazynu zaufania
string
. Wymagane, gdy command = verify
.
Ścieżka do katalogu zawierającego magazyn zaufania względem repozytorium. Przykład: ./path/to/truststore/
.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Zadanie Notation wywołuje interfejs wiersza polecenia notacji w celu wykonania operacji podpisywania i weryfikacji. Interfejs wiersza polecenia notacji to narzędzie służące do podpisywania i weryfikowania artefaktów lub obrazów kontenera platformy Docker. Podczas podpisywania artefaktu notacja podpisuje unikatowy deskryptor manifestu artefaktu i dołącza podpis do tego samego repozytorium. Podczas weryfikowania artefaktu notacja pobiera podpis z repozytorium i weryfikuje go względem certyfikatu w magazynie zaufania.
Wymagania wstępne
- To zadanie wymaga dostępu do sieci publicznej na potrzeby pobierania interfejsu wiersza polecenia notacji i wtyczki Usługi Azure Key Vault z wersji usługi GitHub.
- Obsługiwany system operacyjny agenta: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Notation install — polecenie
Polecenie install
wykrywa bieżący system operacyjny i architekturę w celu pobrania odpowiedniego interfejsu wiersza polecenia notacji z wydań usługi GitHub. Sprawdza również sumę kontrolną pobranego pliku względem złotego pliku w folderze ./data
i dodaje notację do ścieżki .
Polecenie podpisywania notacji
Polecenie sign
pobiera wybraną wtyczkę Notation, weryfikuje jej sumę kontrolną, a następnie wywołuje interfejs wiersza polecenia notacji do podpisania.
Polecenie weryfikacji notacji
Polecenie verify
przenosi magazyn zaufania i zasady zaufania z repozytorium kodu użytkownika do folderu konfiguracji Notation zgodnie z wymaganiami interfejsu wiersza polecenia notacji. Następnie wywołuje interfejs wiersza polecenia notacji w celu przeprowadzenia weryfikacji.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadania | Narzędzie |