Regels configureren voor toegang tot een Azure-containerregister achter een firewall

In dit artikel wordt uitgelegd hoe u regels op uw firewall configureert om toegang tot een Azure-containerregister toe te staan. Een Azure IoT Edge-apparaat achter een firewall of proxyserver moet bijvoorbeeld toegang hebben tot een containerregister om een containerinstallatiekopie op te halen. Of een vergrendelde server in een on-premises netwerk heeft mogelijk toegang nodig om een installatiekopieën te pushen.

Als u in plaats daarvan binnenkomende netwerktoegang tot een containerregister alleen binnen een virtueel Azure-netwerk wilt configureren, raadpleegt u Azure Private Link configureren voor een Azure-containerregister.

Over registereindpunten

Als u installatiekopieën of andere artefacten naar een Azure-containerregister wilt ophalen of pushen, moet een client zoals een Docker-daemon via HTTPS communiceren met twee verschillende eindpunten. Voor clients die toegang hebben tot een register van achter een firewall, moet u toegangsregels configureren voor beide eindpunten. Beide eindpunten worden bereikt via poort 443.

  • Rest API-eindpunt voor register : verificatie- en registerbeheerbewerkingen worden afgehandeld via het openbare REST API-eindpunt van het register. Dit eindpunt is de naam van de aanmeldingsserver van het register. Voorbeeld: myregistry.azurecr.io

    • Rest API-eindpunt voor het register voor certificaten : azure-containerregister gebruikt een SSL-certificaat met jokertekens voor alle subdomeinen. Wanneer u verbinding maakt met het Azure-containerregister met behulp van SSL, moet de client het certificaat voor de TLS-handshake kunnen downloaden. In dergelijke gevallen azurecr.io moet ook toegankelijk zijn.
  • Opslageindpunt (gegevens): Azure wijst blobopslag toe in Azure Storage-accounts namens elk register om de gegevens voor containerinstallatiekopieën en andere artefacten te beheren. Wanneer een client toegang krijgt tot installatiekopieën in een Azure-containerregister, worden aanvragen gedaan met behulp van een opslagaccounteindpunt van het register.

Als uw register geo-gerepliceerd is, moet een client mogelijk communiceren met het gegevenseindpunt in een specifieke regio of in meerdere gerepliceerde regio's.

Toegang tot REST en gegevenseindpunten toestaan

  • REST-eindpunt : toegang tot de volledig gekwalificeerde registeraanmeldingsservernaam, <registry-name>.azurecr.ioof een gekoppeld IP-adresbereik toestaan
  • Opslageindpunt (gegevens): hiermee staat u toegang toe tot alle Azure Blob Storage-accounts met behulp van het jokerteken *.blob.core.windows.netof een gekoppeld IP-adresbereik.

Notitie

Azure Container Registry introduceert toegewezen gegevenseindpunten, zodat u de firewallregels van de client voor uw registeropslag nauwkeurig kunt bepalen. Schakel optioneel gegevenseindpunten in in alle regio's waar het register zich bevindt of wordt gerepliceerd, met behulp van het formulier <registry-name>.<region>.data.azurecr.io.

Over register-FQDN's

Het register heeft twee FQDN's, de aanmeldings-URL en het gegevenseindpunt.

  • Zowel de aanmeldings-URL als het gegevenseindpunt zijn toegankelijk vanuit het virtuele netwerk, met behulp van privé-IP's door een privékoppeling in te schakelen.
  • Een register dat geen gegevenseindpunten gebruikt, moet toegang hebben tot de gegevens van een eindpunt van het formulier *.blob.core.windows.net en biedt niet de vereiste isolatie bij het configureren van firewallregels.
  • Een register waarvoor een private link is ingeschakeld, krijgt automatisch het toegewezen gegevenseindpunt.
  • Er wordt per regio een toegewezen gegevenseindpunt voor een register gemaakt.
  • De aanmeldings-URL blijft hetzelfde, ongeacht of het gegevenseindpunt is ingeschakeld of uitgeschakeld.

Toegang toestaan per IP-adresbereik

Als uw organisatie beleidsregels heeft om alleen toegang tot specifieke IP-adressen of adresbereiken toe te staan, downloadt u Azure IP-bereiken en servicetags – openbare cloud.

Als u de IP-bereiken van het ACR REST-eindpunt wilt vinden waarvoor u toegang moet toestaan, zoekt u naar AzureContainerRegistry in het JSON-bestand.

Belangrijk

IP-adresbereiken voor Azure-services kunnen worden gewijzigd en updates worden wekelijks gepubliceerd. Download het JSON-bestand regelmatig en breng de benodigde updates aan in uw toegangsregels. Als u in uw scenario regels voor netwerkbeveiligingsgroepen configureert in een virtueel Azure-netwerk of als u Azure Firewall gebruikt, gebruikt u in plaats daarvan de servicetagAzureContainerRegistry.

REST IP-adressen voor alle regio's

