Notation@0 - v0 タスクの表記
Notation CLI を設定するための Azure Pipepine タスク。Notation を使用して署名および検証します。
構文
# 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.
入力
command
- 実行するコマンド
string
. 必須です。 許可値: install
、sign
、verify
。 既定値: install
。
タスクのコマンド モードを指定します。
- install - コマンドは
install
、GitHub リリースから対応する Notation CLI をダウンロードするための現在のオペレーティング システムとアーキテクチャを検出します。 また、ダウンロードしたファイルのチェックサムがフォルダー内のゴールデン ファイルに./data
対して検証され、PATH に Notation が追加されます。 - sign - コマンドは
sign
、選択した Notation プラグインをダウンロードし、そのチェックサムを検証してから、Notation CLI で を呼び出して署名します。 - verify - コマンドは
verify
、Notation CLI で必要に応じて、信頼ストアと信頼ポリシーをユーザーのコード リポジトリから Notation 構成フォルダーに転送します。 その後、Notation CLI を呼び出して検証を実行します。
isCustomVersion
- カスタム バージョン
boolean
. 省略可能。 の場合は command = install
を使用します。 既定値: false
。
true
プロパティのカスタム バージョンへのダウンロード URL を指定して、タスクの Notation のカスタム バージョンurl
を指定するように指定します。
version
- バージョン
string
. command = install && isCustomVersion = false
の場合に必要です。 既定値: 1.1.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
)。
checksum
- チェックサム
string
. command = install && isCustomVersion = true
の場合に必要です。
ダウンロードしたファイルの SHA-256 チェックサム。
artifactRefs
- 成果物の参照
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.1.0
。
インストールする Azure Key Vault プラグインのバージョン。 使用可能なバージョンについては、 notation-azure-kv リリース ページ を参照してください。
azurekvServiceConection
- Azure Key Vault サービス接続
string
. 省略可能。 の場合は plugin = azureKeyVault && command = sign
を使用します。
認証にサービス接続を使用する場合は、キー コンテナーの Azure サブスクリプションを選択します。
keyid
- キー ID
string
. plugin = azureKeyVault && command = sign
の場合に必要です。
キー ID は、Azure Key Vaultのキーまたは証明書識別子です。
caCertBundle
- 証明書バンドル のファイル パス
string
. 省略可能。 の場合は plugin = azureKeyVault && command = sign
を使用します。
ルート証明書とすべての中間証明書を含む証明書バンドル ファイル。ルート証明書から始まり、証明書チェーン内の順序に従います。
selfSigned
- 自己署名証明書
boolean
. 省略可能。 の場合は plugin = azureKeyVault && command = sign
を使用します。 既定値: false
。
証明書が自己署名証明書かどうか。
trustPolicy
- 信頼ポリシー ファイルのパス
string
. command = verify
の場合に必要です。
リポジトリを基準とした 信頼ポリシー ファイルへのパス。 例: ./path/to/trust-policy.json
.
trustStore
- 信頼ストア フォルダーのパス
string
. command = verify
の場合に必要です。
リポジトリに対する相対信頼 ストア を含むディレクトリへのパス。 例: ./path/to/truststore/
.
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
Notation タスクでは、Notation CLI を呼び出して署名と検証の操作を実行します。 表記 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 を呼び出して検証を実行します。
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.144.0 以上 |
タスクのカテゴリ | ユーティリティ |