Sdílet prostřednictvím


Ověření podepisování obrázků

Operace Azure IoT podepisují image Dockeru a Helmu, aby uživatelé mohli ověřit integritu a původ imagí, které používají. Podepisování využívá pár veřejného a privátního klíče k prokázání, že Microsoft vytvořil image kontejneru vytvořením digitálního podpisu a jeho přidáním do image. Tento článek obsahuje kroky k ověření, že byla image podepsána společností Microsoft.

  1. Stáhnout zápis.

    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
    
  2. Stáhněte si podpisový veřejný certifikát Společnosti Microsoft: https://www.microsoft.com/pkiops/certs/Microsoft%20Supply%20Chain%20RSA%20Root%20CA%202022.crt.

    Ujistěte se, že je uložen jako msft_signing_cert.crt.

  3. Přidejte certifikát do notačního rozhraní příkazového řádku.

    notation cert add --type ca --store supplychain msft_signing_cert.crt
    
  4. Zkontrolujte zápis certifikátu.

    notation cert ls
    

    Výstup příkazu vypadá jako v následujícím příkladu:

    STORE TYPE  STORE NAME  CERTIFICATE 
    ca          supplychain msft_signing_cert.crt
    
  5. Vytvořte soubor trustpolicy s oborem image.

    {
        "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"
                ]
            }
        ]
    }
    
    • Všem registryScopes umožňujeme vyhnout se výpisu všech imagí, které jsou součástí operací Azure IoT, a vyhnout se budoucím úpravám.
    • CN=Azure IoT Operations zahrnuje všechny image operací Azure IoT. Jiné image Microsoftu však potřebují CN=Microsoft SCD Products RSA Signing.
  6. K ověření stažených imagí použijte notaci s použitím zásad důvěryhodnosti.

    Zástupný symbol verze nahraďte číslem verze obrázku, který chcete zkontrolovat. U existující instance operací Azure IoT najdete číslo verze na stránce přehledu instance na webu Azure Portal nebo spuštěním příkazu az iot ops show. Úplný seznam dostupných verzí najdete ve verzích azure-iot-operations.

    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>
    

    Výstup příkazu vypadá jako v následujícím příkladu:

    Successfully verified signature for mcr.microsoft.com/azureiotoperations/aio-operator@sha256:09cbca56a2149d624cdc4ec952abe9a92ee88c347790c6657e3dd2a0fcc12d10