Condividi tramite


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

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 su disabled). È 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 su disabled, eliminare tutte le pipeline di esportazione esistenti configurate nel Registro di sistema. Se è configurata una pipeline, non è possibile modificare lo stato exportPolicy.

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