Notation@0 - 表示法 v0 任务
用于设置表示法 CLI 的 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
。
指定任务的命令模式。
-
安装 -
install
命令检测当前操作系统和体系结构,以便从 GitHub 版本下载相应的表示法 CLI。 它还根据./data
文件夹中的黄金文件验证下载的文件的校验和,并将表示法添加到 PATH。 -
签名 -
sign
命令下载所选表示法插件,验证其校验和,然后调用表示法 CLI 进行签名。 -
验证 -
verify
命令根据表示法 CLI 的要求,将信任存储和信任策略从用户代码存储库传输到表示法配置文件夹。 然后,它会调用表示法 CLI 来执行验证。
isCustomVersion
-
自定义版本
boolean
。 自选。 当 command = install
时使用。 默认值:false
。
通过指定 url
属性中自定义版本的自定义版本来指定 true
为任务提供自定义版本的表示法。
version
-
版本
string
。
command = install && isCustomVersion = false
时是必需的。 默认值:1.2.0
。
要安装的表示法版本。 示例:1.0.0、1、1.0、1.0.0。
url
-
下载 URL
string
。
command = install && isCustomVersion = true
时是必需的。
要使用的自定义表示法版本的 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.2.0
。
要安装的 Azure Key Vault 插件的版本。 有关可用版本,请参阅 表示法-azure-kv 版本页。
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
。
证书是否为自签名证书。
timestampURL
-
时间戳 URL
string
。 自选。 当 command = sign
时使用。
RFC 3161 时间戳颁发机构 (TSA) 服务器 URL。 (需要表示法 v1.2.0 或更高版本)。
timestampRootCert
-
时间戳根证书
string
。 自选。 当 command = sign
时使用。
时间戳颁发机构根证书的文件路径。 (需要表示法 v1.2.0 或更高版本)。
trustPolicy
-
信任策略文件路径
string
。
command = verify
时是必需的。
相对于存储库 文件 ./path/to/trust-policy.json
。
trustStore
-
信任存储文件夹路径
string
。
command = verify
时是必需的。
包含 信任存储的目录的路径 相对于存储库。 示例:./path/to/truststore/
。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
言论
表示法任务调用表示法 CLI 来执行签名和验证操作。 表示法 CLI 是用于对 Docker 容器项目或映像进行签名和验证的工具。 对项目进行签名时,表示法对项目的唯一清单描述符进行签名,并将签名附加到同一存储库。 验证项目时,表示法从存储库中检索签名,并针对信任存储中的证书对其进行验证。
先决条件
- 此任务需要公共网络访问权限,以便从 Github 版本下载表示法 CLI 和表示法 Azure Key Vault 插件。
- 支持的代理 OS:Linux x64/ARM64、Windows x64、macOS x64/ARM64
表示法安装命令
install
命令检测当前操作系统和体系结构,以便从 GitHub 版本下载相应的表示法 CLI。 它还根据 ./data
文件夹中的黄金文件验证下载的文件的校验和,并将表示法添加到 PATH。
表示法符号命令
sign
命令下载所选表示法插件,验证其校验和,然后调用表示法 CLI 进行签名。
表示法验证命令
verify
命令根据表示法 CLI 的要求,将信任存储和信任策略从用户代码存储库传输到表示法配置文件夹。 然后,它会调用表示法 CLI 来执行验证。