Låsa en containeravbildning i ett Azure-containerregister

I ett Azure-containerregister kan du låsa en avbildningsversion eller en lagringsplats så att den inte kan tas bort eller uppdateras. Om du vill låsa en avbildning eller en lagringsplats uppdaterar du dess attribut med hjälp av Azure CLI-kommandot az acr repository update.

Den här artikeln kräver att du kör Azure CLI i Azure Cloud Shell lokalt (version 2.0.55 eller senare rekommenderas). Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Viktigt

Den här artikeln gäller inte för låsning av ett helt register, till exempel med hjälp Inställningar > lås i Azure Portal eller kommandon i Azure az lock CLI. Att låsa en registerresurs hindrar dig inte från att skapa, uppdatera eller ta bort data i lagringsplatsen. Låsning av ett register påverkar endast hanteringsåtgärder som att lägga till eller ta bort replikeringar eller att ta bort själva registret. Mer information finns i Låsa resurser för att förhindra oväntade ändringar.

Scenarier

Som standard är en taggad avbildning Azure Container Registry föränderlig, så med lämpliga behörigheter kan du uppdatera och push-installera en avbildning upprepade gånger med samma tagg till ett register. Containeravbildningar kan också tas bort efter behov. Det här beteendet är användbart när du utvecklar avbildningar och behöver underhålla en storlek för registret.

När du distribuerar en containeravbildning till produktion kan du dock behöva en oföränderlig containeravbildning. En oföränderlig avbildning är en avbildning som du inte kan ta bort eller skriva över av misstag.

I Rekommendationer för taggning och versionshantering av containeravbildningar finns strategier för att tagga och versionsavbildningar i registret.

Använd kommandot az acr repository update för att ange lagringsplatsens attribut så att du kan:

  • Låsa en avbildningsversion eller en hel lagringsplats

  • Skydda en avbildningsversion eller lagringsplats från borttagning, men tillåt uppdateringar

  • Förhindra läsåtgärder (pull-åtgärder) på en avbildningsversion eller en hel lagringsplats

Se följande avsnitt för exempel.

Låsa en avbildning eller lagringsplats

Visa attribut för den aktuella lagringsplatsen

Om du vill se de aktuella attributen för en lagringsplats kör du följande az acr repository show-kommando:

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

Visa de aktuella bildattributen

Om du vill se de aktuella attributen för en tagg kör du följande az acr repository show-kommando:

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

Låsa en avbildning efter tagg

Om du vill låsa avbildningen myimage:tag i myregistry kör du följande az acr repository update-kommando:

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

Låsa en avbildning med manifestet sammanfattning

Om du vill låsa en myimage-bild som identifieras av manifestet digest (SHA-256-hash, som representeras sha256:... som ), kör du följande kommando. (Du hittar manifestet som är associerat med en eller flera avbildningstaggar genom att köra kommandot az acr repository show-manifests.)

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

Låsa en lagringsplats

Kör följande kommando för att låsa lagringsplatsen myrepo och alla avbildningar i den:

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

Skydda en avbildning eller lagringsplats från borttagning

Skydda en bild från borttagning

Kör följande kommando för att tillåta att avbildningen myimage:tag uppdateras men inte tas bort:

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

Skydda en lagringsplats från borttagning

Följande kommando anger lagringsplatsen myrepo så att den inte kan tas bort. Enskilda avbildningar kan fortfarande uppdateras eller tas bort.

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

Förhindra läsåtgärder på en avbildning eller lagringsplats

Om du vill förhindra läsåtgärder (pull-åtgärder) på avbildningen myimage:tag kör du följande kommando:

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

Om du vill förhindra läsåtgärder på alla avbildningar i myrepo-lagringsplatsen kör du följande kommando:

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

Låsa upp en avbildning eller lagringsplats

Om du vill återställa standardbeteendet för avbildningen myimage:tag så att den kan tas bort och uppdateras kör du följande kommando:

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

Om du vill återställa standardbeteendet för myrepo-lagringsplatsen och alla avbildningar så att de kan tas bort och uppdateras kör du följande kommando:

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

Nästa steg

I den här artikeln har du lärt dig hur du använder kommandot az acr repository update för att förhindra borttagning eller uppdatering av avbildningsversioner på en lagringsplats. Ytterligare attribut finns i kommandoreferensen az acr repository update.

Om du vill se de attribut som angetts för en avbildningsversion eller lagringsplats använder du kommandot az acr repository show.

Mer information om borttagningsåtgärder finns i Ta bort containeravbildningar i Azure Container Registry.