Dela via


Konfigurera regler för åtkomst till ett Azure-containerregister bakom en brandvägg

Den här artikeln beskriver hur du konfigurerar regler i brandväggen för att tillåta åtkomst till ett Azure-containerregister. Till exempel kan en Azure IoT Edge-enhet bakom en brandvägg eller proxyserver behöva komma åt ett containerregister för att hämta en containeravbildning. Eller så kan en låst server i ett lokalt nätverk behöva åtkomst för att push-överföra en avbildning.

Om du i stället bara vill konfigurera inkommande nätverksåtkomst till ett containerregister i ett virtuellt Azure-nätverk läser du Konfigurera Azure Private Link för ett Azure-containerregister.

Om registerslutpunkter

För att hämta eller skicka avbildningar eller andra artefakter till ett Azure-containerregister måste en klient, till exempel en Docker-daemon, interagera via HTTPS med två distinkta slutpunkter. För klienter som har åtkomst till ett register bakom en brandvägg måste du konfigurera åtkomstregler för båda slutpunkterna. Båda slutpunkterna nås via port 443.

  • REST API-slutpunkt för registret – Autentiserings- och registerhanteringsåtgärder hanteras via registrets offentliga REST API-slutpunkt. Den här slutpunkten är inloggningsservernamnet för registret. Exempel: myregistry.azurecr.io

    • REST API-slutpunkt för register för certifikat – Azure Container Registry använder ett SSL-certifikat med jokertecken för alla underdomäner . När du ansluter till Azure-containerregistret med hjälp av SSL måste klienten kunna ladda ned certifikatet för TLS-handskakningen. I sådana fall azurecr.io måste också vara tillgänglig.
  • Lagringsslutpunkt (data) – Azure allokerar bloblagring i Azure Storage-konton för varje register för att hantera data för containeravbildningar och andra artefakter. När en klient kommer åt avbildningslager i ett Azure-containerregister gör den begäranden med hjälp av en lagringskontoslutpunkt som tillhandahålls av registret.

Om registret är geo-replikerat kan en klient behöva interagera med dataslutpunkten i en viss region eller i flera replikerade regioner.

Tillåt åtkomst till REST- och dataslutpunkter

  • REST-slutpunkt – Tillåt åtkomst till det fullständigt kvalificerade namnet på registerinloggningsservern, <registry-name>.azurecr.ioeller ett associerat IP-adressintervall
  • Lagringsslutpunkt (data) – Tillåt åtkomst till alla Azure Blob Storage-konton med jokertecknet *.blob.core.windows.neteller ett associerat IP-adressintervall.

Kommentar

Azure Container Registry introducerar dedikerade dataslutpunkter så att du kan begränsa klientbrandväggsreglerna för din registerlagring. Du kan också aktivera dataslutpunkter i alla regioner där registret finns eller replikeras med hjälp av formuläret <registry-name>.<region>.data.azurecr.io.

Om register-FQDN:n

Registret har två FQDN:er, inloggnings-URL :en och dataslutpunkten.

  • Både inloggnings-URL :en och dataslutpunkten är tillgängliga från det virtuella nätverket, med hjälp av privata IP-adresser genom att aktivera en privat länk.
  • Ett register som inte använder dataslutpunkter måste komma åt data från en slutpunkt i formuläret *.blob.core.windows.net och tillhandahåller inte den isolering som krävs när brandväggsregler konfigureras.
  • Ett register med en privat länk aktiverad hämtar den dedikerade dataslutpunkten automatiskt.
  • En dedikerad dataslutpunkt skapas per region för ett register.
  • Inloggnings-URL förblir densamma oavsett om dataslutpunkten är aktiverad eller inaktiverad.

Tillåt åtkomst efter IP-adressintervall

Om din organisation har principer för att endast tillåta åtkomst till specifika IP-adresser eller adressintervall laddar du ned Azure IP-intervall och tjänsttaggar – offentligt moln.

Sök efter AzureContainerRegistry i JSON-filen för att hitta DE IP-intervall för ACR REST-slutpunkter som du behöver för att tillåta åtkomst.

Viktigt!

