Beschränken des Zugriffs auf eine Azure-Containerregistrierung mithilfe eines virtuellen Azure-Netzwerks oder mit FirewallregelnRestrict access to an Azure container registry using an Azure virtual network or firewall rules

Das virtuelle Azure-Netzwerk (Azure Virtual Network) stellt ein sicheres, privates Netzwerk für Ihre Azure- und lokalen Ressourcen bereit.Azure Virtual Network provides secure, private networking for your Azure and on-premises resources. Indem Sie den Zugriff auf Ihre private Azure-Containerregistrierung nur von einem virtuellen Azure-Netzwerk aus zulassen, gewährleisten Sie, dass nur Ressourcen im virtuellen Netzwerk Zugriff auf die Registrierung haben.By limiting access to your private Azure container registry from an Azure virtual network, you ensure that only resources in the virtual network access the registry. Bei standortübergreifenden Szenarios können Sie außerdem Firewallregeln konfigurieren, um den Zugriff auf die Registrierung nur von bestimmten IP-Adressen zuzulassen.For cross-premises scenarios, you can also configure firewall rules to allow registry access only from specific IP addresses.

In diesem Artikel werden zwei Szenarien zum Konfigurieren von Zugriffsregeln für eingehenden Netzwerkdatenverkehr in einer Containerregistrierung vorgestellt: Zugriff von einem in einem virtuellen Netzwerk bereitgestellten virtuellen Computer und Zugriff von der öffentlichen IP-Adresse eines virtuellen Computers.This article shows two scenarios to configure inbound network access rules on a container registry: from a virtual machine deployed in a virtual network, or from a VM's public IP address.

Wichtig

Dieses Feature befindet sich derzeit in der Vorschauphase. Es gelten einige Einschränkungen.This feature is currently in preview, and some limitations apply. Vorschauversionen werden Ihnen zur Verfügung gestellt, wenn Sie die zusätzlichen Nutzungsbedingungen akzeptieren.Previews are made available to you on the condition that you agree to the supplemental terms of use. Einige Aspekte dieses Features werden bis zur allgemeinen Verfügbarkeit unter Umständen noch geändert.Some aspects of this feature may change prior to general availability (GA).

Wenn Sie stattdessen Zugriffsregeln für Ressourcen einrichten müssen, um von einem Standort hinter einer Firewall auf eine Containerregistrierung zuzugreifen, lesen Sie die Informationen unter Configure rules to access an Azure container registry behind a firewall (Konfigurieren von Regeln für den Zugriff auf eine Azure-Containerregistrierung hinter einer Firewall).If instead you need to set up access rules for resources to reach a container registry from behind a firewall, see Configure rules to access an Azure container registry behind a firewall.

Einschränkungen der VorschauPreview limitations

  • Nur im Tarif Premium kann die Containerregistrierung mit Netzwerkregeln konfiguriert werden.Only a Premium container registry can be configured with network access rules. Informationen zu den Tarifen des Registrierungsdiensts finden Sie unter Azure Container Registry-SKUs.For information about registry service tiers, see Azure Container Registry SKUs.

  • Nur ein Azure Kubernetes Service-Cluster oder ein virtueller Azure-Computer kann in einem virtuellen Netzwerk als Host für den Zugriff auf die Containerregistrierung verwendet werden.Only an Azure Kubernetes Service cluster or Azure virtual machine can be used as a host to access a container registry in a virtual network. Andere Azure-Dienste einschließlich Azure Container Instances werden derzeit nicht unterstützt.Other Azure services including Azure Container Instances aren't currently supported.

  • ACR Tasks-Vorgänge werden derzeit in einer Containerregistrierung, auf die in einem virtuellen Netzwerk zugegriffen wird, nicht unterstützt.ACR Tasks operations aren't currently supported in a container registry accessed in a virtual network.

  • Jede Registrierung unterstützt bis zu 100 Regeln für virtuelle Netzwerke.Each registry supports a maximum of 100 virtual network rules.

