Dela via


Azure Container Registry som minimerar dataexfiltrering med dedikerade dataslutpunkter

Azure Container Registry introducerar dedikerade dataslutpunkter. Funktionen möjliggör strikt begränsade klientbrandväggsregler för specifika register, vilket minimerar problem med dataexfiltrering.

Funktionen dedikerade dataslutpunkter är tillgänglig på Premium-tjänstnivån . Prisinformation finns i container-registry-pricing.

Att hämta innehåll från ett register omfattar två slutpunkter:

Registerslutpunkten, som ofta kallas inloggnings-URL, används för autentisering och innehållsidentifiering. Ett kommando som docker pulls contoso.azurecr.io/hello-world gör en REST-begäran som autentiserar och förhandlar om lagren, som representerar den begärda artefakten. Dataslutpunkter betjänar blobar som representerar innehållslager.

Diagram för att illustrera slutpunkter.

Registerhanterade lagringskonton

Azure Container Registry är en tjänst för flera klientorganisationer. Registertjänsten hanterar lagringskontona för dataslutpunkter. Fördelarna med hanterade lagringskonton är belastningsutjämning, omtvistad innehållsdelning, flera kopior för högre samtidig innehållsleverans och stöd för flera regioner med geo-replikering.

Stöd för virtuella Azure Private Link-nätverk möjliggör privata slutpunkter för den hanterade registertjänsten från Azure Virtual Networks. I det här fallet är både registret och dataslutpunkterna tillgängliga från det virtuella nätverket med hjälp av privata IP-adresser.

När både den hanterade registertjänsten och lagringskontona skyddas för åtkomst från det virtuella nätverket tas de offentliga slutpunkterna bort.

Diagram för att illustrera stöd för virtuella nätverk.

Tyvärr är virtuell nätverksanslutning inte alltid ett alternativ.

Viktigt!

Azure Private Link är det säkraste sättet att styra nätverksåtkomsten mellan klienter och registret eftersom nätverkstrafiken är begränsad till Azure Virtual Network med hjälp av privata IP-adresser. När Private Link inte är ett alternativ kan dedikerade dataslutpunkter ge säker kunskap om vilka resurser som är tillgängliga från varje klient.

Brandväggsregler för klient och dataexfiltreringsrisker

Klientbrandväggsregler begränsar åtkomsten till specifika resurser. Brandväggsreglerna gäller vid anslutning till ett register från lokala värdar, IoT-enheter och anpassade byggagenter. Reglerna gäller även när Private Link-stödet inte är ett alternativ.

Diagram för att illustrera brandväggsregler för klienten.

När kunderna låste sina konfigurationer av klientbrandväggen insåg de att de måste skapa en regel med jokertecken för alla lagringskonton, vilket ger upphov till problem med dataexfiltrering. En dålig aktör kan distribuera kod som skulle kunna skriva till deras lagringskonto.

Diagram som illustrerar risker med exfiltrering av klientdata.

För att hantera problem med dataexfiltrering gör Azure Container Registry dedikerade dataslutpunkter tillgängliga.

Dedikerade dataslutpunkter

Dedikerade dataslutpunkter hjälper till att hämta lager från Azure Container Registry-tjänsten, med fullständigt kvalificerade domännamn som representerar registerdomänen.

Eftersom alla register kan bli geo-replikerade används ett regionalt mönster: [registry].[region].data.azurecr.io.

I Contoso-exemplet läggs flera regionala dataslutpunkter till som stöder den lokala regionen med en närliggande replik.

Med dedikerade dataslutpunkter blockeras den dåliga aktören från att skriva till andra lagringskonton.

Diagram som illustrerar contoso-exempel med dedikerade dataslutpunkter.

Aktivera dedikerade dataslutpunkter

Kommentar

Om du byter till dedikerade dataslutpunkter påverkas klienter som har konfigurerat brandväggsåtkomst till befintliga *.blob.core.windows.net slutpunkter, vilket orsakar pull-fel. För att säkerställa att klienterna har konsekvent åtkomst lägger du till de nya dataslutpunkterna i klientbrandväggsreglerna. När det är klart kan befintliga register aktivera dedikerade dataslutpunkter via az cli.

Om du vill använda Azure CLI-stegen i den här artikeln krävs Azure CLI version 2.4.0 eller senare. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI eller köra i Azure Cloud Shell.

az acr update --name contoso --data-endpoint-enabled
az acr show-endpoints --name contoso

Exempel på utdata:

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

Nästa steg