Agregar un nuevo firmante al repositorio
En este paso, aprenderemos cómo agregar un nuevo firmante a un repositorio de Docker. Esto es útil cuando se desea permitir que otra parte o sistema firme imágenes para su repositorio.
Antes de agregar un firmante, se necesita tener una clave de firma. Si no se tiene una, se puede generar un nuevo par de claves utilizando el comando docker trust key generate
. Para este laboratorio, asumiremos que tiene un par de claves.
Para agregar un nuevo firmante, utilizamos el comando docker trust signer add
. Este comando requiere el nombre del nuevo firmante, el nombre del repositorio y la ruta a la clave pública del nuevo firmante.
Creemos un archivo de clave pública ficticia con fines demostrativos. En un escenario real, esta sería la clave pública proporcionada por el nuevo firmante.
echo "-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0AQICYQADggEPADRUb2tlbiBmb3IgYSB0ZXN0IHNpZ25lcg==
-----END PUBLIC KEY-----" > ~/project/new_signer.pub
Este comando crea un archivo llamado new_signer.pub
en su directorio ~/project
con algún contenido de clave pública ficticio.
Ahora, agreguemos un nuevo firmante llamado my-new-signer
a un hipotético repositorio your-dockerhub-user/my-image
. Reemplace your-dockerhub-user
con su nombre de usuario de Docker Hub si estuviera haciendo esto con un repositorio real. Para este laboratorio, usaremos un marcador de posición.
docker trust signer add my-new-signer your-dockerhub-user/my-image --key ~/project/new_signer.pub
Se le pedirá que ingrese la contraseña de la clave raíz del repositorio. Esta es una medida de seguridad para garantizar que solo los usuarios autorizados puedan agregar firmantes. Dado que este es un entorno de laboratorio y no estamos interactuando con un registro real de Docker, puede ingresar una contraseña ficticia.
Después de ingresar la contraseña, el comando agregará el nuevo firmante a los datos de confianza del repositorio. Debería ver una salida que indique que el firmante se ha agregado.
Adding signer "my-new-signer" to your-dockerhub-user/my-image...
Successfully added signer "my-new-signer" to your-dockerhub-user/my-image
Este comando actualiza los datos de confianza para el repositorio especificado en el registro de Docker, agregando la clave pública del nuevo firmante.