VoraussetzungenPrerequisites

  • Um in diesem Artikel die Schritte an der Azure-Befehlszeilenschnittstelle (CLI) ausführen zu können, ist Azure CLI-Version 2.0.58 oder höher erforderlich.To use the Azure CLI steps in this article, Azure CLI version 2.0.58 or later is required. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

  • Wenn Sie noch keine Containerregistrierung haben, können Sie eine Registrierung erstellen (Premium-SKU erforderlich) und mithilfe von Push ein Beispielimage wie hello-world vom Docker-Hub übertragen.If you don't already have a container registry, create one (Premium SKU required) and push a sample image such as hello-world from Docker Hub. Zum Erstellen einer Registrierung können Sie das Azure-Portal oder die Azure-Befehlszeilenschnittstelle verwenden.For example, use the Azure portal or the Azure CLI to create a registry.

  • Wenn Sie den Registrierungszugriff mithilfe eines virtuellen Netzwerks in einem anderen Azure-Abonnement einschränken möchten, müssen Sie den Ressourcenanbieter für Azure Container Registry in diesem Abonnement registrieren.If you want to restrict registry access using a virtual network in a different Azure subscription, you need to register the resource provider for Azure Container Registry in that subscription. Beispiel:For example:

    az account set --subscription <Name or ID of subscription of virtual network>
    
    az provider register --namespace Microsoft.ContainerRegistry
    

Informationen zu Netzwerkregeln für eine ContainerregistrierungAbout network rules for a container registry

Eine Azure-Containerregistrierung akzeptiert standardmäßig Verbindungen über das Internet von Hosts in beliebigen Netzwerken.An Azure container registry by default accepts connections over the internet from hosts on any network. Mit einem virtuellen Netzwerk können Sie nur Azure-Ressourcen wie einem AKS-Cluster oder einem virtuellen Azure-Computer den sicheren Zugriff auf die Registrierung erlauben, ohne dass die Grenzen des Netzwerks überschritten werden.With a virtual network, you can allow only Azure resources such as an AKS cluster or Azure VM to securely access the registry, without crossing a network boundary. Sie können auch Firewallregeln für das Netzwerk konfigurieren, um bestimmte öffentliche Internet-IP-Adressbereiche auf die Whitelist zu setzen.You can also configure network firewall rules to whitelist specific public internet IP address ranges.

Zum Beschränken des Zugriffs auf eine Registrierung müssen Sie zuerst die Standardaktion der Registrierung ändern, sodass die Registrierung alle Netzwerkverbindungen verweigert.To limit access to a registry, first change the default action of the registry so that it denies all network connections. Anschließend fügen Sie Netzwerkzugriffsregeln hinzu.Then, add network access rules. Clients, denen mithilfe der Netzwerkregeln Zugriff gewährt wird, müssen sich weiterhin bei der Containerregistrierung authentifizieren und für den Datenzugriff autorisiert sein.Clients granted access via the network rules must continue to authenticate to the container registry and be authorized to access the data.

Dienstendpunkt für SubnetzeService endpoint for subnets

Um den Zugriff aus einem Subnetz in einem virtuellen Netzwerk zuzulassen, müssen Sie einen Dienstendpunkt für den Azure Container Registry-Dienst hinzufügen.To allow access from a subnet in a virtual network, you need to add a service endpoint for the Azure Container Registry service.

Dienste für mehrere Mandanten wie Azure Container Registry verwenden einen einzelnen Satz IP-Adressen für alle Kunden.Multi-tenant services, like Azure Container Registry, use a single set of IP addresses for all customers. Ein Dienstendpunkt weist einen Endpunkt für den Zugriff auf eine Registrierung zu.A service endpoint assigns an endpoint to access a registry. Dieser Endpunkt sorgt für eine optimale Datenverkehrsroute zu der Ressource über das Azure-Backbonenetzwerk.This endpoint gives traffic an optimal route to the resource over the Azure backbone network. Mit jeder Anforderung wird zudem die Identität des virtuellen Netzwerks und des Subnetzes übertragen.The identities of the virtual network and the subnet are also transmitted with each request.

FirewallregelnFirewall rules

Geben Sie für die IP-Netzwerkregeln zulässige Internetadressbereiche in CIDR-Notation im Format 16.17.18.0/24 oder als einzelne IP-Adressen (beispielsweise 16.17.18.19) an.For IP network rules, provide allowed internet address ranges using CIDR notation such as 16.17.18.0/24 or an individual IP addresses like 16.17.18.19. IP-Netzwerkregeln sind nur für öffentliche Internet-IP-Adressen zulässig.IP network rules are only allowed for public internet IP addresses. Für private Netzwerke reservierte IP-Adressbereiche (wie in RFC 1918 definiert) sind in IP-Adressregeln nicht zulässig.IP address ranges reserved for private networks (as defined in RFC 1918) aren't allowed in IP rules.

