IBM Cloud Docs
Firma de imágenes para contenido de confianza en Container Registry

Firma de imágenes para contenido de confianza en Container Registry

IBM Cloud® Container Registry proporciona tecnología de contenido de confianza para que pueda firmar imágenes y garantizar la integridad de las imágenes en el espacio de nombres del registro.

Al extraer y enviar imágenes firmadas, puede verificar que las imágenes las ha enviado la parte correcta, como las herramientas de integración continua (CI).

Puede utilizar firmas de Red Hat® para firmar las imágenes.

Firma de imágenes utilizando firmas de Red Hat

Puedes utilizar varias herramientas para crear firmas Red Hat para tus imágenes. Puede almacenar las imágenes firmadas para obtener contenido de confianza utilizando la API de extensión de firmas de Red Hat, que es compatible con IBM Cloud Container Registry.

Puede utilizar las herramientas siguientes para crear firmas de Red Hat:

Utilización de skopeo para firmar imágenes

Para utilizar Skopeo para firmar las imágenes, debe crear una identidad privada de GNU Privacy Guard(GnuPG o GPG) y, a continuación, ejecutar el mandato skopeo.

El ejemplo siguiente no incluye la autenticación de Skopeo.

  1. Para crear una identidad GnuPG, ejecute el mandato siguiente.

    gpg --generate-key
    
  2. Envíe y firme la imagen a la vez utilizando la identidad de GnuPG para firmar la imagen. Donde YOUR_EMAIL es la dirección de correo electrónico que utilizó para inscribirse en GnuPG, REPOSITORY:TAG es su repositorio y etiqueta, y IMAGE es el nombre de su imagen en el formato <region><namespace><repository>:<tag>, donde <region> es el nombre de su región, <namespace> es el nombre de su espacio de nombres y <repository>:<tag> es su repositorio y etiqueta.

    Para encontrar los nombres de sus imágenes, ejecute ibmcloud cr image-list. Combine el contenido de la columna Repositorio (repository) y la columna Etiqueta (tag) separados por dos puntos (:) para crear el nombre de imagen en el formato <repository>:<tag>. Si se agota el tiempo de espera del comando Listar imágenes, consulte ¿Por qué se agota el tiempo de espera al listar imágenes? para obtener ayuda.

    skopeo --insecure-policy copy --sign-by YOUR_EMAIL docker-daemon:REPOSITORY:TAG docker://IMAGE
    

    Por ejemplo, donde YOUR_EMAIL es su dirección de correo electrónico GnuPG (user@email.com), bluebird:build1 es su repositorio y etiqueta, y us.icr.io/birds/bluebird:build1 es el nombre de su imagen.

    skopeo --insecure-policy copy --sign-by user@email.com docker-daemon:bluebird:build1 docker://us.icr.io/birds/bluebird:build1
    

    macOS En macOS, si obtiene el error Error copying image to the remote destination: Error writing signatures: mkdir /var/lib/containers/sigstore: permission denied, anule el valor predeterminado interno para la configuración del registro de modo que se utilice el almacenamiento de firmas correcto ejecutando el comando con la opción --registries.d.

    skopeo --registries.d . --insecure-policy copy --sign-by user@email.com docker-daemon:us.icr.io/birds/bluebird:build1 docker://us.icr.io/birds/bluebird:build1
    

LinuxmacOS En Linux® y macOS, la configuración por defecto de las herramientas es almacenar las firmas localmente. El almacenamiento de firmas localmente puede causar un error de verificación de la firma porque la firma no está en el registro. Para solucionar este problema, puede modificar o suprimir el archivo de configuración. En Linux®, la configuración se guarda en /etc/containers/registries.d/default.yaml. En macOS, el archivo de configuración se guarda en /usr/local/etc/containers/registries.d/default.yaml. En macOS, cuando se instala Skopeo utilizando el gestor de paquetes Homebrew, el archivo de configuración puede estar en /opt/homebrew/Cellar/etc/containers/registries.d/default.yaml para Apple silicon o /usr/local/Cellar/etc/containers/registries.d/default.yaml para Intel.

Utilización de Podman para firmar imágenes

Puede utilizar Podman para firmar imágenes. Para más información, consulte Podman.

Firma de imágenes utilizando la CLI de Red Hat OpenShift

Puede firmar las imágenes utilizando la CLI de Red Hat OpenShift. Para más información, consulte Red Hat OpenShift CLI. La CLI Red Hat® OpenShift® utiliza el mandato oc.