Firma delle immagini per i contenuti attendibili in Container Registry
IBM Cloud® Container Registry fornisce una tecnologia di contenuti attendibili che ti permette di firmare le immagini per garantirne l'integrità nel tuo spazio dei nomi del registro.
Mediante l'esecuzione del pull e del push delle immagini firmate, puoi verificare che le tue immagini siano state trasmesse dalla parte giusta, come i tuoi strumenti di integrazione continua (CI).
È possibile utilizzare le firme di Red Hat® per firmare le immagini.
Firmare le immagini utilizzando le firme di Red Hat
È possibile utilizzare diversi strumenti per creare firme Red Hat per le immagini. Puoi archiviare le tue immagini firmate per contenuti attendibili utilizzando l'API con estensione Red Hat Signatures, la quale è supportata da IBM Cloud Container Registry.
Puoi utilizzare i seguenti strumenti per creare le firme Red Hat:
Utilizzo di skopeo per firmare le immagini
Per utilizzare Skopeo per firmare le tue immagini, devi creare un'identità GNU Privacy Guard (GnuPG o GPG) privata ed eseguire quindi il comando skopeo.
Il seguente esempio non include l'autenticazione Skopeo.
-
Per creare un'identità GnuPG, immetti il seguente comando.
gpg --generate-key -
Spingere e firmare l'immagine allo stesso tempo utilizzando l'identità GnuPG per firmare l'immagine. Dove
YOUR_EMAILè l'indirizzo e-mail usato per iscriversi a GnuPG,REPOSITORY:TAGè il repository e il tag eIMAGEè il nome dell'immagine nel formato<region><namespace><repository>:<tag>, dove<region>è il nome della regione,<namespace>è il nome del namespace e<repository>:<tag>è il repository e il tag.Per trovare i nomi delle tue immagini, esegui
ibmcloud cr image-list. Combinare il contenuto della colonna Repository (repository) e della colonna Tag (tag) separate da due punti (:) per creare il nome dell'immagine nel formato<repository>:<tag>. Se il comando elenca immagini si interrompe, consultare la sezione Perché l'elenco delle immagini si interrompe?skopeo --insecure-policy copy --sign-by YOUR_EMAIL docker-daemon:REPOSITORY:TAG docker://IMAGEAd esempio, dove
YOUR_EMAILè l'indirizzo e-mail GnuPG (user@email.com),bluebird:build1è il repository e il tag eus.icr.io/birds/bluebird:build1è il nome dell'immagine.skopeo --insecure-policy copy --sign-by user@email.com docker-daemon:bluebird:build1 docker://us.icr.io/birds/bluebird:build1macOS Su macOS,, se si ottiene l'errore
Error copying image to the remote destination: Error writing signatures: mkdir /var/lib/containers/sigstore: permission denied, si annulla l'impostazione predefinita interna per la configurazione del registro in modo da utilizzare la corretta archiviazione delle firme eseguendo il comando con l'opzione--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 Su Linux® e macOS, la configurazione predefinita degli strumenti prevede la memorizzazione delle firme a livello locale. La memorizzazione
delle firme a livello locale può portare a un fallimento della verifica della firma, perché la firma non è presente nel registro. Per risolvere questo problema, è possibile modificare o eliminare il file di configurazione. Su Linux®, la
configurazione viene salvata in /etc/containers/registries.d/default.yaml. Su macOS, il file di configurazione viene salvato in /usr/local/etc/containers/registries.d/default.yaml. Su macOS, quando viene installato
Skopeo utilizzando il gestore pacchetti Homebrew, il file di configurazione potrebbe essere all'indirizzo /opt/homebrew/Cellar/etc/containers/registries.d/default.yaml per Apple silicon o /usr/local/Cellar/etc/containers/registries.d/default.yaml per Intel.
Utilizzo di Podman per firmare le immagini
È possibile utilizzare Podman per firmare le immagini. Per ulteriori informazioni, vedere Podman.
Firma delle immagini utilizzando la CLI Red Hat OpenShift.
È possibile firmare le immagini utilizzando l'interfaccia a riga di comando (CLI) di Red Hat OpenShift. Per ulteriori informazioni, vedere Red Hat OpenShift CLI. La CLI Red Hat® OpenShift® utilizza il comando oc.