Notation@0: tarea Notación v0
Tarea de Azure Pipepine para configurar la CLI de notación, firmar y comprobar con Notación.
Sintaxis
# 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.
Entradas
comando de command
- para ejecutar
string
. Obligatorio. Valores permitidos: install
, sign
, verify
. Valor predeterminado: install
.
Especifica el modo de comando de la tarea.
-
instalar: el comando
install
detecta el sistema operativo y la arquitectura actuales para descargar la CLI de notación correspondiente de las versiones de GitHub. También comprueba la suma de comprobación del archivo descargado en el archivo golden de la carpeta./data
y agrega notación a path. -
firmar: el comando
sign
descarga el complemento notación seleccionado, valida su suma de comprobación y, a continuación, llama a en la CLI de notación para iniciar sesión. -
comprobar: el comando
verify
transfiere el almacén de confianza y la directiva de confianza del repositorio de código del usuario a la carpeta de configuración de notación, según lo requiera la CLI de notación. A continuación, invoca la CLI de notación para realizar la comprobación.
isCustomVersion
-
de versión personalizada
boolean
. Opcional. Use cuando command = install
. Valor predeterminado: false
.
Especifique true
para proporcionar una versión personalizada de Notación para la tarea especificando una dirección URL de descarga a la versión personalizada en la propiedad url
.
version
-
versión
string
. Obligatorio cuando command = install && isCustomVersion = false
. Valor predeterminado: 1.2.0
.
Versión de Notación que se va a instalar. Ejemplo: 1.0.0, 1, 1.0, 1.0.0.
url
-
de dirección URL de descarga
string
. Obligatorio cuando command = install && isCustomVersion = true
.
Dirección URL a una versión personalizada de Notación que se va a usar, por ejemplo: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz
.
checksum
-
checksum
string
. Obligatorio cuando command = install && isCustomVersion = true
.
Suma de comprobación SHA-256 del archivo descargado.
artifactRefs
-
referencias a artefactos
string
. Opcional. Use cuando command = verify || command = sign
.
Referencias de artefactos de contenedor para la firma. Si no se especifica, la tarea usa la referencia de artefacto de la tarea de inserción de Docker anterior. Ejemplo: <registry name>/<repository name>@<digest>
. Varias referencias de artefacto deben estar separadas por comas.
formato de firma de
string
. Opcional. Use cuando command = sign && command = sign || command = verify
. Valores permitidos: cose
, jws
. Valor predeterminado: cose
.
Formato de sobre de firma.
allowReferrersAPI
-
[Experimental] Permitir api de referencias
boolean
. Opcional. Use cuando command = sign || command = verify
. Valor predeterminado: false
.
Use la API de referencias para firmar firmas, si no se admite (devuelve 404), reserva al esquema de etiquetas de los remitentes.
del complemento
string
. Obligatorio cuando command = sign
. Valores permitidos: azureKeyVault
(complemento de Azure Key Vault). Valor predeterminado: azureKeyVault
.
de la versión del complemento de
string
. Obligatorio cuando plugin = azureKeyVault && command = sign
. Valor predeterminado: 1.2.0
.
Versión del complemento de Azure Key Vault que se va a instalar. Consulte la página de versiones notation-azure-kv para ver las versiones disponibles.
azurekvServiceConection
-
de conexión del servicio Azure Key Vault
string
. Opcional. Use cuando plugin = azureKeyVault && command = sign
.
Seleccione la suscripción de Azure para el almacén de claves si prefiere usar la conexión de servicio para la autenticación.
de identificador de clave de
string
. Obligatorio cuando plugin = azureKeyVault && command = sign
.
El identificador de clave es la clave o el identificador de certificado de Azure Key Vault.
caCertBundle
-
ruta de acceso del archivo de agrupación de certificados
string
. Opcional. Use cuando plugin = azureKeyVault && command = sign
.
El archivo de agrupación de certificados con certificados raíz y todos los certificados intermedios, a partir del certificado raíz, siguiendo el orden de la cadena de certificados.
selfSigned
-
certificado autofirmado
boolean
. Opcional. Use cuando plugin = azureKeyVault && command = sign
. Valor predeterminado: false
.
Si el certificado es un certificado autofirmado.
timestampURL
-
dirección URL de marca de tiempo
string
. Opcional. Use cuando command = sign
.
DIRECCIÓN URL del servidor rfC 3161 timestamping Authority (TSA). (Requerir notación v1.2.0 o posterior).
timestampRootCert
-
de certificado raíz de marca de tiempo
string
. Opcional. Use cuando command = sign
.
filepath de certificado raíz de entidad de marca de tiempo. (Requerir notación v1.2.0 o posterior).
trustPolicy
-
ruta de acceso de archivo de directiva de confianza
string
. Obligatorio cuando command = verify
.
Ruta de acceso a la directiva de confianza de archivo en relación con el repositorio. Ejemplo: ./path/to/trust-policy.json
.
trustStore
-
ruta de acceso de carpeta del almacén de confianza
string
. Obligatorio cuando command = verify
.
Ruta de acceso al directorio que contiene el almacén de confianza de en relación con el repositorio. Ejemplo: ./path/to/truststore/
.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
La tarea Notation llama a la CLI de notación para ejecutar operaciones de firma y comprobación. La CLI de notación es una herramienta que se usa para firmar y comprobar los artefactos o imágenes del contenedor de Docker. Al firmar un artefacto, Notation firma el descriptor de manifiesto único del artefacto y adjunta la firma al mismo repositorio. Al comprobar un artefacto, notación recupera la firma del repositorio y la valida con el certificado del almacén de confianza.
Prerrequisitos
- Esta tarea requiere acceso a la red pública para descargar la CLI de notación y el complemento Notation Azure Key Vault de las versiones de Github.
- Sistema operativo del agente compatible: Linux x64/ARM64, Windows x64, macOS x64/ARM64
Comando de instalación de notación
El comando install
detecta el sistema operativo y la arquitectura actuales para descargar la CLI de notación correspondiente de las versiones de GitHub. También comprueba la suma de comprobación del archivo descargado en el archivo golden de la carpeta ./data
y agrega notación a path.
Comando notation sign
El comando sign
descarga el complemento notación seleccionado, valida su suma de comprobación y, a continuación, llama a en la CLI de notación para iniciar sesión.
Comando Notation verify
El comando verify
transfiere el almacén de confianza y la directiva de confianza del repositorio de código del usuario a la carpeta de configuración de notación, según lo requiera la CLI de notación. A continuación, invoca la CLI de notación para realizar la comprobación.
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Ninguno |
funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquier |
variables settable | Cualquier |
Versión del agente | 2.144.0 o superior |
Categoría de tarea | Utilidad |