Disabilitare l'esportazione degli artefatti da un registro Azure Container
Per impedire agli utenti del Registro di sistema in un'organizzazione di perdere in modo dannoso o accidentale elementi all'esterno di una rete virtuale, è possibile configurare i criteri di esportazione del registro per disabilitare le esportazioni.
I criteri di esportazione sono una proprietà introdotta nella versione API 2021-06-01-preview per i registri contenitori Premium. La proprietà exportPolicy
, quando lo stato è impostato su disabled
, blocca l'esportazione di artefatti da un registro con restrizioni di rete quando un utente tenta di:
- Importare gli artefatti del Registro di sistema in un altro registro Azure Container
- Creare una pipeline di esportazione del registro per trasferire gli artefatti verso un altro registro Container
Nota
La disabilitazione dell'esportazione degli artefatti non impedisce agli utenti autorizzati di accedere al registro all'interno della rete virtuale per eseguire il pull degli artefatti o eseguire altre operazioni del piano dati. Per controllare questo utilizzo, è consigliabile configurare le impostazioni di diagnostica per monitorare operazioni del registro.
Prerequisiti
- Un registro Container Premium configurato con un endpoint privato.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Altri requisiti per disabilitare le esportazioni
Disabilitare l'accesso alla rete pubblica: per disabilitare l'esportazione degli artefatti, è necessario disabilitare anche l'accesso pubblico al Registro di sistema (la proprietà
publicNetworkAccess
del registro deve essere impostata sudisabled
). È possibile disabilitare l'accesso alla rete pubblica al registro prima di disabilitare l'esportazione o disabilitarla contemporaneamente.Disabilitando l'accesso all'endpoint pubblico del registro, fa sì che le operazioni del Registro di sistema siano consentite solo all'interno della rete virtuale. L'accesso pubblico al registro per eseguire il pull degli artefatti ed eseguire altre operazioni non è consentito.
Rimuovere le pipeline di esportazione: prima di impostare lo stato di
exportPolicy
del registro sudisabled
, eliminare tutte le pipeline di esportazione esistenti configurate nel Registro di sistema. Se è configurata una pipeline, non è possibile modificare lo statoexportPolicy
.
Disabilitare exportPolicy per un registro esistente
Quando si crea un Registro di sistema, lo stato exportPolicy
è impostato su enabled
per impostazione predefinita, che consente l'esportazione degli artefatti. È possibile aggiornare lo stato a disabled
usando un modello di ARM o il comando az resource update
.
Modello ARM
Includere il codice JSON seguente per aggiornare lo stato exportPolicy
e impostare la proprietà publicNetworkAccess
su disabled
. Ulteriori informazioni su come distribuire le risorse con modelli ARM.
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"publicNetworkAccess": "disabled",
"policies": {
"exportPolicy": {
"status": "disabled"
}
}
}
}
]
[...]
}
Interfaccia della riga di comando di Azure
Eseguire az resource update per impostare lo stato di exportPolicy
in un registro esistente su disabled
. Sostituire i nomi del registro e del gruppo di risorse.
Come illustrato in questo esempio, quando si disabilita la proprietà exportPolicy
, impostare anche la proprietà publicNetworkAccess
su disabled
.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=disabled" \
--set "properties.publicNetworkAccess=disabled"
L'output mostra che lo stato dei criteri di esportazione è disabilitato.
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry",
"identity": null,
"kind": null,
"location": "centralus",
"managedBy": null,
"name": "myregistry",
"plan": null,
"properties": {
[...]
"policies": {
"exportPolicy": {
"status": "disabled"
},
"quarantinePolicy": {
"status": "disabled"
},
"retentionPolicy": {
"days": 7,
"lastUpdatedTime": "2021-07-20T23:20:30.9985256+00:00",
"status": "disabled"
},
"trustPolicy": {
"status": "disabled",
"type": "Notary"
},
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"publicNetworkAccess": "Disabled",
"zoneRedundancy": "Disabled"
[...]
}
Abilitare exportPolicy
Dopo aver disabilitato lo stato di exportPolicy
in un registro, è possibile riabilitarlo in qualsiasi momento usando un modello ARM o il comando az resource update
.
Modello ARM
Includere il codice JSON seguente per aggiornare lo stato exportPolicy
su enabled
. Ulteriori informazioni su come distribuire le risorse con modelli ARM
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"policies": {
"exportPolicy": {
"status": "enabled"
}
}
}
}
]
[...]
}
Interfaccia della riga di comando di Azure
Eseguire az resource update per impostare lo stato exportPolicy
su enabled
. Sostituire i nomi del registro e del gruppo di risorse.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=enabled"
Passaggi successivi
- Informazioni su Ruoli e autorizzazioni di Registro Azure Container.
- Per impedire l'eliminazione accidentale degli artefatti del registro, vedere Bloccare le immagini del contenitore.
- Informazioni sui criteri di Azure predefiniti per proteggere il Registro Azure Container