Erstellen eines Docker-fähigen virtuellen ComputersCreate a Docker-enabled virtual machine

In diesem Artikel wird ein Docker-fähiger virtueller Ubuntu-Computer für den Zugriff auf eine Azure-Containerregistrierung verwendet.For this article, use a Docker-enabled Ubuntu VM to access an Azure container registry. Damit für die Registrierung die Azure Active Directory-Authentifizierung verwendet werden kann, installieren Sie auch die Azure-Befehlszeilenschnittstelle (CLI) auf dem virtuellen Computer.To use Azure Active Directory authentication to the registry, also install the Azure CLI on the VM. Wenn Sie bereits über einen virtuellen Azure-Computer verfügen, überspringen Sie diesen Erstellungsschritt.If you already have an Azure virtual machine, skip this creation step.

Sie können die gleiche Ressourcengruppe für Ihren virtuellen Computer und Ihre Containerregistrierung verwenden.You may use the same resource group for your virtual machine and your container registry. Dieses Setup vereinfacht die Bereinigung am Übungsende, ist aber nicht erforderlich.This setup simplifies clean-up at the end but isn't required. Wenn Sie eine separate Ressourcengruppe für den virtuellen Computer und das virtuelle Netzwerk erstellen möchten, führen Sie den Befehl az group create aus.If you choose to create a separate resource group for the virtual machine and virtual network, run az group create. Im folgenden Beispiel wird am Standort westcentralus eine Ressourcengruppe namens myResourceGroup erstellt:The following example creates a resource group named myResourceGroup in the westcentralus location:

az group create --name myResourceGroup --location westus

Stellen Sie nun mithilfe von az vm create einen virtuellen Azure-Standardcomputer mit Ubuntu bereit.Now deploy a default Ubuntu Azure virtual machine with az vm create. Im folgenden Beispiel wird ein virtueller Computer namens myDockerVM erstellt:The following example creates a VM named myDockerVM:

az vm create \
    --resource-group myResourceGroup \
    --name myDockerVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

Die Erstellung des virtuellen Computers dauert einige Minuten.It takes a few minutes for the VM to be created. Notieren Sie nach Abschluss der Befehlsausführung die von der Azure CLI angezeigte publicIpAddress.When the command completes, take note of the publicIpAddress displayed by the Azure CLI. Verwenden Sie diese Adresse, um SSH-Verbindungen mit dem virtuellen Computer herzustellen (und optional für die spätere Einrichtung von Firewallregeln).Use this address to make SSH connections to the VM, and optionally for later setup of firewall rules.

Installieren von Docker auf der VMInstall Docker on the VM

Wenn die VM ausgeführt wird, stellen Sie eine SSH-Verbindung mit der VM her.After the VM is running, make an SSH connection to the VM. Ersetzen Sie publicIpAddress durch die öffentliche IP-Adresse Ihrer VM.Replace publicIpAddress with the public IP address of your VM.

ssh azureuser@publicIpAddress

Führen Sie den folgenden Befehl aus, um Docker auf dem virtuellen Ubuntu-Computer zu installieren:Run the following command to install Docker on the Ubuntu VM:

sudo apt install docker.io -y

Führen Sie nach der Installation den folgenden Befehl aus, um sicherzustellen, dass Docker ordnungsgemäß auf der VM ausgeführt wird:After installation, run the following command to verify that Docker is running properly on the VM:

sudo docker run -it hello-world

Ausgabe:Output:

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

Installieren der Azure CLIInstall the Azure CLI

Führen Sie die in Installieren der Azure CLI mit apt beschriebenen Schritte aus, um die Azure CLI auf Ihrer Ubuntu-VM zu installieren.Follow the steps in Install Azure CLI with apt to install the Azure CLI on your Ubuntu virtual machine. Für diesen Artikel müssen Sie sicherstellen, dass Sie Version 2.0.58 oder höher installieren.For this article, ensure that you install version 2.0.58 or later.

Beenden Sie die SSH-Verbindung.Exit the SSH connection.

