Bloccare un'immagine del contenitore in un'istanza di Registro Azure Container
In un Registro Azure Container è possibile bloccare una versione dell'immagine o un repository in modo che non possa essere eliminata o aggiornata. Per bloccare un'immagine o un repository, aggiornare i relativi attributi usando il comando dell'interfaccia della riga di comando di Azure az acr repository update.
Questo articolo richiede l'esecuzione dell'interfaccia della riga di comando di Azure in Azure Cloud Shell o locale (versione 2.0.55 o successiva consigliata). Eseguire az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Importante
Questo articolo non si applica al blocco di un intero Registro di sistema, ad esempio usando i blocchi delle impostazioni > nell'portale di Azure o az lock
i comandi nell'interfaccia della riga di comando di Azure. Il blocco di una risorsa del Registro di sistema non impedisce di creare, aggiornare o eliminare i dati nei repository. Il blocco di un Registro di sistema influisce solo sulle operazioni di gestione, ad esempio l'aggiunta o l'eliminazione di repliche o l'eliminazione del Registro di sistema stesso. Altre informazioni in Blocca risorse per evitare modifiche impreviste.
Scenari
Per impostazione predefinita, un'immagine contrassegnata in Registro Azure Container è modificabile, quindi con autorizzazioni appropriate è possibile aggiornare ripetutamente e eseguire il push di un'immagine con lo stesso tag in un Registro di sistema. Le immagini del contenitore possono essere eliminate anche in base alle esigenze. Questo comportamento è utile quando si sviluppano immagini e devono mantenere una dimensione per il Registro di sistema.
Tuttavia, quando si distribuisce un'immagine del contenitore nell'ambiente di produzione, potrebbe essere necessaria un'immagine del contenitore non modificabile . Un'immagine non modificabile è una che non è possibile eliminare o sovrascrivere accidentalmente.
Vedere Raccomandazioni per l'assegnazione di tag e il controllo delle versioni delle immagini del contenitore per le strategie per contrassegnare e modificare le immagini nel Registro di sistema.
Usare il comando az acr repository update per impostare gli attributi del repository in modo che sia possibile:
Bloccare una versione di un'immagine o un intero repository
Proteggere una versione dell'immagine o un repository dall'eliminazione, ma consentire gli aggiornamenti
Impedire operazioni di lettura (pull) in una versione dell'immagine o in un intero repository
Per esempi, vedere le sezioni seguenti.
Bloccare un'immagine o un repository
Mostra gli attributi correnti del repository
Per visualizzare gli attributi correnti di un repository, eseguire il comando az acr repository show seguente:
az acr repository show \
--name myregistry --repository myrepo \
--output jsonc
Mostra gli attributi dell'immagine correnti
Per visualizzare gli attributi correnti di un tag, eseguire il comando az acr repository show seguente:
az acr repository show \
--name myregistry --image myrepo:tag \
--output jsonc
Bloccare un'immagine per tag
Per bloccare l'immagine myrepo:tag in myregistry, eseguire il comando az acr repository update seguente:
az acr repository update \
--name myregistry --image myrepo:tag \
--write-enabled false
Bloccare un'immagine in base al digest del manifesto
Per bloccare un'immagine myrepo identificata dal digest manifesto (hash SHA-256, rappresentato come sha256:...
), eseguire il comando seguente. Per trovare il digest manifesto associato a uno o più tag di immagine, eseguire il comando az acr manifest list-metadata .
az acr repository update \
--name myregistry --image myrepo@sha256:123456abcdefg \
--write-enabled false
Bloccare un repository
Per bloccare il repository myrepo e tutte le immagini in esso contenute, eseguire il comando seguente:
az acr repository update \
--name myregistry --repository myrepo \
--write-enabled false
Elencare gli attributi correnti del repository
Per aggiornare gli attributi del repository per indicare l'elenco di blocchi immagine, eseguire il comando az acr repository update .
az acr repository update \
--name myregistry --repository myrepo \
--list-enabled false
Visualizzare gli attributi dell'immagine nel blocco immagine
Per eseguire query sui tag in un blocco di immagini con --list-enabled false
abilitato nell'attributo, eseguire il comando az acr repository show .
az acr repository show-manifests \
--name myregistry --repository myrepo \
--query "[?listEnabled==null].tags"
--output table
Controllare gli attributi dell'immagine per il tag e il relativo manifesto corrispondente.
Nota
- Gli attributi modificabili di tag e manifesto vengono gestiti separatamente. Vale a dire, l'impostazione dell'attributo
deleteEnabled=false
per il tag non verrà impostata come stessa per il manifesto corrispondente.
- Eseguire query sugli attributi usando lo script seguente:
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"
Nota
Se gli attributi dell'immagine vengono impostati con writeEnabled=false
o deleteEnabled=false
, blocca l'eliminazione dell'immagine.
Proteggere un'immagine o un repository dall'eliminazione
Proteggere un'immagine dall'eliminazione
Per consentire l'aggiornamento dell'immagine myrepo:tag , ma non eliminata, eseguire il comando seguente:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled false --write-enabled true
Proteggere un repository dall'eliminazione
Il comando seguente imposta il repository myrepo in modo che non possa essere eliminato. Le singole immagini possono comunque essere aggiornate o eliminate.
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled false --write-enabled true
Impedire operazioni di lettura in un'immagine o in un repository
Per impedire operazioni di lettura (pull) nell'immagine myrepo:tag , eseguire il comando seguente:
az acr repository update \
--name myregistry --image myrepo:tag \
--read-enabled false
Per impedire operazioni di lettura su tutte le immagini nel repository myrepo , eseguire il comando seguente:
az acr repository update \
--name myregistry --repository myrepo \
--read-enabled false
Sbloccare un'immagine o un repository
Per ripristinare il comportamento predefinito dell'immagine myrepo:tag in modo che possa essere eliminata e aggiornata, eseguire il comando seguente:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled true --write-enabled true
Per ripristinare il comportamento predefinito del repository myrepo e tutte le immagini in modo che possano essere eliminate e aggiornate, eseguire il comando seguente:
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled true --write-enabled true
Passaggi successivi
In questo articolo si è appreso l'uso del comando az acr repository update per impedire l'eliminazione o l'aggiornamento delle versioni dell'immagine in un repository. Per impostare attributi aggiuntivi, vedere il riferimento al comando az acr repository update .
Per visualizzare gli attributi impostati per una versione o un repository di immagini, usare il comando az acr repository show .
Per informazioni dettagliate sulle operazioni di eliminazione, vedere Eliminare immagini del contenitore in Registro Azure Container.