Compartir vía


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