Inaktivera export av artefakter från ett Azure-containerregister

Om du vill förhindra att registeranvändare i en organisation oavsiktligt läcker artefakter utanför ett virtuellt nätverk kan du konfigurera registrets exportprincip för att inaktivera exporter.

Exportprincip är en egenskap som introduceras i API-version 2021-06-01-preview för Premium-containerregister . När exportPolicy dess status är inställd på disabledblockerar egenskapen export av artefakter från ett nätverksbegränsat register när en användare försöker:

Anteckning

Om du inaktiverar export av artefakter förhindras inte behöriga användares åtkomst till registret i det virtuella nätverket för att hämta artefakter eller utföra andra dataplansåtgärder. Om du vill granska den här användningen rekommenderar vi att du konfigurerar diagnostikinställningar för att övervaka registeråtgärder.

Förutsättningar

Andra krav för att inaktivera exporter

  • Inaktivera åtkomst till offentligt nätverk – Om du vill inaktivera export av artefakter måste även offentlig åtkomst till registret inaktiveras (registrets publicNetworkAccess egenskap måste vara inställd på disabled). Du kan inaktivera åtkomsten till det offentliga nätverket till registret innan du inaktiverar exporten eller inaktiverar den samtidigt.

    Genom att inaktivera åtkomst till registrets offentliga slutpunkt ser du till att registeråtgärder endast tillåts i det virtuella nätverket. Offentlig åtkomst till registret för att hämta artefakter och utföra andra åtgärder är förbjuden.

  • Ta bort exportpipelines – Innan du ställer in registrets exportPolicy status på disabledtar du bort befintliga exportpipelines som konfigurerats i registret. Om en pipeline har konfigurerats kan du inte ändra statusen exportPolicy .

Inaktivera exportPolicy för ett befintligt register

När du skapar ett register anges statusen exportPolicy till enabled som standard, vilket tillåter att artefakter exporteras. Du kan uppdatera statusen till disabled med hjälp av en ARM-mall eller az resource update kommandot .

ARM-mall

Inkludera följande JSON för att uppdatera statusen exportPolicy och ange publicNetworkAccess egenskapen till disabled. Läs mer om att distribuera resurser med ARM-mallar.

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

Azure CLI

Kör az resource update för att ange statusen exportPolicy i ett befintligt register till disabled. Ersätt namnen på registret och resursgruppen.

Som du ser i det här exemplet, när du inaktiverar exportPolicy egenskapen, anger publicNetworkAccess du även egenskapen till 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"  

Utdata visar att exportprincipstatusen är inaktiverad.

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

Aktivera exportPolicy

När du har inaktiverat statusen exportPolicy i ett register kan du aktivera den igen när som helst med hjälp av en ARM-mall eller az resource update kommandot .

ARM-mall

Inkludera följande JSON för att uppdatera statusen exportPolicy till enabled. Läs mer om att distribuera resurser med ARM-mallar

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

Azure CLI

Kör az resource update för att ange statusen exportPolicy till enabled. Ersätt namnen på registret och resursgruppen.

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"

Nästa steg