Freigeben über


Konfigurieren von Netzwerkregeln für öffentliche IP-Adressen

Eine Azure-Containerregistrierung akzeptiert standardmäßig Verbindungen über das Internet von Hosts in beliebigen Netzwerken. In diesem Artikel wird gezeigt, wie Sie Ihre Containerregistrierung für den Zugriff von nur bestimmten öffentlichen IP-Adressen oder -Adressbereichen aus konfigurieren. Es stellt entsprechende Schritte mithilfe der Azure CLI und des Azure-Portals bereit.

IP-Netzwerkregeln werden auf dem öffentlichen Registrierungsendpunkt konfiguriert. IP-Netzwerkregeln gelten nicht für private Endpunkte, die mit privatem Link konfiguriert sind.

Das Konfigurieren von IP-Zugriffsregeln steht im Tarif Premium der Containerregistrierung zur Verfügung. Weitere Informationen zu den Tarifen des Registrierungsdiensts und zu den Einschränkungen finden Sie unter Azure Container Registry-Tarife.

Pro Registrierung werden maximal 100 IP-Zugriffsregeln unterstützt.

Wichtig

In einer Containerregistrierung, die den Zugriff auf private Endpunkte, ausgewählte Subnetze oder IP-Adressen einschränkt, sind einige Funktionen möglicherweise nicht verfügbar oder erfordern eine umfangreichere Konfiguration.

  • Wenn der öffentliche Netzwerkzugriff auf eine Registrierung deaktiviert ist, erfordert der Zugriff auf die Registrierung durch bestimmte vertrauenswürdige Dienste einschließlich Azure Security Center die Aktivierung einer Netzwerkeinstellung, um die Netzwerkregeln zu umgehen.
  • Instanzen bestimmter Azure-Dienste, darunter Azure DevOps Services und Azure Container Instances, können derzeit nicht auf die Containerregistrierung zugreifen.
  • Private Endpunkte werden derzeit nicht mit verwalteten Azure DevOps-Agents unterstützt. Sie müssen einen selbstgehosteten Agent mit Netzwerksichtverbindung zum privaten Endpunkt verwenden.
  • Wenn die Registrierung einen genehmigten privaten Endpunkt hat und der öffentliche Netzwerkzugriff deaktiviert ist, können Repositorys und Tags außerhalb des virtuellen Netzwerks nicht über das Azure-Portal, die Azure CLI oder andere Tools aufgelistet werden.

Zugriff aus einem ausgewählten öffentlichen Netzwerk – CLI

Ändern des Standardnetzwerkzugriffs auf die Registrierung

Um den Zugriff auf ein ausgewähltes öffentliches Netzwerk zu beschränken, ändern Sie zunächst die Standardaktion so, dass der Zugriff verweigert wird. Ersetzen Sie im folgenden Befehl az acr update den Wert durch den Namen Ihrer Registrierung:

az acr update --name myContainerRegistry --default-action Deny

Hinzufügen einer Netzwerkregel zur Registrierung

Fügen Sie mit dem Befehl az acr network-rule add Ihrer Registrierung eine Netzwerkregel hinzu, die den Zugriff von einer öffentlichen IP-Adresse oder einem öffentlichen IP-Adressbereich erlaubt. Ersetzen Sie beispielsweise den Namen der Containerregistrierung und die öffentliche IP-Adresse eines virtuellen Computers in einem virtuellen Netzwerk.

az acr network-rule add \
  --name mycontainerregistry \
  --ip-address <public-IP-address>

Hinweis

Warten Sie nach dem Hinzufügen einer Regel einige Minuten, bis die Regel wirksam wird.

Zugriff aus einem ausgewählten öffentlichen Netzwerk – Portal

  1. Navigieren Sie im Azure-Portal zu Ihrer Containerregistrierung.
  2. Wählen Sie unter Einstellungen die Option Netzwerk aus.
  3. Treffen Sie auf der Registerkarte Öffentlicher Zugriff eine Auswahl, um öffentlichen Zugriff von Ausgewählten Netzwerken zuzulassen.
  4. Geben Sie unter Firewall eine öffentliche IP-Adresse ein, z. B. die öffentliche IP-Adresse einer VM in einem virtuellen Netzwerk. Oder geben Sie einen Adressbereich in CIDR-Notation ein, der die IP-Adresse des virtuellen Computers enthält.
  5. Wählen Sie Speichern aus.

Konfigurieren einer Firewallregel für die Containerregistrierung

Hinweis

Warten Sie nach dem Hinzufügen einer Regel einige Minuten, bis die Regel wirksam wird.

Tipp

Aktivieren Sie optional den Registrierungszugriff von einem lokalen Clientcomputer oder einem IP-Adressbereich aus. Um diesen Zugriff zuzulassen, benötigen Sie die öffentliche IPv4-Adresse des Computers. Sie finden diese Adresse, indem Sie in einem Internetbrowser nach „Wie lautet meine IP-Adresse“ suchen. Die aktuelle IPv4-Adresse des Clients wird auch automatisch angezeigt, wenn Sie Firewalleinstellungen auf der Seite Netzwerk im Portal konfigurieren.

Deaktivieren des Zugriffs auf das öffentliche Netzwerk

