Zákaz exportu artefaktů z registru kontejneru Azure

Pokud chcete uživatelům registru v organizaci zabránit škodlivému nebo náhodnému úniku artefaktů mimo virtuální síť, můžete nakonfigurovat zásady exportu registru tak, aby exporty zakázaly.

Zásady exportu jsou vlastnost zavedená v rozhraní API verze 2021-06-01-preview pro registry kontejnerů Premium. Vlastnost exportPolicy , pokud je její stav nastavený na disabled, blokuje export artefaktů z registru omezeného na síť, když se uživatel pokusí:

  • Import artefaktů registru do jiného registru kontejneru Azure
  • Vytvoření kanálu exportu registru pro přenos artefaktů do jiného registru kontejneru

Poznámka

Zakázání exportu artefaktů nezabrání přístupu oprávněných uživatelů k registru v rámci virtuální sítě, aby mohli načíst artefakty nebo provádět jiné operace roviny dat. Pokud chcete toto použití auditovat, doporučujeme nakonfigurovat nastavení diagnostiky pro monitorování operací registru.

Požadavky

Další požadavky na zakázání exportu

  • Zakázat přístup k veřejné síti – Pokud chcete zakázat export artefaktů, musí být zakázán také veřejný přístup k registru (vlastnost registru publicNetworkAccess musí být nastavená na disabled). Před zakázáním exportu nebo současně můžete zakázat veřejný síťový přístup k registru.

    Zakázáním přístupu k veřejnému koncovému bodu registru zajistíte, aby operace registru byly povolené pouze ve virtuální síti. Veřejný přístup k registru za účelem získání artefaktů a provádění dalších operací je zakázán.

  • Odebrat kanály exportu – Před nastavením stavu registru exportPolicy na disabledodstraňte všechny existující kanály exportu nakonfigurované v registru. Pokud je kanál nakonfigurovaný, nemůžete stav změnit exportPolicy .

Zákaz exportPolicy pro existující registr

Když vytvoříte registr, exportPolicy stav je ve výchozím nastavení nastavený na enabled , což umožňuje export artefaktů. Stav můžete aktualizovat na disabled pomocí šablony ARM nebo az resource update příkazu.

Šablona ARM

Zahrňte následující kód JSON, který exportPolicy aktualizuje stav a nastaví publicNetworkAccess vlastnost na disabled. Přečtěte si další informace o nasazování prostředků pomocí šablon ARM.

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
      "publicNetworkAccess": "disabled",
      "policies": {
        "exportPolicy": {
          "status": "disabled"
         }
      }
      }
    }
]
[...]
}

Azure CLI

Spuštěním příkazu az resource update nastavte exportPolicy stav v existujícím registru na disabledhodnotu . Nahraďte názvy registru a skupiny prostředků.

Jak je znázorněno v tomto příkladu exportPolicy , při zakázání vlastnosti nastavte publicNetworkAccess také vlastnost na 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"  

Výstup ukazuje, že stav zásad exportu je zakázaný.

{
  "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"
[...]
}

Povolení exportPolicy

Po zakázání exportPolicy stavu v registru ho můžete kdykoli znovu povolit pomocí šablony ARM nebo az resource update příkazu.

Šablona ARM

Pokud chcete stav aktualizovat na exportPolicy , připojte následující kód JSON.enabled Další informace o nasazování prostředků pomocí šablon ARM

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
     "policies": {
        "exportPolicy": {
          "status": "enabled"
         }
      }
      }
    }
]
[...]
}

Azure CLI

Spuštěním příkazu az resource update nastavte exportPolicy stav na enabled. Nahraďte názvy registru a skupiny prostředků.

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"

Další kroky