{
  "name": "AzureContainerRegistry",
  "id": "AzureContainerRegistry",
  "properties": {
    "changeNumber": 10,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.66.140.72/29",
    [...]

REST IP-adressen voor een specifieke regio

Zoek naar de specifieke regio, zoals AzureContainerRegistry.AustraliaEast.

{
  "name": "AzureContainerRegistry.AustraliaEast",
  "id": "AzureContainerRegistry.AustraliaEast",
  "properties": {
    "changeNumber": 1,
    "region": "australiaeast",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.70.72.136/29",
    [...]

OPSLAG-IP-adressen voor alle regio's

{
  "name": "Storage",
  "id": "Storage",
  "properties": {
    "changeNumber": 19,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "13.65.107.32/28",
    [...]

OPSLAG-IP-adressen voor specifieke regio's

Zoek naar de specifieke regio, zoals Storage.AustraliaCentral.

{
  "name": "Storage.AustraliaCentral",
  "id": "Storage.AustraliaCentral",
  "properties": {
    "changeNumber": 1,
    "region": "australiacentral",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "52.239.216.0/23"
    [...]

Toegang per servicetag toestaan

Gebruik in een virtueel Azure-netwerk netwerkbeveiligingsregels om verkeer van een resource zoals een virtuele machine naar een containerregister te filteren. Gebruik de servicetagAzureContainerRegistry om het maken van de Azure-netwerkregels te vereenvoudigen. Een servicetag vertegenwoordigt een groep IP-adresvoorvoegsels voor toegang tot een Azure-service wereldwijd of per Azure-regio. De tag wordt automatisch bijgewerkt wanneer adressen worden gewijzigd.

Maak bijvoorbeeld een uitgaande netwerkbeveiligingsgroepregel met als doel AzureContainerRegistry om verkeer naar een Azure-containerregister toe te staan. Als u alleen toegang tot de servicetag wilt toestaan in een specifieke regio, geeft u de regio op in de volgende indeling: AzureContainerRegistry. [regionaam].

Toegewezen gegevenseindpunten inschakelen

Waarschuwing

Als u eerder clientfirewalltoegang tot de bestaande *.blob.core.windows.net eindpunten hebt geconfigureerd, heeft het overschakelen naar toegewezen gegevenseindpunten invloed op de clientconnectiviteit, waardoor pull-fouten optreden. Om ervoor te zorgen dat clients consistente toegang hebben, voegt u de nieuwe regels voor gegevenseindpunten toe aan de firewallregels van de client. Wanneer dit is voltooid, schakelt u toegewezen gegevenseindpunten in voor uw registers met behulp van de Azure CLI of andere hulpprogramma's.

Toegewezen gegevenseindpunten zijn een optionele functie van de Servicelaag van het Premium-containerregister . Zie Azure Container Registry servicelagen voor meer informatie over registerservicelagen en limieten.

U kunt toegewezen gegevenseindpunten inschakelen met behulp van de Azure Portal of de Azure CLI. De gegevenseindpunten volgen een regionaal patroon, <registry-name>.<region>.data.azurecr.io. Als u gegevenseindpunten inschakelt in een geo-gerepliceerd register, worden eindpunten in alle replicaregio's ingeschakeld.

Portal

Gegevenseindpunten inschakelen met behulp van de portal:

  1. Navigeer naar het containerregister.
  2. Selecteer Netwerken>Openbare toegang.
  3. Schakel het selectievakje Toegewezen gegevenseindpunt inschakelen in.
  4. Selecteer Opslaan.

Het gegevenseindpunt of de eindpunten worden weergegeven in de portal.

Toegewezen gegevenseindpunten in de portal

Azure CLI

Als u gegevenseindpunten wilt inschakelen met behulp van de Azure CLI, gebruikt u Azure CLI versie 2.4.0 of hoger. Zie Azure CLI installeren als u de CLI wilt installeren of een upgrade wilt uitvoeren.

Met de volgende opdracht az acr update schakelt u toegewezen gegevenseindpunten in een register myregistry in.

az acr update --name myregistry --data-endpoint-enabled

Als u de gegevenseindpunten wilt weergeven, gebruikt u de opdracht az acr show-endpoints :

az acr show-endpoints --name myregistry

Uitvoer voor demonstratiedoeleinden toont twee regionale eindpunten

{
    "loginServer": "myregistry.azurecr.io",
    "dataEndpoints": [
        {
            "region": "eastus",
            "endpoint": "myregistry.eastus.data.azurecr.io",
        },
        {
            "region": "westus",
            "endpoint": "myregistry.westus.data.azurecr.io",
        }
    ]
}

Nadat u toegewezen gegevenseindpunten voor uw register hebt ingesteld, kunt u toegangsregels voor de clientfirewall inschakelen voor de gegevenseindpunten. Toegangsregels voor gegevenseindpunten inschakelen voor alle vereiste registerregio's.

Firewallregels voor clients configureren voor MCR

Als u toegang wilt krijgen tot Microsoft Container Registry (MCR) achter een firewall, raadpleegt u de richtlijnen voor het configureren van firewallregels voor mcr-clients. MCR is het primaire register voor alle door Microsoft gepubliceerde Docker-installatiekopieën, zoals Windows Server-installatiekopieën.

Volgende stappen