ACR content trust te permite firmar las imágenes que se envían a tu registro. Los consumidores de tus imágenes (personas o sistemas que obtienen imágenes de tu registro) pueden configurar a sus clientes para que solo obtengan imágenes firmadas. Cuando un consumidor de imágenes extrae una imagen firmada, el cliente Docker verifica la integridad de la imagen. En este modelo, los consumidores están seguros de que las imágenes firmadas en su registro fueron efectivamente publicadas por uno mismo, y que no se han modificado desde su publicación
Como primeros pasos para habilitar esto es necesario utilizar el SKU Premium de ACR, esto se puede configurar tanto para un ACR nuevo como para uno existente:
Podemos verificar que se encuentra correctamente habilitado mediante el CLI de Azure ejecutando:
az acr config content-trust show -n cibiriregistry
Para que esto funcione tiene que estar habilitado desde el lado cliente para poder trabajar con imágenes firmadas, en palabras mas sencillas en el cliente Docker tiene que estar habilitado. Esto se puede realizar mediante el siguiente comando:
export DOCKER_CONTENT_TRUST=1
En el caso que no se quiera habilitar a nivel global de Docker se puede hacer a nivel de cada build mediante el siguiente comando
docker build --disable-content-trust=false -t cibiriregistry.azurecr.io/test-apache:latest .
Elegimos la opción anterior y hacemos el push de la imagen hacia ACR:
docker push cibiriregistry.azurecr.io/test-apache:latest
Durante el proceso nos va a solicitar una contraseña para poder subirla a ACR, esta contraseña sera utilizada luego para hacer el pull de la imagen
Luego cuando queramos hacer el pull de la imagen solo nos va a permitir hacer el mismo si la imagen esta firmada, caso contrario vamos a obtener un error como el siguiente:
No valid trust data for unsigned
Es importante destacar que esta característica esta en vista previa y puede sufrir modificaciones.
Espero que les sirva la información.






