Notation@0 - 表記 v0 タスク
Notation CLI を設定し、Notation を使用して署名および検証するための Azure Pipepine タスク。
構文
# 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.
入力
を実行するコマンドを
string
. 必須。 使用できる値: install
、sign
、verify
。 既定値: install
.
タスクのコマンド モードを指定します。
- をインストール
- コマンドは、GitHub リリースから対応する Notation CLI をダウンロードするための現在のオペレーティング システムとアーキテクチャを検出します。 また、ダウンロードしたファイルのチェックサムが、 ./data
フォルダー内のゴールデン ファイルに対して検証され、PATH に Notation が追加されます。 -
署名 -
sign
コマンドは、選択した Notation プラグインをダウンロードし、そのチェックサムを検証してから、Notation CLI を呼び出して署名します。 - を確認
- コマンドは、Notation CLI で必要に応じて、信頼ストアと信頼ポリシーをユーザーのコード リポジトリから Notation 構成フォルダーに転送します。 その後、Notation CLI を呼び出して検証を実行します。
カスタム バージョン の
boolean
. 随意。
command = install
するときに使用します。 既定値: false
.
url
プロパティでカスタム バージョンへのダウンロード URL を指定して、タスクにカスタム バージョンの Notation を提供する true
を指定します。
version
-
バージョン
string
.
command = install && isCustomVersion = false
する場合に必要です。 既定値: 1.2.0
.
インストールする Notation のバージョン。 例: 1.0.0、1、1.0、1.0.0。
url
-
URL のダウンロード
string
.
command = install && isCustomVersion = true
する場合に必要です。
使用するカスタム バージョンの Notation の URL (例: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
)。
チェックサム の
string
.
command = install && isCustomVersion = true
する場合に必要です。
ダウンロードしたファイルの SHA-256 チェックサム。
artifactRefs
-
Artifact 参照
string
. 随意。
command = verify || command = sign
するときに使用します。
署名用のコンテナー成果物参照。 指定しない場合、タスクは前の Docker プッシュ タスクからの成果物参照を使用します。 例: <registry name>/<repository name>@<digest>
. 複数の成果物参照はコンマで区切る必要があります。
signatureFormat
-
署名形式の
string
. 随意。
command = sign && command = sign || command = verify
するときに使用します。 使用できる値: cose
、jws
。 既定値: cose
.
署名封筒の形式。
allowReferrersAPI
-
[試験段階] 参照元 API を許可する
boolean
. 随意。
command = sign || command = verify
するときに使用します。 既定値: false
.
参照元 API を使用して、サポートされていない場合 (404 を返す) 署名に署名し、参照元タグ スキーマにフォールバックします。
plugin
-
プラグインの
string
.
command = sign
する場合に必要です。 使用できる値: azureKeyVault
(Azure Key Vault プラグイン)。 既定値: azureKeyVault
.
akvPluginVersion
-
プラグインのバージョン
string
.
plugin = azureKeyVault && command = sign
する場合に必要です。 既定値: 1.2.0
.
インストールする Azure Key Vault プラグインのバージョン。 使用可能なバージョンについては、表記-azure-kv リリースのページ を参照してください。
Azure Key Vault サービス接続 を
string
. 随意。
plugin = azureKeyVault && command = sign
するときに使用します。
認証にサービス接続を使用する場合は、キー コンテナーの Azure サブスクリプションを選択します。
キー ID の
string
.
plugin = azureKeyVault && command = sign
する場合に必要です。
キー ID は、Azure Key Vault のキーまたは証明書識別子です。
証明書バンドル ファイル パスの を
string
. 随意。
plugin = azureKeyVault && command = sign
するときに使用します。
証明書チェーン内の順序に従って、ルート証明書とすべての中間証明書を含む証明書バンドル ファイル。
自己署名証明書 の
boolean
. 随意。
plugin = azureKeyVault && command = sign
するときに使用します。 既定値: false
.
証明書が自己署名証明書かどうか。
timestampURL
-
タイムスタンプ URL
string
. 随意。
command = sign
するときに使用します。
RFC 3161 Timestamping Authority (TSA) サーバー URL。 (Require Notation v1.2.0 以降)。
タイムスタンプ ルート証明書 の
string
. 随意。
command = sign
するときに使用します。
タイムスタンプ機関のルート証明書の filepath。 (Require Notation v1.2.0 以降)。
信頼ポリシー ファイル パス の
string
.
command = verify
する場合に必要です。
リポジトリに対する相対ファイル ./path/to/trust-policy.json
.
信頼ストア フォルダー パス の
string
.
command = verify
する場合に必要です。
リポジトリを基準に ./path/to/truststore/
.
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
何一つ。
備考
Notation タスクは Notation CLI を呼び出して、署名と検証の操作を実行します。 Notation CLI は、Docker コンテナーの成果物またはイメージに署名して検証するために使用されるツールです。 成果物に署名すると、Notation は成果物の一意のマニフェスト記述子に署名し、署名を同じリポジトリにアタッチします。 成果物を検証するときに、Notation はリポジトリから署名を取得し、信頼ストア内の証明書に対して検証します。
前提 条件
- このタスクでは、GitHub リリースから Notation CLI と Notation Azure Key Vault プラグインをダウンロードするためのパブリック ネットワーク アクセスが必要です。
- サポートされるエージェント OS: Linux x64/ARM64、Windows x64、macOS x64/ARM64
Notation install コマンド
install
コマンドは、GitHub リリースから対応する Notation CLI をダウンロードするための現在のオペレーティング システムとアーキテクチャを検出します。 また、ダウンロードしたファイルのチェックサムが、./data
フォルダー内のゴールデン ファイルに対して検証され、PATH に Notation が追加されます。
表記記号コマンド
sign
コマンドは、選択した Notation プラグインをダウンロードし、そのチェックサムを検証してから、Notation CLI を呼び出して署名します。
Notation verify コマンド
verify
コマンドは、Notation CLI で必要に応じて、信頼ストアと信頼ポリシーをユーザーのコード リポジトリから Notation 構成フォルダーに転送します。 その後、Notation CLI を呼び出して検証を実行します。