Deaktivieren des Exports von Artefakten aus einer Azure-Containerregistrierung

Um zu verhindern, dass Registrierungsbenutzer in einer Organisation in böswilliger Absicht oder versehentlich Artefakte außerhalb eines virtuellen Netzwerks preisgeben, können Sie die Exportrichtlinie der Registrierung so konfigurieren, dass Exporte deaktiviert werden.

Die Exportrichtlinie ist eine Eigenschaft, die in der API-Version 2021-06-01-preview für Premium-Containerregistrierungen eingeführt wurde. Wenn der Status der exportPolicy-Eigenschaft auf disabled festgelegt ist, wird der Export von Artefakten aus einer Registrierung mit Netzwerkeinschränkungen blockiert, wenn ein Benutzer Folgendes versucht:

  • Importieren der Artefakte der Registrierung in eine andere Azure-Containerregistrierung
  • Erstellen einer Exportpipeline für die Registrierung zum Übertragen von Artefakten in eine andere Containerregistrierung

Hinweis

Das Deaktivieren des Exports von Artefakten verhindert nicht den Zugriff autorisierter Benutzer auf die Registrierung innerhalb des virtuellen Netzwerks, um Artefakte zu pullen oder andere Vorgänge auf Datenebene auszuführen. Um diese Verwendung zu überwachen, empfiehlt es sich, Diagnoseeinstellungen zum Überwachen von Registrierungsvorgängen zu konfigurieren.

Voraussetzungen

  • Eine Premium-Containerregistrierung, die mit einem privaten Endpunkt konfiguriert ist.
  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Weitere Anforderungen für das Deaktivieren von Exporten

  • Deaktivieren des Zugriffs aus öffentlichen Netzwerken: Um den Export von Artefakten zu deaktivieren, muss auch der öffentliche Zugriff auf die Registrierung deaktiviert werden (die publicNetworkAccess-Eigenschaft der Registrierung muss auf disabled festgelegt sein). Sie können den Zugriff aus öffentlichen Netzwerken auf die Registrierung deaktivieren, bevor Sie den Export deaktivieren oder beides gleichzeitig deaktivieren.

    Durch die Deaktivierung des Zugriffs auf den öffentlichen Endpunkt der Registrierung stellen Sie sicher, dass Registrierungsvorgänge nur innerhalb des virtuellen Netzwerks zulässig sind. Der öffentliche Zugriff auf die Registrierung, um Artefakte zu pullen und andere Vorgänge auszuführen, ist nicht zulässig.

  • Entfernen von Exportpipelines: Löschen Sie alle vorhandenen Exportpipelines, die für die Registrierung konfiguriert sind, bevor Sie den exportPolicy-Status der Registrierung auf disabled festlegen. Wenn eine Pipeline konfiguriert ist, können Sie den exportPolicy-Status nicht ändern.

Deaktivieren von „exportPolicy“ für eine vorhandene Registrierung

Wenn Sie eine Registrierung erstellen, wird der exportPolicy-Status standardmäßig auf enabled festgelegt, wodurch der Export von Artefakten zulässig wird. Sie können den Status mithilfe einer ARM-Vorlage oder mit dem Befehl az resource update auf disabled aktualisieren.

ARM-Vorlage

Nehmen Sie den folgenden JSON-Code auf, um den exportPolicy-Status zu aktualisieren und die publicNetworkAccess-Eigenschaft auf disabled festzulegen. Erfahren Sie mehr über das Bereitstellen von Ressourcen mit ARM-Vorlagen.

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

Azure CLI

Führen Sie az resource update aus, um den exportPolicy-Status in einer vorhandenen Registrierung auf disabled festzulegen. Ersetzen Sie die Namen Ihrer Registrierung und Ressourcengruppe.

Wie in diesem Beispiel gezeigt, legen Sie beim Deaktivieren der exportPolicy-Eigenschaft außerdem die publicNetworkAccess-Eigenschaft auf disabled fest.

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"  

Die Ausgabe zeigt, dass der Status der Exportrichtlinie „deaktiviert“ ist.

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

Aktivieren von „exportPolicy“

Nachdem Sie den exportPolicy-Status in einer Registrierung deaktiviert haben, können Sie ihn jederzeit mithilfe einer ARM-Vorlage oder mit dem Befehl az resource update erneut aktivieren.

ARM-Vorlage

Nehmen Sie den folgenden JSON-Code auf, um den exportPolicy-Status auf enabled zu aktualisieren. Erfahren Sie mehr über das Bereitstellen von Ressourcen mit ARM-Vorlagen.

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

Azure CLI

Führen Sie az resource update aus, um den exportPolicy-Status auf enabled festzulegen. Ersetzen Sie die Namen Ihrer Registrierung und Ressourcengruppe.

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ächste Schritte