Export van artefacten uit een Azure-containerregister uitschakelen

Als u wilt voorkomen dat registergebruikers in een organisatie met opzet of per ongeluk artefacten buiten een virtueel netwerk lekken, kunt u het exportbeleid van het register configureren om exports uit te schakelen.

Exportbeleid is een eigenschap die is geïntroduceerd in API-versie 2021-06-01-preview voor Premium-containerregisters . De exportPolicy eigenschap blokkeert, wanneer de status is ingesteld op disabled, het exporteren van artefacten uit een netwerkregister wanneer een gebruiker probeert het volgende te doen:

  • De artefacten van het register importeren in een ander Azure-containerregister
  • Een exportpijplijn voor het register maken om artefacten over te dragen naar een ander containerregister

Notitie

Het uitschakelen van het exporteren van artefacten voorkomt niet dat geautoriseerde gebruikers toegang hebben tot het register in het virtuele netwerk om artefacten op te halen of andere bewerkingen op het gegevensvlak uit te voeren. Als u dit gebruik wilt controleren, raden we u aan diagnostische instellingen te configureren voor het bewaken van registerbewerkingen.

Vereisten

  • Een Premium-containerregister dat is geconfigureerd met een privé-eindpunt.

Andere vereisten voor het uitschakelen van exports

  • Openbare netwerktoegang uitschakelen : als u het exporteren van artefacten wilt uitschakelen, moet openbare toegang tot het register ook worden uitgeschakeld (de eigenschap van publicNetworkAccess het register moet worden ingesteld op disabled). U kunt openbare netwerktoegang tot het register uitschakelen voordat u de export uitschakelt of op hetzelfde moment.

    Door toegang tot het openbare eindpunt van het register uit te schakelen, zorgt u ervoor dat registerbewerkingen alleen binnen het virtuele netwerk zijn toegestaan. Openbare toegang tot het register voor het ophalen van artefacten en het uitvoeren van andere bewerkingen is verboden.

  • Exportpijplijnen verwijderen : voordat u de status van exportPolicy het register instelt op disabled, verwijdert u alle bestaande exportpijplijnen die in het register zijn geconfigureerd. Als een pijplijn is geconfigureerd, kunt u de exportPolicy status niet wijzigen.

exportPolicy uitschakelen voor een bestaand register

Wanneer u een register maakt, is de exportPolicy status standaard ingesteld op enabled , waardoor artefacten kunnen worden geëxporteerd. U kunt de status bijwerken naar disabled een ARM-sjabloon of de az resource update opdracht.

ARM-sjabloon

Neem de volgende JSON op om de exportPolicy status bij te werken en stel de publicNetworkAccess eigenschap in op disabled. Meer informatie over het implementeren van resources met ARM-sjablonen.

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

Azure CLI

Voer az resource update uit om de exportPolicy status in een bestaand register in te stellen op disabled. Vervang de namen van het register en de resourcegroep.

Zoals in dit voorbeeld wordt weergegeven, stelt u bij het uitschakelen van de exportPolicy eigenschap ook de publicNetworkAccess eigenschap in op 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"  

In de uitvoer ziet u dat de status van het exportbeleid is uitgeschakeld.

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

exportPolicy inschakelen

Nadat u de exportPolicy status in een register hebt uitgeschakeld, kunt u deze op elk gewenst moment opnieuw inschakelen met behulp van een ARM-sjabloon of de az resource update opdracht.

ARM-sjabloon

Neem de volgende JSON op om de exportPolicy status bij te werken naar enabled. Meer informatie over het implementeren van resources met ARM-sjablonen

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

Azure CLI

Voer az resource update uit om de exportPolicy status in te stellen op enabled. Vervang de namen van het register en de resourcegroep.

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"

Volgende stappen