IBM Cloud Docs
Signer des images pour un contenu de confiance dans Container Registry

Signer des images pour un contenu de confiance dans Container Registry

IBM Cloud® Container Registry fournit une technologie de contenu digne de confiance pour vous permettre de signer des images pour garantir l'intégrité des images dans votre espace de nom de registre.

En extrayant et en transférant des images signées, vous pouvez vérifier que vos images ont été envoyées par la partie appropriée, comme les outils d'intégration continue.

Vous pouvez utiliser les signatures Red Hat® pour signer vos images.

Signature d'images à l'aide de signatures Red Hat

Vous pouvez utiliser différents outils pour créer des signatures Red Hat pour vos images. Vous pouvez stocker vos images signées pour le contenu sécurisé à l'aide de l'API d'extension des signatures Red Hat, qui est prise en charge par IBM Cloud Container Registry.

Vous pouvez utiliser les outils suivants pour créer des signatures Red Hat:

Utilisation de skopeo pour signer des images

Pour utiliser Skopeo pour signer vos images, vous devez créer une identité privée GNU Privacy Guard(GnuPG ou GPG), puis exécuter la commande skopeo.

L'exemple suivant n'inclut pas l'authentification Skopeo.

  1. Pour créer une identité GnuPG, exécutez la commande suivante.

    gpg --generate-key
    
  2. Envoyez l'image et, simultanément, signez-la en utilisant l'identité GnuPG. Où YOUR_EMAIL est l'adresse électronique que vous avez utilisée pour vous inscrire à GnuPG, REPOSITORY:TAG est votre dépôt et votre balise, et IMAGE est le nom de votre image au format <region><namespace><repository>:<tag>, où <region> est le nom de votre région, <namespace> est le nom de votre espace de noms et <repository>:<tag> est votre dépôt et votre balise.

    Pour trouver les noms de vos images, exécutez ibmcloud cr image-list. Combinez le contenu de la colonne Référentiel (repository) et de la colonne Balise (tag) séparées par un signe deux-points (:) pour créer le nom de l'image au format <repository>:<tag>. Si la commande énumérer les images ne fonctionne pas, consultez la section Pourquoi la commande énumérer les images ne fonctionne-t-elle pas? pour obtenir de l'aide.

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

    Par exemple, où YOUR_EMAIL est votre adresse électronique GnuPG (user@email.com), bluebird:build1 est votre dépôt et votre étiquette, et us.icr.io/birds/bluebird:build1 est le nom de votre image.

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

    macOS Sur le site macOS,, si vous obtenez l'erreur Error copying image to the remote destination: Error writing signatures: mkdir /var/lib/containers/sigstore: permission denied, remplacez la valeur par défaut interne de la configuration du registre afin que le stockage correct des signatures soit utilisé en exécutant la commande avec l'option --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 Sur Linux® et macOS,, la configuration par défaut des outils consiste à stocker les signatures localement. Ce type de stockage peut être source d'erreurs car la signature ne figure pas dans le registre. Pour résoudre ce problème, vous pouvez modifier ou supprimer le fichier de configuration. Sur Linux®, la configuration est sauvegardée sur /etc/containers/registries.d/default.yaml. Sous macOS, le fichier de configuration est sauvegardé dans /usr/local/etc/containers/registries.d/default.yaml. Sous macOS, lorsque Skopeo est installé à l'aide du gestionnaire de packages Homebrew, le fichier de configuration peut se trouver dans /opt/homebrew/Cellar/etc/containers/registries.d/default.yaml for Apple silicon ou dans /usr/local/Cellar/etc/containers/registries.d/default.yaml for Intel.

Utiliser Podman pour signer des images

Vous pouvez utiliser Podman pour signer des images. Pour plus d'informations, voir Podman.

Signature d'images à l'aide de l'interface de ligne de commande Red Hat OpenShift

Vous pouvez signer vos images à l'aide de l'interface de ligne de commande Red Hat OpenShift. Pour plus d'informations, voir Red Hat OpenShift CLI. L'interface de ligne de commande Red Hat® OpenShift® utilise la commande oc.