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.