次の方法で共有


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. 必須。 使用できる値: installsignverify。 既定値: 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するときに使用します。 使用できる値: 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.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 を呼び出して検証を実行します。

必要条件

要件 形容
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 何一つ
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 任意
設定可能な変数 任意
エージェントのバージョン 2.144.0 以上
タスク カテゴリ 効用