IP-adressintervall för Azure-tjänster kan ändras och uppdateringar publiceras varje vecka. Ladda ned JSON-filen regelbundet och gör nödvändiga uppdateringar i dina åtkomstregler. Om ditt scenario handlar om att konfigurera regler för nätverkssäkerhetsgrupper i ett virtuellt Azure-nätverk eller om du använder Azure Firewall använder du azurecontainerregistry-tjänsttaggen i stället.

REST IP-adresser för alla regioner

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

REST IP-adresser för en viss region

Sök efter den specifika regionen, till exempel AzureContainerRegistry.AustraliaEast.

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

Lagrings-IP-adresser för alla regioner

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

Lagrings-IP-adresser för specifika regioner

Sök efter den specifika regionen, till exempel Storage.AustraliaCentral.

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

Tillåt åtkomst via tjänsttagg

I ett virtuellt Azure-nätverk använder du nätverkssäkerhetsregler för att filtrera trafik från en resurs, till exempel en virtuell dator till ett containerregister. Om du vill förenkla skapandet av Azure-nätverksregler använder du tjänsttaggen AzureContainerRegistry. En tjänsttagg representerar en grupp MED IP-adressprefix för åtkomst till en Azure-tjänst globalt eller per Azure-region. Taggen uppdateras automatiskt när adresserna ändras.

Skapa till exempel en regel för utgående nätverkssäkerhetsgrupp med målet AzureContainerRegistry för att tillåta trafik till ett Azure-containerregister. Om du bara vill tillåta åtkomst till tjänsttaggen i en viss region anger du regionen i följande format: AzureContainerRegistry.[regionnamn].

Aktivera dedikerade dataslutpunkter

Varning

Om du tidigare har konfigurerat klientbrandväggens åtkomst till de befintliga *.blob.core.windows.net slutpunkterna kommer växling till dedikerade dataslutpunkter att påverka klientanslutningen, vilket orsakar pull-fel. För att säkerställa att klienterna har konsekvent åtkomst lägger du till de nya dataslutpunktsreglerna i klientbrandväggsreglerna. När du är klar aktiverar du dedikerade dataslutpunkter för dina register med hjälp av Azure CLI eller andra verktyg.

Dedikerade dataslutpunkter är en valfri funktion på tjänstnivån premiumcontainerregister . Information om registertjänstnivåer och gränser finns i Tjänstnivåer för Azure Container Registry.

Du kan aktivera dedikerade dataslutpunkter med hjälp av Azure-portalen eller Azure CLI. Dataslutpunkterna följer ett regionalt mönster, <registry-name>.<region>.data.azurecr.io. I ett geo-replikerat register möjliggör aktivering av dataslutpunkter slutpunkter i alla replikregioner.

Portalen

Så här aktiverar du dataslutpunkter med hjälp av portalen:

  1. Gå till containerregistret.
  2. Välj Offentlig åtkomst för> nätverk.
  3. Markera kryssrutan Aktivera dedikerad dataslutpunkt .
  4. Välj Spara.

Dataslutpunkten eller slutpunkterna visas i portalen.

Dedikerade dataslutpunkter i portalen

Azure CLI

Om du vill aktivera dataslutpunkter med hjälp av Azure CLI använder du Azure CLI version 2.4.0 eller senare. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Följande az acr update-kommando aktiverar dedikerade dataslutpunkter i ett register myregistry.

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

Om du vill visa dataslutpunkterna använder du kommandot az acr show-endpoints :

az acr show-endpoints --name myregistry

Utdata i demonstrationssyfte visar två regionala slutpunkter

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

När du har konfigurerat dedikerade dataslutpunkter för registret kan du aktivera åtkomstregler för klientbrandväggen för dataslutpunkterna. Aktivera åtkomstregler för dataslutpunkter för alla nödvändiga registerregioner.

Konfigurera klientbrandväggsregler för MCR

Om du behöver komma åt Microsoft Container Registry (MCR) bakom en brandvägg kan du läsa vägledningen för att konfigurera MCR-klientbrandväggsregler. MCR är det primära registret för alla Microsoft-publicerade Docker-avbildningar, till exempel Windows Server-avbildningar.

Nästa steg