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. En Azure-IoT Edge-enhet bakom en brandvägg eller proxyserver kan till exempel 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 push-överföra 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 register – Autentiserings- och registerhanteringsåtgärder hanteras via registrets offentliga REST API-slutpunkt. Den här slutpunkten är namnet på inloggningsservern för registret. Exempel: myregistry.azurecr.io

    • Register-REST API-slutpunkt 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 får åtkomst till avbildningslager i ett Azure-containerregister gör den begäranden med hjälp av en slutpunkt för lagringskontot 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.

Anteckning

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 FQDN för registret

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

  • Både inloggnings-URL:en och dataslutpunkten är tillgängliga inifrå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 du konfigurerar brandväggsregler.
  • 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:en 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.

Om du vill hitta DE IP-intervall för ACR REST-slutpunkter som du behöver tillåta åtkomst för söker du efter AzureContainerRegistry i JSON-filen.

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 omfattar konfiguration av regler för nätverkssäkerhetsgrupper i ett virtuellt Azure-nätverk eller om du använder Azure Firewall använder du tjänsttaggenAzureContainerRegistry 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 efter 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. Använd tjänsttaggenAzureContainerRegistry för att förenkla skapandet av Azure-nätverksregler. 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 åtkomsten till klientbrandväggen 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 klientens brandväggsregler. 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 Azure Container Registry tjänstnivåer.

Du kan aktivera dedikerade dataslutpunkter med hjälp av Azure Portal eller Azure CLI. Dataslutpunkterna följer ett regionalt mönster, <registry-name>.<region>.data.azurecr.io. I ett geo-replikerat register aktiverar 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äljOffentlig å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 registerregioner som krävs.

Konfigurera klientbrandväggsregler för MCR

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

Nästa steg