Zulassen des Zugriffs von einem virtuellen NetzwerkAllow access from a virtual network

In diesem Abschnitt konfigurieren Sie Ihre Containerregistrierung für den Zugriff aus einem Subnetz in einem virtuellen Azure-Netzwerk.In this section, configure your container registry to allow access from a subnet in an Azure virtual network. Die Schritte werden jeweils bei Verwendung der Azure-Befehlszeilenschnittstelle (CLI) bzw. des Azure-Portals erläutert.Equivalent steps using the Azure CLI and Azure portal are provided.

Zulassen des Zugriffs von einem virtuellen Netzwerk – Befehlszeilenschnittstelle (CLI)Allow access from a virtual network - CLI

Hinzufügen eines Dienstendpunkts zu einem SubnetzAdd a service endpoint to a subnet

Wenn Sie einen virtuellen Computer erstellen, erstellt Azure standardmäßig in der gleichen Ressourcengruppe ein virtuelles Netzwerk.When you create a VM, Azure by default creates a virtual network in the same resource group. Der Name des virtuellen Netzwerks hängt von dem Namen des virtuellen Computers ab.The name of the virtual network is based on the name of the virtual machine. Wenn Sie Ihren virtuellen Computer beispielsweise MyDockerVM nennen, lautet der Standardname des virtuellen Netzwerks MyDockerVMVNET mit einem Subnetz namens MyDockerVMSubnet.For example, if you name your virtual machine myDockerVM, the default virtual network name is myDockerVMVNET, with a subnet named myDockerVMSubnet. Dies können Sie im Azure-Portal oder mithilfe des Befehls az network vnet list überprüfen:Verify this in the Azure portal or by using the az network vnet list command:

az network vnet list --resource-group myResourceGroup --query "[].{Name: name, Subnet: subnets[0].name}"

Ausgabe:Output:

[
  {
    "Name": "myDockerVMVNET",
    "Subnet": "myDockerVMSubnet"
  }
]

Verwenden Sie den Befehl az network vnet subnet update, um Ihrem Subnetz einen Microsoft.ContainerRegistry-Dienstendpunkt hinzuzufügen.Use the az network vnet subnet update command to add a Microsoft.ContainerRegistry service endpoint to your subnet. Ersetzen Sie im folgenden Befehl die Werte durch die Namen Ihres virtuellen Netzwerks und Ihres Subnetzes:Substitute the names of your virtual network and subnet in the following command:

az network vnet subnet update \
  --name myDockerVMSubnet \
  --vnet-name myDockerVMVNET \
  --resource-group myResourceGroup \
  --service-endpoints Microsoft.ContainerRegistry

Rufen Sie mit dem Befehl az network vnet subnet show die Ressourcen-ID des Subnetzes ab.Use the az network vnet subnet show command to retrieve the resource ID of the subnet. Diese benötigen Sie in einem späteren Schritt zum Konfigurieren einer Netzwerkzugriffsregel.You need this in a later step to configure a network access rule.

az network vnet subnet show \
  --name myDockerVMSubnet \
  --vnet-name myDockerVMVNET \
  --resource-group myResourceGroup \
  --query "id"
  --output tsv

Ausgabe:Output:

/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myDockerVMVNET/subnets/myDockerVMSubnet

Ändern des Standardnetzwerkzugriffs auf die RegistrierungChange default network access to registry

Eine Azure-Containerregistrierung lässt standardmäßig Verbindungen von Hosts in beliebigen Netzwerken zu.By default, an Azure container registry allows connections from hosts on any network. Um den Zugriff auf ein ausgewähltes Netzwerk zu beschränken, ändern Sie die Standardaktion so, dass der Zugriff verweigert wird.To limit access to a selected network, change the default action to deny access. Ersetzen Sie im folgenden Befehl az acr update den Wert durch den Namen Ihrer Registrierung:Substitute the name of your registry in the following az acr update command:

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

Hinzufügen einer Netzwerkregel zur RegistrierungAdd network rule to registry

Fügen Sie mit dem Befehl az acr network-rule add Ihrer Registrierung eine Netzwerkregel hinzu, die den Zugriff vom Subnetz des virtuellen Computers erlaubt.Use the az acr network-rule add command to add a network rule to your registry that allows access from the VM's subnet. Ersetzen Sie im folgenden Befehl die Werte durch den Namen der Containerregistrierung und die Ressourcen-ID des Subnetzes:Substitute the container registry's name and the resource ID of the subnet in the following command:

