Firmar una etiqueta (tag) como firmante
En este paso, exploraremos cómo un "firmante" designado puede firmar una etiqueta (tag) de imagen de Docker. En un escenario del mundo real, un repositorio podría tener múltiples firmantes, cada uno responsable de firmar etiquetas o versiones específicas. Esto permite un proceso de firma más distribuido y seguro.
Primero, asegúrate de que Docker Content Trust esté habilitado:
export DOCKER_CONTENT_TRUST=1
Ahora, creemos una nueva etiqueta para nuestra imagen, simulando una versión o lanzamiento diferente para el que un firmante podría ser responsable.
docker tag labexuser/my-signed-image:latest labexuser/my-signed-image:v1.0.0
Esto crea una nueva etiqueta labexuser/my-signed-image:v1.0.0
que apunta a la misma imagen.
Para firmar esta nueva etiqueta como un "firmante" diferente, utilizamos el comando docker trust sign
. Este comando te permite firmar explícitamente una etiqueta específica con una clave específica.
docker trust sign labexuser/my-signed-image:v1.0.0
Cuando ejecutes este comando, Docker te pedirá la contraseña de la clave de firma que deseas utilizar. Si estás utilizando la misma clave generada en el Paso 2, ingresa esa contraseña. Si fueras un firmante diferente con una clave diferente, utilizarías la contraseña de esa clave.
Después de ingresar correctamente la contraseña, Docker firmará la etiqueta labexuser/my-signed-image:v1.0.0
. Deberías ver una salida que confirme el proceso de firma.
Finalmente, necesitamos enviar los datos de confianza actualizados al registro. El comando docker push
para la etiqueta firmada incluirá la nueva información de firma.
docker push labexuser/my-signed-image:v1.0.0
Este comando envía la etiqueta v1.0.0
junto con su firma asociada al registro.