Share via


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 alleen binnen een virtueel Azure-netwerk de toegang tot een containerregister 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 communiceren via HTTPS met twee afzonderlijke eindpunten. Voor clients die toegang hebben tot een register 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 register voor certificaten : Azure Container Registry maakt gebruik van 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 deze ook toegankelijk zijn.
  • Eindpunt voor opslag (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 heeft tot installatiekopieënlagen in een Azure-containerregister, worden aanvragen gedaan met behulp van een opslagaccounteindpunt dat door het register wordt geleverd.

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 aanmeldingsservernaam van het register toestaan, <registry-name>.azurecr.ioof een gekoppeld IP-adresbereik
  • Eindpunt voor opslag (gegevens): toegang tot alle Azure Blob Storage-accounts toestaan met behulp van het jokerteken *.blob.core.windows.netof een gekoppeld IP-adresbereik.

Notitie

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

Over register-FQDN's

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 vanaf een eindpunt van het formulier *.blob.core.windows.net en biedt geen isolatie die is vereist bij het configureren van firewallregels.
  • Een register waarvoor een private link is ingeschakeld, haalt automatisch het toegewezen gegevenseindpunt op.
  • Er wordt per regio een toegewezen gegevenseindpunt gemaakt voor een register.
  • De aanmeldings-URL blijft hetzelfde, ongeacht of het gegevenseindpunt is ingeschakeld of uitgeschakeld.

Toegang per IP-adresbereik toestaan

Als uw organisatie beleid 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-adresbereiken van het ACR REST-eindpunt wilt vinden waarvoor u toegang wilt toestaan, zoekt u in het JSON-bestand naar AzureContainerRegistry .

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 uw scenario betrekking heeft op het configureren van regels voor netwerkbeveiligingsgroepen in een virtueel Azure-netwerk of als u Azure Firewall gebruikt, gebruikt u in plaats daarvan de servicetag AzureContainerRegistry.

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

IP-adressen voor opslag voor alle regio's

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

IP-adressen voor opslag 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, te filteren op een containerregister. Gebruik de AzureContainerRegistry-servicetag 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 regel voor een uitgaande netwerkbeveiligingsgroep met doel AzureContainerRegistry om verkeer naar een Azure-containerregister toe te staan. Als u alleen toegang tot de servicetag in een specifieke regio wilt toestaan, 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, wat pull-fouten veroorzaakt. Voeg de nieuwe regels voor gegevenseindpunten toe aan de firewallregels van de client om ervoor te zorgen dat clients consistente toegang hebben. Zodra dit is voltooid, schakelt u toegewezen gegevenseindpunten in voor uw registers met behulp van de Azure CLI of andere hulpprogramma's.

Toegewezen gegevenseindpunten is een optionele functie van de servicelaag Premium-containerregister . Zie Azure Container Registry-servicelagen voor informatie over registerservicelagen en -limieten.

U kunt toegewezen gegevenseindpunten inschakelen met behulp van 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 Openbare toegang tot netwerken>.
  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. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

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

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

Gebruik de opdracht az acr show-endpoints om de gegevenseindpunten weer te geven:

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 clientfirewalltoegangsregels voor de gegevenseindpunten inschakelen. Schakel toegangsregels voor gegevenseindpunten in voor alle vereiste registerregio's.

Clientfirewallregels 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