az acr network-rule add --name mycontainerregistry --subnet <subnet-resource-id>

Prüfen Sie im nächsten Schritt den Zugriff auf die Registrierung.Continue to Verify access to the registry.

Zulassen des Zugriffs aus einem virtuellen Netzwerk – Azure-PortalAllow access from a virtual network - portal

Hinzufügen eines Dienstendpunkts zu einem SubnetzAdd service endpoint to subnet

Wenn Sie einen virtuellen Computer erstellen, erstellt Azure standardmäßig in der gleichen Ressourcengruppe ein virtuelles Netzwerk.When you create a VM, Azure by default creates a virtual network in the same resource group. Der Name des virtuellen Netzwerks hängt von dem Namen des virtuellen Computers ab.The name of the virtual network is based on the name of the virtual machine. Wenn Sie Ihren virtuellen Computer beispielsweise MyDockerVM nennen, lautet der Standardname des virtuellen Netzwerks MyDockerVMVNET mit einem Subnetz namens MyDockerVMSubnet.For example, if you name your virtual machine myDockerVM, the default virtual network name is myDockerVMVNET, with a subnet named myDockerVMSubnet.

So fügen Sie einem Subnetz einen Azure Container Registry-Dienstendpunkt hinzuTo add a service endpoint for Azure Container Registry to a subnet:

  1. Geben Sie im Suchfeld oben im Azure-Portal den Suchbegriff Virtuelle Netzwerke ein.In the search box at the top of the Azure portal, enter virtual networks. Wenn Virtuelle Netzwerke in den Suchergebnissen angezeigt wird, können Sie den Begriff auswählen.When Virtual networks appear in the search results, select it.
  2. Wählen Sie in der Liste der virtuellen Netzwerke das virtuelle Netzwerk aus, in dem Ihr virtueller Computer bereitgestellt wird (z.B. myDockerVMVNET).From the list of virtual networks, select the virtual network where your virtual machine is deployed, such as myDockerVMVNET.
  3. Wählen Sie unter Einstellungen die Option Subnetze aus.Under Settings, select Subnets.
  4. Wählen Sie das Subnetz aus, in dem Ihr virtueller Computer bereitgestellt wird (z.B. myDockerVMSubnet).Select the subnet where your virtual machine is deployed, such as myDockerVMSubnet.
  5. Wählen Sie unter Dienstendpunkte die Option Microsoft.ContainerRegistry aus.Under Service endpoints, select Microsoft.ContainerRegistry.
  6. Wählen Sie Speichern aus.Select Save.

Hinzufügen eines Dienstendpunkts zu einem Subnetz

Konfigurieren des Netzwerkzugriffs für die RegistrierungConfigure network access for registry

Eine Azure-Containerregistrierung lässt standardmäßig Verbindungen von Hosts in beliebigen Netzwerken zu.By default, an Azure container registry allows connections from hosts on any network. So beschränken Sie den Zugriff auf das virtuelle NetzwerkTo limit access to the virtual network:

  1. Navigieren Sie im Azure-Portal zu Ihrer Containerregistrierung.In the portal, navigate to your container registry.
  2. Wählen Sie unter Einstellungen die Option Firewall und virtuelle Netzwerke aus.Under Settings, select Firewall and virtual networks.
  3. Wenn der Zugriff standardmäßig verweigert werden soll, wählen Sie aus, dass Zugriff über Ausgewählte Netzwerke gewährt werden soll.To deny access by default, choose to allow access from Selected networks.
  4. Wählen Sie Vorhandenes virtuelles Netzwerk hinzufügen und dann das virtuelle Netzwerk und Subnetz aus, das Sie mit einem Dienstendpunkt konfiguriert haben.Select Add existing virtual network, and select the virtual network and subnet you configured with a service endpoint. Wählen Sie Hinzufügen.Select Add.
  5. Wählen Sie Speichern aus.Select Save.

Konfigurieren des virtuellen Netzwerks für die Containerregistrierung

Prüfen Sie im nächsten Schritt den Zugriff auf die Registrierung.Continue to Verify access to the registry.

