Uzamknutí image kontejneru v registru kontejneru Azure

V registru kontejneru Azure můžete uzamknout verzi image nebo úložiště, aby je nebylo možné odstranit nebo aktualizovat. Pokud chcete uzamknout image nebo úložiště, aktualizujte její atributy pomocí příkazu Azure CLI az acr repository update.

Tento článek vyžaduje spuštění Azure CLI v Azure Cloud Shell nebo místně (doporučuje se verze 2.0.55 nebo novější). Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Důležité

Tento článek se nevztahuje na uzamčení celého registru, například pomocí zámků nastavení > v Azure Portal nebo az lock příkazů v Azure CLI. Uzamčení prostředku registru vám nebrání ve vytváření, aktualizaci nebo odstraňování dat v úložištích. Uzamčení registru má vliv pouze na operace správy, jako je přidání nebo odstranění replikace nebo odstranění samotného registru. Další informace najdete v tématu Zamknutí prostředků, aby se zabránilo neočekávaným změnám.

Scénáře

Ve výchozím nastavení je označená image v Azure Container Registry měnitelná, takže s odpovídajícími oprávněními můžete opakovaně aktualizovat a odeslat image se stejnou značkou do registru. Image kontejnerů je také možné podle potřeby odstranit . Toto chování je užitečné při vývoji imagí a potřebujete zachovat velikost registru.

Když ale nasadíte image kontejneru do produkčního prostředí, možná budete potřebovat neměnnou image kontejneru. Neměnná image je ta, kterou nemůžete omylem odstranit nebo přepsat.

Strategie označování a verzí imagí v registru najdete v tématu Doporučení pro označování a správu verzí imagí kontejnerů.

Pomocí příkazu az acr repository update nastavte atributy úložiště, abyste mohli:

  • Uzamčení verze image nebo celého úložiště

  • Ochrana verze image nebo úložiště před odstraněním, ale povolení aktualizací

  • Zabránění operacím čtení (přijetí změn) u verze image nebo celého úložiště

Příklady najdete v následujících částech.

Uzamčení image nebo úložiště

Zobrazení aktuálních atributů úložiště

Pokud chcete zobrazit aktuální atributy úložiště, spusťte následující příkaz az acr repository show :

az acr repository show \
    --name myregistry --repository myrepo \
    --output jsonc

Zobrazení atributů aktuálního obrázku

Pokud chcete zobrazit aktuální atributy značky, spusťte následující příkaz az acr repository show :

az acr repository show \
    --name myregistry --image myrepo:tag \
    --output jsonc

Uzamknutí obrázku podle značky

Pokud chcete uzamknout image myrepo:tag v myregistry, spusťte následující příkaz az acr repository update :

az acr repository update \
    --name myregistry --image myrepo:tag \
    --write-enabled false

Uzamčení obrázku pomocí přehledu manifestu

Pokud chcete uzamknout image myrepo identifikovanou hodnotou hash manifestu (hash SHA-256, reprezentovaná jako sha256:...), spusťte následující příkaz. (Pokud chcete najít přehled manifestu přidružený k jedné nebo více značkách image, spusťte příkaz az acr manifest list-metadata .)

az acr repository update \
    --name myregistry --image myrepo@sha256:123456abcdefg \
    --write-enabled false

Uzamčení úložiště

Pokud chcete uzamknout úložiště myrepo a všechny image v něm, spusťte následující příkaz:

az acr repository update \
    --name myregistry --repository myrepo \
    --write-enabled false

Výpis aktuálních atributů úložiště

Pokud chcete aktualizovat atributy úložiště tak, aby označily výpis zámku image, spusťte příkaz az acr repository update .

az acr repository update \
    --name myregistry --repository myrepo \ 
    --list-enabled false

Zobrazení atributů obrázku na zámku obrázku

Pokud se chcete dotazovat na značky zámku image s povoleným --list-enabled false atributem , spusťte příkaz az acr repository show .

az acr repository show-manifests \
    --name myregistry --repository myrepo \
    --query "[?listEnabled==null].tags" 
    --output table

Zkontrolujte atributy obrázku pro značku a její odpovídající manifest.

Poznámka

  • Měnitelné atributy značek a manifestu se spravují samostatně. To znamená, že nastavení atributu deleteEnabled=false pro značku nenastaví totéž pro odpovídající manifest.
  • Zadejte dotaz na atributy pomocí následujícího skriptu:
registry="myregistry"
repo="myrepo"
tag="mytag"

az login
az acr repository show -n $registry --repository $repo
az acr manifest show-metadata -r $registry -n "$repo:$tag"
digest=$(az acr manifest show-metadata -r $registry -n "$repo:$tag" --query digest -o tsv)
az acr manifest show-metadata -r $registry -n "$repo@$digest"

Poznámka

Pokud jsou atributy image nastavené na writeEnabled=false nebo deleteEnabled=false, zablokuje odstranění image.

Ochrana image nebo úložiště před odstraněním

Ochrana obrázku před odstraněním

Pokud chcete, aby se image myrepo:tag aktualizovala, ale neodstranila, spusťte následující příkaz:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --delete-enabled false --write-enabled true

Ochrana úložiště před odstraněním

Následující příkaz nastaví úložiště myrepo , aby ho nebylo možné odstranit. Jednotlivé image se dají dál aktualizovat nebo odstranit.

az acr repository update \
    --name myregistry --repository myrepo \
    --delete-enabled false --write-enabled true

Zabránění operacím čtení v imagi nebo úložišti

Pokud chcete zabránit operacím čtení (vyžádání) u image myrepo:tag , spusťte následující příkaz:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --read-enabled false

Pokud chcete zabránit operacím čtení u všech imagí v úložišti myrepo , spusťte následující příkaz:

az acr repository update \
    --name myregistry --repository myrepo \
    --read-enabled false

Odemknutí image nebo úložiště

Pokud chcete obnovit výchozí chování image myrepo:tag , aby ji bylo možné odstranit a aktualizovat, spusťte následující příkaz:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --delete-enabled true --write-enabled true

Pokud chcete obnovit výchozí chování úložiště myrepo a všech imagí, aby je bylo možné odstranit a aktualizovat, spusťte následující příkaz:

az acr repository update \
    --name myregistry --repository myrepo \
    --delete-enabled true --write-enabled true

Další kroky

V tomto článku jste se dozvěděli, jak pomocí příkazu az acr repository update zabránit odstranění nebo aktualizaci verzí imagí v úložišti. Pokud chcete nastavit další atributy, projděte si referenční informace k příkazu az acr repository update .

Pokud chcete zobrazit atributy nastavené pro verzi image nebo úložiště, použijte příkaz az acr repository show .

Podrobnosti o operacích odstranění najdete v tématu Odstranění imagí kontejnerů v Azure Container Registry.