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.
- 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
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.io
of een gekoppeld IP-adresbereik - Eindpunt voor opslag (gegevens): toegang tot alle Azure Blob Storage-accounts toestaan met behulp van het jokerteken
*.blob.core.windows.net
of 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:
- Navigeer naar het containerregister.
- Selecteer Openbare toegang tot netwerken>.
- Schakel het selectievakje Toegewezen gegevenseindpunt inschakelen in.
- Selecteer Opslaan.
Het gegevenseindpunt of de eindpunten worden weergegeven 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
Meer informatie over best practices voor Azure voor netwerkbeveiliging
Meer informatie over beveiligingsgroepen in een virtueel Azure-netwerk
Meer informatie over het instellen van Private Link voor een containerregister
Meer informatie over toegewezen gegevenseindpunten voor Azure Container Registry