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 aufdisabled
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 aufdisabled
festlegen. Wenn eine Pipeline konfiguriert ist, können Sie denexportPolicy
-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
- Informationen zu Azure Container Registry-Rollen und -Berechtigungen.
- Informationen zum Verhindern des versehentlichen Löschens von Registrierungsartefakten finden Sie unter Sperren von Containerimages.
- Erfahren Sie mehr über integrierte Azure-Richtlinien zum Schützen Ihrer Azure-Containerregistrierung.