次の方法で共有


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. 必須です。 許可値: installsignverify。 既定値: 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を使用します。 使用できる値: cosejws。 既定値: 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 以上
タスクのカテゴリ ユーティリティ