Notation@0 - Tugas notasi v0
Tugas Azure Pipepine untuk menyiapkan Notation CLI, tanda tangani dan verifikasi dengan Notasi.
Sintaksis
# 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.
Input
Perintah command
- untuk menjalankan
string
. Diperlukan. Nilai yang diizinkan: install
, sign
, verify
. Nilai default: install
.
Menentukan mode perintah tugas.
-
menginstal - 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 folder./data
dan menambahkan Notasi ke PATH. -
menandatangani - Perintah
sign
mengunduh plugin Notasi yang dipilih, memvalidasi checksum-nya, lalu memanggil Notation CLI untuk menandatangani. -
memverifikasi - Perintah
verify
mentransfer kebijakan penyimpanan kepercayaan dan kepercayaan dari repositori kode pengguna ke folder konfigurasi Notasi, seperti yang diperlukan oleh Notation CLI. Kemudian memanggil Notation CLI untuk melakukan verifikasi.
Versi Kustom
boolean
. Fakultatif. Gunakan saat command = install
. Nilai default: false
.
Tentukan true
untuk menyediakan versi kustom Notasi untuk tugas dengan menentukan URL unduhan ke versi kustom di properti url
.
version
-
Versi
string
. Diperlukan saat command = install && isCustomVersion = false
. Nilai default: 1.2.0
.
Versi Notasi yang akan diinstal. Contoh: 1.0.0, 1, 1.0, 1.0.0.
URL Unduhan
string
. Diperlukan saat command = install && isCustomVersion = true
.
URL ke versi Notasi kustom yang akan digunakan, misalnya: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
string
. Diperlukan saat command = install && isCustomVersion = true
.
Checksum SHA-256 dari file yang diunduh.
referensi Artefak
string
. Fakultatif. Gunakan saat command = verify || command = sign
.
Referensi artefak kontainer untuk penandatanganan. Jika tidak ditentukan, tugas menggunakan referensi artefak dari tugas dorongan Docker sebelumnya. Contoh: <registry name>/<repository name>@<digest>
. Beberapa referensi artefak harus dipisahkan koma.
Format Tanda Tangan
string
. Fakultatif. Gunakan saat command = sign && command = sign || command = verify
. Nilai yang diizinkan: cose
, jws
. Nilai default: cose
.
Format amplop tanda tangan.
allowReferrersAPI
-
[Eksperimental] Izinkan API Perujuk
boolean
. Fakultatif. Gunakan saat command = sign || command = verify
. Nilai default: false
.
Gunakan API Referen untuk menandatangani tanda tangan, jika tidak didukung (mengembalikan 404), mundur ke skema tag Referen.
Plugin
string
. Diperlukan saat command = sign
. Nilai yang diizinkan: azureKeyVault
(Plugin Azure Key Vault). Nilai default: azureKeyVault
.
Versi Plugin
string
. Diperlukan saat plugin = azureKeyVault && command = sign
. Nilai default: 1.2.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
. Fakultatif. Gunakan saat plugin = azureKeyVault && command = sign
.
Pilih langganan Azure untuk brankas kunci jika lebih suka menggunakan koneksi layanan untuk autentikasi.
ID Kunci
string
. Diperlukan saat plugin = azureKeyVault && command = sign
.
ID Kunci adalah pengidentifikasi kunci atau sertifikat untuk Azure Key Vault.
Jalur File Bundel Sertifikat
string
. Fakultatif. 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
. Fakultatif. Gunakan saat plugin = azureKeyVault && command = sign
. Nilai default: false
.
Apakah sertifikat adalah sertifikat yang ditandatangani sendiri.
URL Tanda Waktu
string
. Fakultatif. Gunakan saat command = sign
.
URL server RFC 3161 Timestamping Authority (TSA). (Memerlukan Notasi v1.2.0 atau yang lebih baru).
Sertifikat Akar Tanda Waktu
string
. Fakultatif. Gunakan saat command = sign
.
filepath sertifikat akar otoritas tanda waktu. (Memerlukan Notasi v1.2.0 atau yang lebih baru).
trustPolicy
-
Jalur File Kebijakan Kepercayaan
string
. Diperlukan saat command = verify
.
Jalur ke file kebijakan kepercayaan ./path/to/trust-policy.json
.
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 tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel output
Tidak.
Komentar
Tugas Notasi memanggil Notation 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 plugin Azure Key Vault 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 Notation CLI yang sesuai dari rilis GitHub. Ini juga memverifikasi checksum file yang diunduh terhadap file emas di folder ./data
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 Notation CLI. Kemudian memanggil Notation CLI untuk melakukan verifikasi.
Persyaratan
Syarat | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan |
Tidak |
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 |