Vérifier la signature des images
Opérations Azure IoT signe ses images Docker et Helm pour permettre aux utilisateurs de vérifier l’intégrité et l’origine des images qu’ils utilisent. La signature utilise une paire de clés publique/privée pour prouver que Microsoft a créé une image conteneur en créant une signature numérique et en l’ajoutant à l’image. Cet article décrit les étapes permettant de vérifier qu’une image a été signée par Microsoft.
Téléchargez Notation.
export NOTATION_VERSION=1.1.0 curl -LO https://github.com/notaryproject/notation/releases/download/v$NOTATION_VERSION/notation_$NOTATION_VERSION\_linux_amd64.tar.gz sudo tar xvzf notation_1.1.0_linux_amd64.tar.gz -C /usr/bin/ notation
Téléchargez le certificat public de signature Microsoft :
https://www.microsoft.com/pkiops/certs/Microsoft%20Supply%20Chain%20RSA%20Root%20CA%202022.crt
.Vérifiez qu’il est enregistré en tant que
msft_signing_cert.crt
.Ajoutez le certificat à l’interface CLI de Notation.
notation cert add --type ca --store supplychain msft_signing_cert.crt
Vérifiez le certificat dans Notation.
notation cert ls
La sortie de la commande doit se présenter comme dans l’exemple suivant :
STORE TYPE STORE NAME CERTIFICATE ca supplychain msft_signing_cert.crt
Créez un fichier de stratégie de confiance avec votre étendue d’images.
{ "version": "1.0", "trustPolicies": [ { "name": "supplychain", "registryScopes": [ "*" ], "signatureVerification": { "level" : "strict" }, "trustStores": [ "ca:supplychain" ], "trustedIdentities": [ "x509.subject: CN=Azure IoT Operations,O=Microsoft Corporation,L=Redmond,ST=Washington,C=US", "x509.subject: CN=Microsoft SCD Products RSA Signing,O=Microsoft Corporation,L=Redmond,ST=Washington,C=US" ] } ] }
- Nous permettons à toutes les étendues de registre d’éviter de lister toutes les images regroupées avec Opérations Azure IoT et d’éviter les modifications futures.
CN=Azure IoT Operations
couvre toutes les images d’Opérations Azure IoT. Cependant, d’autres images Microsoft ont besoin deCN=Microsoft SCD Products RSA Signing
.
Utilisez Notation pour vérifier vos images téléchargées relativement à la stratégie de confiance.
Remplacez l’espace réservé à la version par le numéro de version de l’image que vous souhaitez vérifier. Pour une instance existante d’Azure IoT Operations, vous pouvez trouver le numéro de version sur la page de présentation de l’instance dans le Portail Microsoft Azure ou en exécutant az iot ops show. Pour obtenir la liste complète des versions disponibles, consultez azure-iot-operations releases.
notation policy import <TRUSTPOLICY_FILE>.json export NOTATION_EXPERIMENTAL=1 notation verify --allow-referrers-api mcr.microsoft.com/azureiotoperations/aio-operator:<AZURE_IOT_OPERATIONS_VERSION>
La sortie de la commande doit se présenter comme dans l’exemple suivant :
Successfully verified signature for mcr.microsoft.com/azureiotoperations/aio-operator@sha256:09cbca56a2149d624cdc4ec952abe9a92ee88c347790c6657e3dd2a0fcc12d10