Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dedizierte Datenendpunkte in Azure Container Registry stellen bereichsgebundene, registrierungsspezifische URLs für Downloads von Containerimage-Layern bereit und ersetzen die standardmäßigen Azure Storage-Konto-Wildcard-Endpunkte (*.blob.core.windows.net). Dies ermöglicht strenge Clientfirewallregeln und verringert Datenexfiltrationsrisiken.
Hinweis
Dedizierte Datenendpunkte werden nur während Layer-Blob-Downloads (Pulls) verwendet. Beim Hochladen von Blobs bei Pushvorgängen werden diese über den Anmeldeserver (globaler oder regionaler Endpunkt) hochgeladen, nicht über den dedizierten Datenendpunkt.
Das Feature für dedizierte Datenendpunkte ist für Registrierungen auf der Premium-Dienstebene verfügbar.
Dedizierte Datenendpunkte sind auch voraussetzung für IPv6 Dual-Stack-Endpunkte. Eine Registrierung muss dedizierte Datenendpunkte aktiviert haben, bevor ihr Endpunktprotokoll auf IPv4AndIPv6 festgelegt werden kann.
So funktionieren Downloads von Containerimages: Loginserver und 307-Umleitung zu Datenendpunkten
Das Abrufen von Inhalten aus einer Registrierung umfasst zwei Arten von Endpunkten:
Anmeldeserverendpunkt – wird für Authentifizierung und Inhaltsermittlung verwendet. Der Anmeldeserver kann eine der folgenden sein:
- Der globale Endpunkt (
contoso.azurecr.io) – ACR leitet Anforderungen automatisch an das Georeplikat mit dem besten Netzwerkleistungsprofil für den Client weiter. Weitere Informationen finden Sie unter Georeplikation. - Ein regionaler Endpunkt (
contoso.eastus.geo.azurecr.io) – leitet Anforderungen direkt an ein bestimmtes Georeplikat weiter, wobei Azure verwaltetes Routing umgangen wird. Weitere Informationen finden Sie unter Georeplikation.
Wenn Sie einen Befehl wie
docker pull contoso.azurecr.io/hello-world(globaler Endpunkt) oderdocker pull contoso.eastus.geo.azurecr.io/hello-world(regionaler Endpunkt) ausführen, authentifiziert sich der Client beim Anmeldeserver und handelt aus, welche Ebenen das angeforderte Artefakt bilden.- Der globale Endpunkt (
Datenendpunkt – wird zum Herunterladen der tatsächlichen Bildschicht-BLOBs verwendet. Nachdem der Anmeldeserver die erforderlichen Ebenen identifiziert hat, leitet er den Client um, um sie von einem Datenendpunkt herunterzuladen.
ACR verwaltet die zugrunde liegenden Speicherkonten für Datenendpunkte. Zu den Vorteilen gehören Lastenausgleich, Inhaltsaufteilung über Speicherkonten für eine höhere gleichzeitige Bereitstellung und Unterstützung für mehrere Regionen mit Georeplikation.
Ohne dedizierte Datenendpunkte
Ohne dedizierte Daten-Endpunkte gibt der Anmeldeserver eine 307-Weiterleitung für das Herunterladen von Layer-Blobs in Azure-Speicherkonten unter Verwendung von Platzhalter-URLs (*.blob.core.windows.net) aus.
Verwenden des globalen Endpunkts (von Azure verwaltetes Routing):
Verwenden eines regionalen Endpunkts (clientspezifisches Routing):
In beiden Fällen müssen Sie, um diese Downloads über eine Firewall zuzulassen, *.blob.core.windows.net zulassen – eine breite Wildcard, die alle Azure Speicherkonten abdeckt, nicht nur den Speicher Ihrer Registrierung.
Mit dedizierten Datenendpunkten
Wenn dedizierte Datenendpunkte aktiviert sind, gibt der Loginserver für den Download von Layer-Blobs eine 307-Umleitung zu registrierungsspezifischen, regionsgebundenen URLs aus.
Verwenden des globalen Endpunkts (von Azure verwaltetes Routing):
Verwenden eines regionalen Endpunkts (clientspezifisches Routing):
Jedes Georeplikat erhält einen eigenen dedizierten Datenendpunkt mithilfe des Musters [registry].[region].data.azurecr.io. Ihre Firewallregeln können auf diese spezifischen Endpunkte statt auf einen breiten Wildcardbereich festgelegt werden.
Warum dedizierte Datenendpunkte wichtig sind
Datenexfiltrationsrisiko ohne dedizierte Datenendpunkte
Ohne dedizierte Datenendpunkte müssen Firewallregeln Layerdownloads zulassen.*.blob.core.windows.net Dieser umfassende Platzhalter ermöglicht den Zugriff auf alle Azure-Speicherkonten – nicht nur auf den Speicher Ihrer Registrierung. Ein ungültiger Akteur kann Code bereitstellen, der Daten in ein beliebiges Azure Speicherkonto schreibt, das über das Netzwerk erreichbar ist.
Bereichsbezogene Firewallregeln mit dedizierten Datenendpunkten
Mithilfe dedizierter Datenendpunkte können Sie den allgemeinen Platzhalter *.blob.core.windows.net durch bereichsbezogene Firewallregeln für die Datenendpunkte Ihrer jeweiligen Registrierung ersetzen. Sie können beispielsweise nur contoso.eastus.data.azurecr.io und contoso.westeurope.data.azurecr.io in Ihrer Firewallkonfiguration zulassen , indem Sie den Zugriff auf den Speicher Ihrer Registrierung einschränken und Exfiltration auf andere Speicherkonten blockieren.
Dies gilt für Clients, die eine Verbindung von lokalen Hosts, IoT-Geräten, benutzerdefinierten Build-Agents oder einer Umgebung herstellen, in der private Endpunkte keine Option sind.
Dedizierte Datenendpunkte mit Georeplikation
Bei georeplizierten Registrierungen erhält jedes Georeplikat einen eigenen dedizierten Datenendpunkt. Das URL-Muster lautet [registry].[region].data.azurecr.io.
Wenn Sie ein Bild vom globalen Endpunkt abrufen, leitet ACR die Anforderung an das Georeplikat mit dem besten Netzwerkleistungsprofil für den Client weiter. Das bereitstellende Georeplikat gibt dann für Downloads von Layer-Blobs eine 307-Umleitung an den eigenen dedizierten Datenendpunkt des bereitstellenden Georeplikats aus. Die Umleitung bleibt immer innerhalb derselben Region wie die bereitstellende Geo-Replik – ein an die Geo-Replik in „USA, Osten“ geleiteter Pull wird immer zu contoso.eastus.data.azurecr.io umgeleitet, niemals zu einem dedizierten Datenendpunkt in einer anderen Region.
Dies gilt auch für die Verwendung regionaler Endpunkte. Ein Abruf von einem regionalen Endpunkt (contoso.eastus.geo.azurecr.io) leitet Downloads von Layern an contoso.eastus.data.azurecr.io um – nie regionsübergreifend. Dies bedeutet, dass Ihre Firewallregeln auf einzelne Regionen begrenzt werden können.
Aktivieren dedizierter Datenendpunkte
Hinweis
Wenn Sie zuvor den Clientfirewallzugriff auf die vorhandenen *.blob.core.windows.net Endpunkte konfiguriert haben, wirkt sich der Wechsel zu dedizierten Datenendpunkten auf die Clientkonnektivität aus, was zu Pullfehlern führt. Um sicherzustellen, dass Clients über konsistenten Zugriff verfügen, fügen Sie die neuen Datenendpunktregeln zu den Clientfirewallregeln hinzu. Aktivieren Sie nach Abschluss des Vorgangs dedizierte Datenendpunkte für Ihre Registrierungen mithilfe der Azure CLI oder anderer Tools.
Während des Abrufens von Images, wenn dedizierte Datenendpunkte aktiviert sind, gibt ACR dem Client bei jedem Abrufen einer Imageebene einen temporären Downloadlink. Dieser Link verweist auf den dedizierten Datenendpunkt und ist mindestens 20 und höchstens 30 Minuten lang gültig. Er stellt eine sichere, kurzzeitig gültige URL zum Herunterladen der Ebene bereit. Nachdem der Link abgelaufen ist, fordert der Client beim Abrufen von Bildern einfach eine neue Ebene an, wenn er eine andere Ebene herunterladen muss.
Sie können dedizierte Datenendpunkte über das Azure-Portal oder die Azure CLI aktivieren. Die Datenendpunkte folgen einem regionalen Muster, <registry-name>.<region>.data.azurecr.io. In einer georeplizierten Registrierung werden durch das Aktivieren von Datenendpunkten Endpunkte in allen Replikatregionen aktiviert.
Aktivieren von dedizierten Datenendpunkten mithilfe des Azure-Portals
- Wechseln Sie zu Ihrer Containerregistrierung.
- Wählen Sie im Dienstmenü unter Einstellungen die Option Netzwerk aus.
- Aktivieren Sie im öffentlichen Zugriff das Kontrollkästchen " Dedizierten Datenendpunkt verwenden ".
- Wählen Sie "Speichern" aus.
Nun werden die Datenendpunkte im Azure-Portal angezeigt.
Aktivieren von dedizierten Datenendpunkten mithilfe der Azure CLI
az acr update --name myregistry --data-endpoint-enabled
Um die Datenendpunkte anzuzeigen, verwenden Sie den Befehl az acr show-endpoints:
az acr show-endpoints --name myregistry
Diese Beispielausgabe zeigt das vollständige Endpunktschema, einschließlich dedizierter Datenendpunkte und regionaler Endpunkte (sofern aktiviert):
{
"loginServer": "myregistry.azurecr.io",
"dataEndpoints": [
{
"region": "eastus",
"endpoint": "myregistry.eastus.data.azurecr.io"
},
{
"region": "westus",
"endpoint": "myregistry.westus.data.azurecr.io"
}
],
"regionalEndpoints": [
{
"region": "eastus",
"endpoint": "myregistry.eastus.geo.azurecr.io"
},
{
"region": "westus",
"endpoint": "myregistry.westus.geo.azurecr.io"
}
]
}
Nachdem Sie dedizierte Datenendpunkte für Ihre Registrierung eingerichtet haben, können Sie Clientfirewall-Zugriffsregeln für die Datenendpunkte aktivieren. Aktivieren Sie die Zugriffsregeln für den Datenendpunkt für alle erforderlichen Registrierungsregionen. Weitere Informationen finden Sie unter Configure-Regeln für den Zugriff auf eine Azure Containerregistrierung hinter einer Firewall.
Einschränken des Netzwerkzugriffs auf Datenendpunkte
Nachdem Sie dedizierte Datenendpunkte aktiviert haben, können Sie einschränken, wie Clients diese Endpunkte erreichen. Es gibt zwei Ansätze:
Azure private Endpunkte (virtuelles Netzwerk)
Private Azure-Endpunkte sind die sicherste Möglichkeit, den Netzwerkzugriff von Clients in einem virtuellen Netzwerk auf die Registrierung zu steuern. Wenn private Endpunkte konfiguriert sind, können sowohl der Anmeldeserver (globale Endpunkte als auch regionale Endpunkte) und Datenendpunkte über private IPs, die einer privaten Endpunktressource im virtuellen Netzwerk zugewiesen sind, im virtuellen Netzwerk zugänglich sein. Kunden können auch den öffentlichen Netzwerkzugriff in der Registrierung deaktivieren, um sicherzustellen, dass dedizierte Datenendpunkte nur über den privaten Endpunkt erreichbar sind.
Wenn eine Registrierung mindestens einen privaten Endpunkt konfiguriert hat, werden dedizierte Datenendpunkte automatisch aktiviert. Weitere Informationen finden Sie unter "Privates Verbinden mit einer Registrierung über ein virtuelles Netzwerk mithilfe privater Endpunkte".
Überlegungen zur IP-Adresse des privaten Endpunkts
Jede private Endpunktressource verwendet private IP-Adressen aus dem Subnetz des virtuellen Netzwerks. Planen Sie ihre Subnetzgröße entsprechend:
-
1 IP für den globalen Endpunkt (
myregistry.azurecr.io) -
1 IP pro Geo-Replikat für dedizierte Datenendpunkte (
myregistry.<region>.data.azurecr.io) – automatisch aktiviert, wenn ein privater Endpunkt konfiguriert ist -
1 IP pro Georeplikat für regionale Endpunkte (
myregistry.<region>.geo.azurecr.io) – nur, wenn regionale Endpunkte in der Registrierung aktiviert sind
Beispielsweise erfordert eine Registrierung mit 3 Georeplikaten und aktivierten regionalen Endpunkten 1 (global) + 3 (Daten) + 3 (regional) = 7 private IP-Adressen pro private Endpunktressource. Weitere Informationen finden Sie unter "Privates Verbinden mit einer Registrierung über ein virtuelles Netzwerk mithilfe privater Endpunkte".
Clientfirewallregeln
Wenn private Endpunkte keine Option sind, konfigurieren Sie Ihre Clientfirewallregeln, um den Zugriff auf die dedizierten Datenendpunkte für jede erforderliche Registrierungsregion zu ermöglichen. Weitere Informationen finden Sie unter Configure-Regeln für den Zugriff auf eine Azure Containerregistrierung hinter einer Firewall.
Nächste Schritte
- Erfahren Sie mehr über georeplikation und wie dedizierte Datenendpunkte mit regionalen Endpunkten funktionieren.
- Erfahren Sie, wie Sie IPv6-Endpunkte mit dualen Stapeln aktivieren, die auf dedizierten Datenendpunkten basieren.
- Eine vollständige Liste der Endpunkttypen, URL-Formate und CLI-Flags finden Sie in der Azure Container Registry-Endpunktreferenz.