Zulassen des Zugriffs von einer IP-AdresseAllow access from an IP address

In diesem Abschnitt konfigurieren Sie Ihre Containerregistrierung für den Zugriff von einer bestimmten IP-Adresse oder einem IP-Adressbereich.In this section, configure your container registry to allow access from a specific IP address or range. Die Schritte werden jeweils bei Verwendung der Azure-Befehlszeilenschnittstelle (CLI) bzw. des Azure-Portals erläutert.Equivalent steps using the Azure CLI and Azure portal are provided.

Zulassen des Zugriffs von einer IP-Adresse – Befehlszeilenschnittstelle (CLI)Allow access from an IP address - CLI

Ändern des Standardnetzwerkzugriffs auf die RegistrierungChange default network access to registry

Wenn Sie nicht bereits geschehen, aktualisieren Sie die Registrierungskonfiguration, um den Zugriff standardmäßig zu verweigern.If you haven't already done so, update the registry configuration to deny access by default. Ersetzen Sie im folgenden Befehl az acr update den Wert durch den Namen Ihrer Registrierung:Substitute the name of your registry in the following az acr update command:

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

Entfernen der Netzwerkregel aus der RegistrierungRemove network rule from registry

Wenn Sie zuvor eine Netzwerkregel für den Zugriff vom Subnetz des virtuellen Computers hinzugefügt haben, entfernen Sie den Dienstendpunkt des Subnetzes und die Netzwerkregel.If you previously added a network rule to allow access from the VM's subnet, remove the subnet's service endpoint and the network rule. Ersetzen Sie im Befehl az acr network-rule remove die Werte durch den Namen der Containerregistrierung und die Ressourcen-ID des Subnetzes, die Sie in einem früheren Schritt abgerufen haben:Substitute the container registry's name and the resource ID of the subnet you retrieved in an earlier step in the az acr network-rule remove command:

# Remove service endpoint

az network vnet subnet update \
  --name myDockerVMSubnet \
  --vnet-name myDockerVMVNET \
  --resource-group myResourceGroup \
  --service-endpoints ""

# Remove network rule

az acr network-rule remove --name mycontainerregistry --subnet <subnet-resource-id>

Hinzufügen einer Netzwerkregel zur RegistrierungAdd network rule to registry

Fügen Sie mit dem Befehl az acr network-rule add Ihrer Registrierung eine Netzwerkregel hinzu, die den Zugriff von der IP-Adresse des virtuellen Computers erlaubt.Use the az acr network-rule add command to add a network rule to your registry that allows access from the VM's IP address. Ersetzen Sie im folgenden Befehl die Werte durch den Namen der Containerregistrierung und die öffentliche IP-Adresse des virtuellen Computers.Substitute the container registry's name and the public IP address of the VM in the following command.

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

Prüfen Sie im nächsten Schritt den Zugriff auf die Registrierung.Continue to Verify access to the registry.

Zulassen des Zugriffs von einer IP-Adresse – Azure-PortalAllow access from an IP address - portal

Entfernen einer vorhandenen Netzwerkregel aus der RegistrierungRemove existing network rule from registry

Wenn Sie zuvor eine Netzwerkregel für den Zugriff vom Subnetz des virtuellen Computers hinzugefügt haben, entfernen Sie die vorhandene Regel.If you previously added a network rule to allow access from the VM's subnet, remove the existing rule. Überspringen Sie diesen Abschnitt, wenn Sie von einem anderen virtuellen Computer auf die Registrierung zugreifen möchten.Skip this section if you want to access the registry from a different VM.

  • Aktualisieren Sie die Subnetzeinstellungen, und entfernen Sie den Azure Container Registry-Dienstendpunkt für das Subnetz.Update the subnet settings to remove the subnet's service endpoint for Azure Container Registry.

    1. Navigieren Sie im Azure-Portal zu dem virtuellen Netzwerk, in dem Ihr virtueller Computer bereitgestellt wird.In the Azure portal, navigate to the virtual network where your virtual machine is deployed.
    2. Wählen Sie unter Einstellungen die Option Subnetze aus.Under Settings, select Subnets.
    3. Wählen Sie das Subnetz aus, in dem Ihr virtueller Computer bereitgestellt wird.Select the subnet where your virtual machine is deployed.
    4. Deaktivieren Sie unter Dienstendpunkte das Kontrollkästchen Microsoft.ContainerRegistry.Under Service endpoints, remove the checkbox for Microsoft.ContainerRegistry.
    5. Wählen Sie Speichern aus.Select Save.
  • Entfernen Sie die Netzwerkregel, die dem Subnetz den Zugriff auf die Registrierung erlaubt.Remove the network rule that allows the subnet to access the registry.

    1. Navigieren Sie im Azure-Portal zu Ihrer Containerregistrierung.In the portal, navigate to your container registry.
    2. Wählen Sie unter Einstellungen die Option Firewall und virtuelle Netzwerke aus.Under Settings, select Firewall and virtual networks.
    3. Wählen Sie unter virtuelle Netzwerke den Namen des virtuellen Netzwerks und dann Entfernen aus.Under Virtual networks, select the name of the virtual network, and then select Remove.
    4. Wählen Sie Speichern aus.Select Save.

