Een containerinstallatiekopie blokkeren in een Azure-containerregister
In een Azure-containerregister kunt u een versie van een installatiekopieën of een opslagplaats vergrendelen, zodat deze niet kan worden verwijderd of bijgewerkt. Als u een installatiekopieën of opslagplaats wilt vergrendelen, werkt u de kenmerken 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. Zie Azure CLI installeren als u de CLI wilt installeren of een upgrade wilt uitvoeren.
Belangrijk
Dit artikel is niet van toepassing op het vergrendelen van een heel register, bijvoorbeeld met behulp van InstellingenVergrendelingen > in de Azure Portal of az lock
opdrachten in de Azure CLI. Het vergrendelen van een registerresource voorkomt 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. Zie Resources vergrendelen om onverwachte wijzigingen te voorkomen voor meer informatie.
Scenario's
Standaard is een getagde installatiekopieën in Azure Container Registry veranderlijk, dus met de juiste machtigingen kunt u een installatiekopieën met dezelfde tag herhaaldelijk bijwerken en naar een register pushen. Containerinstallatiekopieën kunnen indien nodig ook worden verwijderd . Dit gedrag is handig wanneer u installatiekopieën ontwikkelt en een grootte voor uw register moet behouden.
Wanneer u echter een containerinstallatiekopieën in productie implementeert, hebt u mogelijk een onveranderbare containerinstallatiekopieën nodig. Een onveranderbare afbeelding is een afbeelding 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 de kenmerken van de opslagplaats in te stellen, zodat u het volgende kunt doen:
Een installatiekopieënversie of een volledige opslagplaats vergrendelen
Een versie of opslagplaats van een installatiekopie beveiligen tegen verwijdering, maar updates toestaan
Leesbewerkingen (pull-bewerkingen) voorkomen in een installatiekopieversie of een hele opslagplaats
Zie de volgende secties voor voorbeelden.
Een installatiekopieën of opslagplaats vergrendelen
De kenmerken van de huidige opslagplaats 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 az acr repository update uit :
az acr repository update \
--name myregistry --image myrepo:tag \
--write-enabled false
Een afbeelding vergrendelen via manifestsamenvating
Als u een myrepo-installatiekopieën wilt vergrendelen die zijn geïdentificeerd door manifestsamenvating (SHA-256-hash, weergegeven als sha256:...
), voert u de volgende opdracht uit. (Als u de manifestsamenvating wilt vinden 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 myrepo-opslagplaats en alle installatiekopieën daarin te vergrendelen:
az acr repository update \
--name myregistry --repository myrepo \
--write-enabled false
De huidige opslagplaatskenmerken weergeven
Voer de opdracht az acr repository update uit om de kenmerken van de opslagplaats bij te werken om de afbeeldingsvergrendelingsvermelding aan te geven.
az acr repository update \
--name myregistry --repository myrepo \
--list-enabled false
De afbeeldingskenmerken weergeven bij afbeeldingsvergrendeling
Voer de opdracht az acr repository show uit om een query uit te voeren op de tags op een afbeeldingsvergrendeling waarvoor --list-enabled false
het kenmerk is ingeschakeld.
az acr repository show-manifests \
--name myregistry --repository myrepo \
--query "[?listEnabled==null].tags"
--output table
Controleer de afbeeldingskenmerken op de tag en het bijbehorende manifest.
Notitie
- De veranderlijke kenmerken van tags en manifesten worden afzonderlijk beheerd. Dat wil dus 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 afbeeldingen geblokkeerd.
Een installatiekopie of opslagplaats beveiligen tegen verwijdering
Een afbeelding beveiligen tegen verwijdering
Voer de volgende opdracht uit om toe te staan dat de installatiekopieën 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 myrepo-opslagplaats 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 in een installatiekopieën of opslagplaats voorkomen
Voer de volgende opdracht uit om leesbewerkingen (pull)-bewerkingen op de installatiekopie myrepo:tag 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 myrepo-opslagplaats 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 afbeelding myrepo:tag 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 myrepo-opslagplaats en alle installatiekopieën te herstellen, zodat ze kunnen worden verwijderd en bijgewerkt:
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled true --write-enabled true
Volgende stappen
In dit artikel hebt u geleerd hoe u de opdracht az acr repository update gebruikt om te voorkomen dat installatiekopieversies in een opslagplaats worden verwijderd of bijgewerkt. Als u aanvullende kenmerken wilt instellen, raadpleegt u de naslaginformatie over de opdracht 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.