Deaktivieren Sie optional den öffentlichen Endpunkt in der Registrierung. Durch das Deaktivieren des öffentlichen Endpunkts werden alle Firewallkonfigurationen außer Kraft gesetzt. Beispielsweise können Sie den öffentlichen Zugriff auf eine in einem virtuellen Netzwerk mithilfe von Private Link gesicherte Registrierung deaktivieren.

Hinweis

Wenn die Registrierung in einem virtuellen Netzwerk mit einem Dienstendpunkt eingerichtet ist, wird durch das Deaktivieren des Zugriffs auf den öffentlichen Endpunkt der Registrierung auch der Zugriff auf die Registrierung im virtuellen Netzwerk deaktiviert.

Deaktivieren des öffentlichen Zugriffs – CLI

Um den öffentlichen Zugriff mithilfe der Azure CLI zu deaktivieren, führen Sie az acr update aus, und legen Sie --public-network-enabled auf false fest. Das Argument public-network-enabled erfordert Azure CLI 2.6.0 oder höher.

az acr update --name myContainerRegistry --public-network-enabled false

Deaktivieren des öffentlichen Zugriffs – Portal

  1. Navigieren Sie im Portal zu Ihrer Containerregistrierung, und wählen Sie Einstellungen > Netzwerk aus.
  2. Wählen Sie auf der Registerkarte Öffentlicher Zugriff in Öffentlichen Netzwerkzugriff zulassen die Option Deaktiviert aus. Klicken Sie dann auf Speichern.

Deaktivieren des öffentlichen Zugriffs

Wiederherstellen des öffentlichen Netzwerkzugriffs

Um den öffentlichen Endpunkt neu zu aktivieren, aktualisieren Sie die Netzwerkeinstellungen, um den öffentlichen Zugriff zuzulassen. Durch das Aktivieren des öffentlichen Endpunkts werden alle Firewallkonfigurationen außer Kraft gesetzt.

Wiederherstellen des öffentlichen Zugriffs – CLI

Führen Sie az acr update aus, und legen Sie --public-network-enabled auf true fest.

Hinweis

Das Argument public-network-enabled erfordert Azure CLI 2.6.0 oder höher.

az acr update --name myContainerRegistry --public-network-enabled true

Wiederherstellen des öffentlichen Zugriffs – Portal

  1. Navigieren Sie im Portal zu Ihrer Containerregistrierung, und wählen Sie Einstellungen > Netzwerk aus.
  2. Wählen Sie auf der Registerkarte Öffentlicher Zugriff in Öffentlichen Netzwerkzugriff zulassen die Option Alle Netzwerke aus. Klicken Sie dann auf Speichern.

Öffentlicher Zugriff aus allen Netzwerken

Problembehandlung

Zugriff hinter HTTPS-Proxy

Wenn Sie eine öffentliche Netzwerkregel festlegen oder den öffentlichen Zugriff auf die Registrierung verweigern, schlägt die Anmeldung bei der Registrierung von einem nicht zugelassenen öffentlichen Netzwerk fehl. Der Clientzugriff von hinter einem HTTPS-Proxy schlägt ebenfalls fehl, wenn Sie keine Zugriffsregel für den Proxy festlegen. Es wird eine Fehlermeldung wie Error response from daemon: login attempt failed with status: 403 Forbidden oder Looks like you don't have access to registryangezeigt.

Diese Fehler können auch auftreten, wenn Sie einen HTTPS-Proxy verwenden, den eine Netzwerkzugriffsregel zulässt, aber der Proxy ist in der Clientumgebung nicht ordnungsgemäß konfiguriert. Überprüfen Sie, ob sowohl Ihr Docker-Client als auch Ihr Docker-Daemon für das Proxyverhalten konfiguriert sind. Details finden Sie unter HTTP/HTTPS-Proxy in der Docker-Dokumentation.

Zugriff aus Azure Pipelines

Wenn Sie Azure Pipelines mit einer Azure-Containerregistrierung verwenden, die den Zugriff auf bestimmte IP-Adressen beschränkt, kann die Pipeline möglicherweise nicht auf die Registrierung zugreifen. Die ausgehende IP-Adresse der Pipeline ist nicht festgelegt. Standardmäßig wendet die Pipeline Aufträge mit einem von Microsoft gehosteten Agent auf einen VM-Pool mit einem sich ändernden Satz von IP-Adressen an.

Eine Abhilfemaßnahme ist, den für die Ausführung der Pipeline verwendeten Agent von „Von Microsoft gehostet“ in „Selbstgehostet“ zu ändern. Wenn ein selbst gehosteter Agent auf einem von Ihnen verwalteten Windows - oder Linux-Computer ausgeführt wird, steuern Sie die ausgehende IP-Adresse der Pipeline. Sie können diese Adresse in einer Registrierungs-IP-Zugriffsregel hinzufügen.

Zugriff aus AKS

Wenn Sie Azure Kubernetes Service (AKS) mit einer Azure-Containerregistrierung verwenden, die den Zugriff auf bestimmte IP-Adressen beschränkt, können Sie standardmäßig keine feste IP-Adresse für AKS konfigurieren. Die ausgehende IP-Adresse aus dem AKS-Cluster wird nach dem Zufallsprinzip zugewiesen.

Verwenden Sie eine der folgenden Optionen, um dem AKS-Cluster den Zugriff auf die Registrierung zu ermöglichen:

Nächste Schritte