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.
- 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
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.io
of 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.net
of 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:
- Navigeer naar het containerregister.
- Selecteer Netwerken>Openbare toegang.
- 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. 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
Meer informatie over best practices van 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