Sdílet prostřednictvím


Zakázání exportu artefaktů z registru kontejneru Azure

Pokud chcete zabránit uživatelům registru v organizaci, aby zlými úmysly nebo neúmyslně unikly artefakty mimo virtuální síť, můžete nakonfigurovat zásady exportu registru tak, aby zakázaly exporty.

Zásady exportu jsou vlastností zavedenou v rozhraní API verze 2021-06-01-preview pro registry kontejnerů Premium. Vlastnost exportPolicy , pokud je jeho stav nastaven na disabled, blokuje export artefaktů z registru s omezenými sítěmi, 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 autorizovaných uživatelů k registru v rámci virtuální sítě za účelem vyžádání artefaktů nebo provádění jiných operací roviny dat. Pokud chcete toto použití auditovat, doporučujeme nakonfigurovat nastavení diagnostiky pro monitorování operací registru.

Požadavky

  • Registr kontejneru Premium nakonfigurovaný s privátním koncovým bodem.

Další požadavky na zakázání exportů

  • Zakázat přístup k veřejné síti – Chcete-li zakázat export artefaktů, musí být zakázán také veřejný přístup k registru (vlastnost registru publicNetworkAccess musí být nastavena na disabledhodnotu ). Přístup k veřejné síti k registru můžete zakázat před zakázáním exportu nebo jeho zakázáním současně.

    Zakázáním přístupu k veřejnému koncovému bodu registru zajistíte, že operace registru jsou povolené jenom ve virtuální síti. Veřejný přístup k registru pro vyžádání artefaktů a provádění dalších operací je zakázán.

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

Zakázání exportPolicy pro existující registr

Při vytváření registru exportPolicy se stav nastaví na enabled výchozí hodnotu, což umožňuje export artefaktů. Stav můžete aktualizovat pomocí disabled šablony ARM nebo az resource update příkazu.

Šablona ARM

Zahrňte následující KÓD JSON pro aktualizaci exportPolicy stavu a nastavte 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 disabled. 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 také nastavte publicNetworkAccess 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

Zahrňte následující KÓD JSON pro aktualizaci exportPolicy stavu na 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

  • Seznamte se s rolemi a oprávněními služby Azure Container Registry.
  • Pokud chcete zabránit náhodnému odstranění artefaktů registru, přečtěte si téma Uzamčení imagí kontejneru.
  • Informace o integrovaných zásadách Azure pro zabezpečení registru kontejnerů Azure