Überprüfen der Imagesignierung
„Azure IoT Einsatz“ signiert seine Docker- und Helm-Images, damit Benutzer die Integrität und den Ursprung der verwendeten Images überprüfen können. Das Signieren verwendet ein öffentliches/privates Schlüsselpaar, um zu beweisen, dass Microsoft ein Containerimage erstellt hat, indem eine digitale Signatur erstellt und dem Image hinzugefügt wird. Dieser Artikel enthält die Schritte, um zu überprüfen, ob ein Image von Microsoft signiert wurde.
Laden Sie die Notation herunter.
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
Laden Sie das öffentliche Microsoft-Signaturzertifikat herunter:
https://www.microsoft.com/pkiops/certs/Microsoft%20Supply%20Chain%20RSA%20Root%20CA%202022.crt
.Stellen Sie sicher, dass es als
msft_signing_cert.crt
gespeichert wird.Fügen Sie das Zertifikat der CLI für die Notation hinzu.
notation cert add --type ca --store supplychain msft_signing_cert.crt
Überprüfen Sie das Zertifikat in der Notation.
notation cert ls
Die Ausgabe des Befehls sieht wie das folgende Beispiel aus:
STORE TYPE STORE NAME CERTIFICATE ca supplychain msft_signing_cert.crt
Erstellen Sie eine TrustPolicy-Datei (Vertrauensrichtlinie) mit Ihrem Imagebereich.
{ "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" ] } ] }
- Wir erlauben alle registryScopes-Bereiche, um das Auflisten aller Images zu vermeiden, die mit „Azure IoT Einsatz“ gebündelt sind. So können zukünftige Änderungen vermieden werden.
CN=Azure IoT Operations
umfasst alle Images von „Azure IoT Einsatz“. Andere Microsoft-Images benötigen jedochCN=Microsoft SCD Products RSA Signing
.
Verwenden Sie die Notation, um Ihre heruntergeladenen Images anhand der Vertrauensrichtlinie zu überprüfen.
Ersetzen Sie den Versionsplatzhalter durch die Versionsnummer des Bilds, das Sie überprüfen möchten. Für eine vorhandene Instanz von Azure IoT Operations finden Sie die Versionsnummer auf der Seite „Instanzübersicht“ im Azure-Portal oder indem Sie az iot ops show ausführen. Eine vollständige Liste der verfügbaren Versionen finden Sie unter 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>
Die Ausgabe des Befehls sieht wie das folgende Beispiel aus:
Successfully verified signature for mcr.microsoft.com/azureiotoperations/aio-operator@sha256:09cbca56a2149d624cdc4ec952abe9a92ee88c347790c6657e3dd2a0fcc12d10