Bagikan melalui


Notation@0 - Tugas notasi v0

Tugas Azure Pipepine untuk menyiapkan Notation CLI, tanda tangani dan verifikasi dengan Notasi.

Sintaks

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

Input

command - Perintah untuk dijalankan
string. Wajib diisi. Nilai yang diizinkan: install, sign, dan verify. Nilai default: install.

Menentukan mode perintah tugas.

  • install - install Perintah mendeteksi sistem operasi dan arsitektur saat ini untuk mengunduh Notation CLI yang sesuai dari rilis GitHub. Ini juga memverifikasi checksum file yang diunduh terhadap file emas di ./data folder dan menambahkan Notasi ke PATH.
  • sign - Perintah sign mengunduh plugin Notasi yang dipilih, memvalidasi checksum-nya, lalu memanggil notasi CLI untuk menandatangani.
  • verify - verify Perintah mentransfer kebijakan penyimpanan kepercayaan dan kepercayaan dari repositori kode pengguna ke folder konfigurasi Notasi, sebagaimana diperlukan oleh Notasi CLI. Kemudian memanggil Notation CLI untuk melakukan verifikasi.

isCustomVersion - Versi Kustom
boolean. Pilihan. Gunakan saat command = install. Nilai default: false.

Tentukan true untuk menyediakan notasi versi kustom untuk tugas dengan menentukan URL unduhan ke versi kustom di url properti .


version - Versi
string. Diperlukan saat command = install && isCustomVersion = false. Nilai default: 1.1.0.

Versi Notasi yang akan diinstal. Contoh: 1.0.0, 1, 1.0, 1.0.0.


url - URL Unduhan
string. Diperlukan saat command = install && isCustomVersion = true.

URL ke versi kustom Notasi yang akan digunakan, misalnya: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz.


checksum - Checksum
string. Diperlukan saat command = install && isCustomVersion = true.

Checksum SHA-256 dari file yang diunduh.


artifactRefs - Referensi artefak
string. Opsional. Gunakan saat command = verify || command = sign.

Referensi artefak kontainer untuk penandatanganan. Jika tidak ditentukan, tugas menggunakan referensi artefak dari tugas dorong Docker sebelumnya. Contoh: <registry name>/<repository name>@<digest>. Beberapa referensi artefak harus dipisahkan koma.


signatureFormat - Format Tanda Tangan
string. Pilihan. Gunakan saat command = sign && command = sign || command = verify. Nilai yang diizinkan: cose, jws. Nilai default: cose.

Format amplop tanda tangan.


allowReferrersAPI - [Eksperimental] Izinkan API Referen
boolean. Pilihan. Gunakan saat command = sign || command = verify. Nilai default: false.

Gunakan API Referen untuk menandatangani tanda tangan, jika tidak didukung (mengembalikan 404), fallback ke skema tag Referen.


plugin - Plugin
string. Diperlukan saat command = sign. Nilai yang diizinkan: azureKeyVault (Plugin Azure Key Vault). Nilai default: azureKeyVault.


akvPluginVersion - Versi Plugin
string. Diperlukan saat plugin = azureKeyVault && command = sign. Nilai default: 1.1.0.

Versi plugin Azure Key Vault yang akan diinstal. Lihat halaman rilis notation-azure-kv untuk versi yang tersedia.


azurekvServiceConection - Koneksi layanan Azure Key Vault
string. Pilihan. Gunakan saat plugin = azureKeyVault && command = sign.

Pilih langganan Azure untuk brankas kunci jika lebih suka menggunakan koneksi layanan untuk autentikasi.


keyid - ID Kunci
string. Diperlukan saat plugin = azureKeyVault && command = sign.

ID Kunci adalah pengidentifikasi kunci atau sertifikat untuk Azure Key Vault.


caCertBundle - Jalur File Bundel Sertifikat
string. Pilihan. Gunakan saat plugin = azureKeyVault && command = sign.

File bundel sertifikat dengan akar dan semua sertifikat perantara, mulai dari sertifikat akar, mengikuti urutan dalam rantai sertifikat.


selfSigned - Sertifikat yang Ditandatangani Sendiri
boolean. Opsional. Gunakan saat plugin = azureKeyVault && command = sign. Nilai default: false.

Apakah sertifikat adalah sertifikat yang ditandatangani sendiri.


trustPolicy - Jalur File Kebijakan Kepercayaan
string. Diperlukan saat command = verify.

Jalur ke file kebijakan kepercayaan relatif terhadap repositori. Contoh: ./path/to/trust-policy.json.


trustStore - Jalur Folder Penyimpanan Kepercayaan
string. Diperlukan saat command = verify.

Jalur ke direktori yang berisi penyimpanan kepercayaan relatif terhadap repositori. Contoh: ./path/to/truststore/.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Tugas Notasi memanggil Notasi CLI untuk menjalankan operasi penandatanganan dan verifikasi. Notasi CLI adalah alat yang digunakan untuk menandatangani dan memverifikasi artefak atau gambar kontainer Docker. Saat menandatangani artefak, Notation menandatangani deskriptor manifes unik artefak dan melampirkan tanda tangan ke repositori yang sama. Saat memverifikasi artefak, Notasi mengambil tanda tangan dari repositori dan memvalidasinya terhadap sertifikat di penyimpanan kepercayaan.

Prasyarat

  • Tugas ini memerlukan akses jaringan publik untuk mengunduh notasi CLI dan Notasi Azure Key Vault plugin dari rilis Github.
  • OS Agen yang Didukung: Linux x64/ARM64, Windows x64, macOS x64/ARM64

Perintah penginstalan notasi

Perintah install mendeteksi sistem operasi dan arsitektur saat ini untuk mengunduh Notasi CLI yang sesuai dari rilis GitHub. Ini juga memverifikasi checksum file yang diunduh terhadap file emas di ./data folder dan menambahkan Notasi ke PATH.

Perintah tanda notasi

Perintah sign mengunduh plugin Notasi yang dipilih, memvalidasi checksum-nya, lalu memanggil notasi CLI untuk menandatangani.

Perintah verifikasi notasi

Perintah verify mentransfer kebijakan penyimpanan kepercayaan dan kepercayaan dari repositori kode pengguna ke folder konfigurasi Notasi, seperti yang diperlukan oleh Notasi CLI. Kemudian memanggil Notation CLI untuk melakukan verifikasi.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 2.144.0 atau lebih tinggi
Kategori tugas Utilitas