Share via


Een containerinstallatiekopie blokkeren in een Azure-containerregister

In een Azure-containerregister kunt u een versie van een installatiekopieën of opslagplaats vergrendelen, zodat deze niet kan worden verwijderd of bijgewerkt. Als u een installatiekopieën of opslagplaats wilt vergrendelen, werkt u de kenmerken ervan bij met behulp van de Azure CLI-opdracht az acr repository update.

Voor dit artikel moet u de Azure CLI uitvoeren in Azure Cloud Shell of lokaal (versie 2.0.55 of hoger aanbevolen). Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

Belangrijk

Dit artikel is niet van toepassing op het vergrendelen van een volledig register, bijvoorbeeld het gebruik van instellingenvergrendelingen > in Azure Portal of az lock opdrachten in de Azure CLI. Als u een registerresource vergrendelt, voorkomt u niet dat u gegevens in opslagplaatsen maakt, bijwerkt of verwijdert. Het vergrendelen van een register is alleen van invloed op beheerbewerkingen, zoals het toevoegen of verwijderen van replicaties, of het verwijderen van het register zelf. Meer informatie in Resources vergrendelen om onverwachte wijzigingen te voorkomen.

Scenario's

Standaard is een gelabelde installatiekopieën in Azure Container Registry veranderlijk, dus met de juiste machtigingen kunt u een installatiekopieën met dezelfde tag herhaaldelijk bijwerken en pushen naar een register. Containerinstallatiekopieën kunnen ook indien nodig worden verwijderd . Dit gedrag is handig wanneer u installatiekopieën ontwikkelt en een grootte voor uw register moet onderhouden.

Wanneer u echter een containerinstallatiekopieën implementeert in productie, hebt u mogelijk een onveranderbare containerinstallatiekopieën nodig. Een onveranderbare installatiekopieën zijn een installatiekopieën die u niet per ongeluk kunt verwijderen of overschrijven.

Zie Aanbevelingen voor het taggen en versiebeheer van containerinstallatiekopieën voor strategieën voor het taggen en versiebeheer van installatiekopieën in uw register.

Gebruik de opdracht az acr repository update om opslagplaatskenmerken in te stellen, zodat u het volgende kunt doen:

  • Een versie van een installatiekopieën of een volledige opslagplaats vergrendelen

  • Een installatiekopieversie of opslagplaats beveiligen tegen verwijdering, maar updates toestaan

  • Leesbewerkingen (pull)-bewerkingen voorkomen op een installatiekopieversie of een volledige opslagplaats

Zie de volgende secties voor voorbeelden.

Een installatiekopieën of opslagplaats vergrendelen

De huidige opslagplaatskenmerken weergeven

Als u de huidige kenmerken van een opslagplaats wilt zien, voert u de volgende opdracht az acr repository show uit :

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

De huidige afbeeldingskenmerken weergeven

Als u de huidige kenmerken van een tag wilt zien, voert u de volgende opdracht az acr repository show uit :

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

Een afbeelding vergrendelen op tag

Als u de installatiekopie myrepo:tag in myregistry wilt vergrendelen, voert u de volgende opdracht voor het bijwerken van de az acr-opslagplaats uit:

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

Een afbeelding vergrendelen op manifestsamenvating

Voer de volgende opdracht uit om een myrepo-installatiekopieën te vergrendelen die zijn geïdentificeerd door manifestsamenvating (SHA-256-hash, vertegenwoordigd als), die wordt weergegeven als sha256:.... (Als u de manifestsamenvating wilt zoeken die is gekoppeld aan een of meer afbeeldingstags, voert u de opdracht az acr manifest list-metadata uit.)

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

Een opslagplaats vergrendelen

Voer de volgende opdracht uit om de opslagplaats myrepo en alle installatiekopieën erin te vergrendelen:

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

De huidige opslagplaatskenmerken weergeven

Als u de opslagplaatskenmerken wilt bijwerken om de vermelding van afbeeldingsvergrendeling aan te geven, voert u de opdracht az acr repository update uit.

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

De afbeeldingskenmerken weergeven in het vergrendelingsslot van de afbeelding

Voer de opdracht az acr repository show uit om een query uit te voeren op de tags op een installatiekopieënvergrendeling met --list-enabled false ingeschakeld op het kenmerk.

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

Controleer de kenmerken van de installatiekopieën voor de tag en het bijbehorende manifest.

Notitie

  • De veranderlijke kenmerken van tags en manifesten worden afzonderlijk beheerd. Dat wil gezegd dat het instellen van het kenmerk deleteEnabled=false voor de tag niet hetzelfde is voor het bijbehorende manifest.
  • Voer een query uit op de kenmerken met behulp van het onderstaande script:
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"

Notitie

Als de afbeeldingskenmerken zijn ingesteld met writeEnabled=false of deleteEnabled=false, wordt het verwijderen van de installatiekopie geblokkeerd.

Een installatiekopie of opslagplaats beveiligen tegen verwijdering

Een installatiekopie beveiligen tegen verwijdering

Voer de volgende opdracht uit om toe te staan dat de installatiekopieën van myrepo:tag worden bijgewerkt, maar niet worden verwijderd:

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

Een opslagplaats beveiligen tegen verwijdering

Met de volgende opdracht wordt de opslagplaats myrepo ingesteld, zodat deze niet kan worden verwijderd. Afzonderlijke afbeeldingen kunnen nog steeds worden bijgewerkt of verwijderd.

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

Leesbewerkingen voorkomen op een installatiekopieën of opslagplaats

Voer de volgende opdracht uit om leesbewerkingen (pull) op de myrepo:tag-installatiekopie te voorkomen:

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

Voer de volgende opdracht uit om leesbewerkingen op alle installatiekopieën in de opslagplaats myrepo te voorkomen:

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

Een installatiekopieën of opslagplaats ontgrendelen

Voer de volgende opdracht uit om het standaardgedrag van de myrepo:tag-installatiekopieën te herstellen, zodat deze kan worden verwijderd en bijgewerkt:

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

Voer de volgende opdracht uit om het standaardgedrag van de opslagplaats myrepo te herstellen, zodat afzonderlijke installatiekopieën kunnen worden verwijderd en bijgewerkt:

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

Als er echter een vergrendeling op het manifest is, moet u een extra opdracht uitvoeren om het manifest te ontgrendelen.

az acr repository update \
   --name myregistry --image $repo@$digest \
   --delete-enabled true --write-enabled true

Volgende stappen

In dit artikel hebt u geleerd over het gebruik van de opdracht az acr repository update om te voorkomen dat installatiekopieversies in een opslagplaats worden verwijderd of bijgewerkt. Als u extra kenmerken wilt instellen, raadpleegt u de opdrachtreferentie az acr repository update .

Als u de kenmerken wilt zien die zijn ingesteld voor een installatiekopieënversie of opslagplaats, gebruikt u de opdracht az acr repository show .

Zie Containerinstallatiekopieën verwijderen in Azure Container Registry voor meer informatie over verwijderingsbewerkingen.