Hinzufügen einer Netzwerkregel zur RegistrierungAdd network rule to registry

  1. Navigieren Sie im Azure-Portal zu Ihrer Containerregistrierung.In the portal, navigate to your container registry.
  2. Wählen Sie unter Einstellungen die Option Firewall und virtuelle Netzwerke aus.Under Settings, select Firewall and virtual networks.
  3. Wenn nicht bereits geschehen, erlauben Sie den Zugriff von ausgewählten Netzwerken.If you haven't already done so, choose to allow access from Selected networks.
  4. Vergewissern Sie sich unter Virtuelle Netzwerke, dass kein Netzwerk ausgewählt ist.Under Virtual networks, ensure no network is selected.
  5. Geben Sie unter Firewall die öffentliche IP-Adresse eines virtuellen Computers ein.Under Firewall, enter the public IP address of a VM. Oder geben Sie einen Adressbereich in CIDR-Notation ein, der die IP-Adresse des virtuellen Computers enthält.Or, enter an address range in CIDR notation that contains the VM's IP address.
  6. Wählen Sie Speichern aus.Select Save.

Konfigurieren einer Firewallregel für die Containerregistrierung

Prüfen Sie im nächsten Schritt den Zugriff auf die Registrierung.Continue to Verify access to the registry.

Prüfen des Zugriffs auf die RegistrierungVerify access to the registry

Warten Sie einige Minuten, bis die Konfiguration aktualisiert wurde, und prüfen Sie dann, ob der virtuelle Computer auf die Containerregistrierung zugreifen kann.After waiting a few minutes for the configuration to update, verify that the VM can access the container registry. Stellen Sie eine SSH-Verbindung mit Ihrem virtuellen Computer her, und melden Sie sich mit dem Befehl az acr login bei der Registrierung an.Make an SSH connection to your VM, and run the az acr login command to login to your registry.

az acr login --name mycontainerregistry

Sie können Registerierungsvorgänge ausführen (z.B. docker pull), um mittels Pullvorgang ein Beispielimage aus der Registrierung abzurufen.You can perform registry operations such as run docker pull to pull a sample image from the registry. Ersetzen Sie im Befehl die Werte durch den Image- und Tagwert, der Ihrer Registrierung entspricht, und verwenden Sie als Präfix den Namens des Anmeldeservers für die Registrierung (nur Kleinbuchstaben):Substitute an image and tag value appropriate for your registry, prefixed with the registry login server name (all lowercase):

docker pull mycontainerregistry.azurecr.io/hello-world:v1

Docker ruft erfolgreich mittels Pullvorgang das Image auf den virtuellen Computer ab.Docker successfully pulls the image to the VM.

Dieses Beispiel zeigt, dass Sie über die Netzwerkzugriffsregel auf die private Containerregistrierung zugreifen können.This example demonstrates that you can access the private container registry through the network access rule. Der Zugriff auf die Containerregistrierung kann jedoch nicht von einem anderen Anmeldehost erfolgen, für den keine Netzwerkzugriffsregel konfiguriert wurde.However, the registry can't be accessed from a different login host that doesn't have a network access rule configured. Wenn Sie versuchen, sich mit dem Befehl az acr login oder docker login von einem anderen Host anzumelden, sieht die Ausgabe in etwa wie folgt aus:If you attempt to login from another host using the az acr login command or docker login command, output is similar to the following:

