Udostępnij za pośrednictwem


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.

  • installinstall 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 .
  • signsign polecenie pobiera wybraną wtyczkę Notation, weryfikuje sumę kontrolną, a następnie wywołuje interfejs wiersza polecenia notacji w celu podpisania.
  • verifyverify 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