Error response from daemon: login attempt to https://xxxxxxx.azurecr.io/v2/ failed with status: 403 Forbidden

Wiederherstellen des Standardzugriffs auf die RegistrierungRestore default registry access

Zum Wiederherstellen des standardmäßigen Zugriffs auf die Registrierung müssen Sie alle konfigurierten Netzwerkregeln entfernen.To restore the registry to allow access by default, remove any network rules that are configured. Stellen Sie dann „Zugriff zulassen“ wieder als Standardaktion ein.Then set the default action to allow access. Die Schritte werden jeweils bei Verwendung der Azure-Befehlszeilenschnittstelle (CLI) bzw. des Azure-Portals erläutert.Equivalent steps using the Azure CLI and Azure portal are provided.

Wiederherstellen des Standardzugriffs auf die Registrierung – Befehlszeilenschnittstelle (CLI)Restore default registry access - CLI

Entfernen von NetzwerkregelnRemove network rules

Um eine Liste der Netzwerkregeln anzuzeigen, die für Ihre Registrierung konfiguriert wurden, führen Sie den folgenden Befehl az acr network-rule list aus:To see a list of network rules configured for your registry, run the following az acr network-rule list command:

az acr network-rule list--name mycontainerregistry 

Führen Sie für jede konfigurierte Regel den Befehl az acr network-rule remove aus, um die Regel zu entfernen.For each rule that is configured, run the az acr network-rule remove command to remove it. Beispiel:For example:

# Remove a rule that allows access for a subnet. Substitute the subnet resource ID.

az acr network-rule remove \
  --name mycontainerregistry \
  --subnet /subscriptions/ \
  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myDockerVMVNET/subnets/myDockerVMSubnet

# Remove a rule that allows access for an IP address or CIDR range such as 23.45.1.0/24.

az acr network-rule remove \
  --name mycontainerregistry \
  --ip-address 23.45.1.0/24

Zugriff zulassenAllow access

Ersetzen Sie im folgenden Befehl az acr update den Wert durch den Namen Ihrer Registrierung:Substitute the name of your registry in the following az acr update command:

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

Wiederherstellen des Standardzugriffs auf die Registrierung – Azure-PortalRestore default registry access - portal

  1. Navigieren Sie im Azure-Portal zu Ihrer Containerregistrierung, und wählen Sie Firewall und virtuelle Netzwerke aus.In the portal, navigate to your container registry and select Firewall and virtual networks.
  2. Wählen Sie unter Virtuelle Netzwerke jedes virtuelle Netzwerk und dann Entfernen aus.Under Virtual networks, select each virtual network, and then select Remove.
  3. Wählen Sie unter Firewall jeden Adressbereich und dann das Symbol „Löschen“ aus.Under Firewall, select each address range, and then select the Delete icon.
  4. Wählen Sie unter Zugriff erlauben von den Eintrag Alle Netzwerke aus.Under Allow access from, select All networks.
  5. Wählen Sie Speichern aus.Select Save.

Bereinigen von RessourcenClean up resources

Wenn Sie alle Azure-Ressourcen in der gleichen Ressourcengruppe erstellt haben und sie nicht mehr benötigen, können Sie die Ressourcen optional mit einem einzigen Befehl az group delete löschen:If you created all the Azure resources in the same resource group and no longer need them, you can optionally delete the resources by using a single az group delete command:

az group delete --name myResourceGroup

Navigieren Sie zum Bereinigen von Ressourcen im Azure-Portal zu Ihrer Ressourcengruppe (z.B.„myResourceGroup“).To clean up your resources in the portal, navigate to the myResourceGroup resource group. Klicken Sie nach dem Laden der Ressourcengruppe auf Ressourcengruppe löschen, um die Ressourcengruppe und die dort gespeicherten Ressourcen zu entfernen.Once the resource group is loaded, click on Delete resource group to remove the resource group and the resources stored there.

Nächste SchritteNext steps

In diesem Artikel wurden verschiedene Ressourcen und Features des virtuellen Netzwerks erläutert, wenn auch nur in Kürze.Several virtual network resources and features were discussed in this article, though briefly. In der Dokumentation zu Azure Virtual Network wird ausführlich auf diese Themen eingegangen:The Azure Virtual Network documentation covers these topics extensively: