Udostępnij za pośrednictwem


Konfigurowanie reguł dostępu do rejestru kontenerów platformy Azure za zaporą

W tym artykule wyjaśniono, jak skonfigurować reguły w zaporze, aby zezwolić na dostęp do rejestru kontenerów platformy Azure. Na przykład urządzenie usługi Azure IoT Edge za zaporą lub serwerem proxy może wymagać uzyskania dostępu do rejestru kontenerów w celu ściągnięcia obrazu kontenera. Lub zablokowany serwer w sieci lokalnej może wymagać dostępu do wypychania obrazu.

Jeśli zamiast tego chcesz skonfigurować dostęp sieciowy przychodzący do rejestru kontenerów tylko w sieci wirtualnej platformy Azure, zobacz Konfigurowanie usługi Azure Private Link dla rejestru kontenerów platformy Azure.

Informacje o punktach końcowych rejestru

Aby ściągnąć lub wypchnąć obrazy lub inne artefakty do rejestru kontenerów platformy Azure, klient, taki jak demon platformy Docker, musi wchodzić w interakcję za pośrednictwem protokołu HTTPS z dwoma odrębnymi punktami końcowymi. W przypadku klientów, którzy uzyskują dostęp do rejestru zza zapory, należy skonfigurować reguły dostępu dla obu punktów końcowych. Oba punkty końcowe są osiągane przez port 443.

  • Punkt końcowy interfejsu API REST rejestru — operacje uwierzytelniania i zarządzania rejestrem są obsługiwane za pośrednictwem publicznego punktu końcowego interfejsu API REST rejestru. Ten punkt końcowy to nazwa serwera logowania rejestru. Przykład: myregistry.azurecr.io

    • Punkt końcowy interfejsu API REST rejestru dla certyfikatów — rejestr kontenerów platformy Azure używa wieloznacznych certyfikatów SSL dla wszystkich domen podrzędnych. Podczas nawiązywania połączenia z rejestrem kontenerów platformy Azure przy użyciu protokołu SSL klient musi mieć możliwość pobrania certyfikatu na potrzeby uzgadniania protokołu TLS. W takich przypadkach azurecr.io musi być również dostępny.
  • Punkt końcowy magazynu (danych) — platforma Azure przydziela magazyn obiektów blob na kontach usługi Azure Storage w imieniu każdego rejestru w celu zarządzania danymi obrazów kontenerów i innych artefaktów. Gdy klient uzyskuje dostęp do warstw obrazu w rejestrze kontenerów platformy Azure, wysyła żądania przy użyciu punktu końcowego konta magazynu dostarczonego przez rejestr.

Jeśli rejestr jest replikowany geograficznie, klient może wymagać interakcji z punktem końcowym danych w określonym regionie lub w wielu zreplikowanych regionach.

Zezwalaj na dostęp do punktów końcowych rest i danych

  • Punkt końcowy REST — zezwalaj na dostęp do w pełni kwalifikowanej nazwy serwera logowania rejestru lub <registry-name>.azurecr.ioskojarzonego zakresu adresów IP
  • Punkt końcowy magazynu (danych) — zezwalaj na dostęp do wszystkich kont usługi Azure Blob Storage przy użyciu symboli wieloznacznych *.blob.core.windows.netlub skojarzonego zakresu adresów IP.

Uwaga

Usługa Azure Container Registry wprowadza dedykowane punkty końcowe danych, co umożliwia ścisłe określanie zakresu reguł zapory klienta dla magazynu rejestru. Opcjonalnie włącz punkty końcowe danych we wszystkich regionach, w których rejestr znajduje się lub jest replikowany, przy użyciu formularza <registry-name>.<region>.data.azurecr.io.

Informacje o nazwach FQDN rejestru

Rejestr ma dwie nazwy FQDN, adres URL logowania i punkt końcowy danych.

  • Zarówno adres URL logowania, jak i punkt końcowy danych są dostępne z poziomu sieci wirtualnej przy użyciu prywatnych adresów IP, włączając link prywatny.
  • Rejestr, który nie korzysta z punktów końcowych danych, musiałby uzyskać dostęp do danych z punktu końcowego formularza *.blob.core.windows.net i nie zapewnia izolacji wymaganej podczas konfigurowania reguł zapory.
  • Rejestr z włączonym łączem prywatnym automatycznie pobiera dedykowany punkt końcowy danych.
  • Dedykowany punkt końcowy danych jest tworzony dla każdego regionu dla rejestru.
  • Adres URL logowania pozostaje taki sam, niezależnie od tego, czy punkt końcowy danych jest włączony, czy wyłączony.

Zezwalaj na dostęp według zakresu adresów IP

Jeśli Organizacja ma zasady zezwalania na dostęp tylko do określonych adresów IP lub zakresów adresów, pobierz zakresy adresów IP platformy Azure i tagi usług — chmura publiczna.

Aby znaleźć zakresy adresów IP punktu końcowego REST usługi ACR, dla których chcesz zezwolić na dostęp, wyszukaj ciąg AzureContainerRegistry w pliku JSON.

Ważne

Zakresy adresów IP dla usług platformy Azure mogą ulec zmianie, a aktualizacje są publikowane co tydzień. Regularnie pobieraj plik JSON i wprowadzaj niezbędne aktualizacje w regułach dostępu. Jeśli twój scenariusz obejmuje konfigurowanie reguł sieciowej grupy zabezpieczeń w sieci wirtualnej platformy Azure lub używasz usługi Azure Firewall, zamiast tego użyj tagu usługi AzureContainerRegistry.

Adresy IP REST dla wszystkich regionów

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

Adresy IP REST dla określonego regionu

Wyszukaj konkretny region, na przykład AzureContainerRegistry.AustraliaEast.

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

Adresy IP magazynu dla wszystkich regionów

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

Adresy IP magazynu dla określonych regionów

Wyszukaj konkretny region, taki jak Storage.AustraliaCentral.

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

Zezwalaj na dostęp według tagu usługi

W sieci wirtualnej platformy Azure użyj reguł zabezpieczeń sieci, aby filtrować ruch z zasobu, takiego jak maszyna wirtualna do rejestru kontenerów. Aby uprościć tworzenie reguł sieci platformy Azure, użyj tagu usługi AzureContainerRegistry. Tag usługi reprezentuje grupę prefiksów adresów IP w celu uzyskania dostępu do usługi platformy Azure globalnie lub w każdym regionie świadczenia usługi platformy Azure. Tag jest automatycznie aktualizowany po zmianie adresów.

Na przykład utwórz regułę sieciowej grupy zabezpieczeń dla ruchu wychodzącego z docelową usługą AzureContainerRegistry , aby zezwolić na ruch do rejestru kontenerów platformy Azure. Aby zezwolić na dostęp do tagu usługi tylko w określonym regionie, określ region w następującym formacie: AzureContainerRegistry.[nazwa regionu].

Włączanie dedykowanych punktów końcowych danych

Ostrzeżenie

Jeśli wcześniej skonfigurowano dostęp zapory klienta do istniejących *.blob.core.windows.net punktów końcowych, przełączenie do dedykowanych punktów końcowych danych będzie miało wpływ na łączność klienta, co spowoduje awarie ściągania. Aby zapewnić klientom spójny dostęp, dodaj nowe reguły punktu końcowego danych do reguł zapory klienta. Po zakończeniu włącz dedykowane punkty końcowe danych dla rejestrów przy użyciu interfejsu wiersza polecenia platformy Azure lub innych narzędzi.

Dedykowane punkty końcowe danych to opcjonalna funkcja warstwy usługi rejestru kontenerów Premium . Aby uzyskać informacje o warstwach i limitach usługi rejestru, zobacz Azure Container Registry service tiers (Warstwy usługi Azure Container Registry).

Dedykowane punkty końcowe danych można włączyć przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Punkty końcowe danych są zgodne ze wzorcem regionalnym. <registry-name>.<region>.data.azurecr.io W rejestrze replikowanym geograficznie włączenie punktów końcowych danych umożliwia punkty końcowe we wszystkich regionach repliki.

Portal

Aby włączyć punkty końcowe danych przy użyciu portalu:

  1. Przejdź do rejestru kontenerów.
  2. Wybierz pozycję Dostęp publiczny do sieci>.
  3. Zaznacz pole wyboru Włącz dedykowany punkt końcowy danych.
  4. Wybierz pozycję Zapisz.

Punkt końcowy danych lub punkty końcowe są wyświetlane w portalu.

Dedykowane punkty końcowe danych w portalu

Interfejs wiersza polecenia platformy Azure

Aby włączyć punkty końcowe danych przy użyciu interfejsu wiersza polecenia platformy Azure, użyj interfejsu wiersza polecenia platformy Azure w wersji 2.4.0 lub nowszej. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Następujące polecenie az acr update umożliwia dedykowane punkty końcowe danych w rejestrze myregistry.

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

Aby wyświetlić punkty końcowe danych, użyj polecenia az acr show-endpoints :

az acr show-endpoints --name myregistry

Dane wyjściowe dla celów demonstracyjnych pokazują dwa regionalne punkty końcowe

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

Po skonfigurowaniu dedykowanych punktów końcowych danych dla rejestru można włączyć reguły dostępu zapory klienta dla punktów końcowych danych. Włącz reguły dostępu do punktu końcowego danych dla wszystkich wymaganych regionów rejestru.

Konfigurowanie reguł zapory klienta dla umowy MCR

Jeśli musisz uzyskać dostęp do usługi Microsoft Container Registry (MCR) zza zapory, zapoznaj się ze wskazówkami dotyczącymi konfigurowania reguł zapory klienta MCR. McR to podstawowy rejestr wszystkich opublikowanych przez firmę Microsoft obrazów platformy Docker, takich jak obrazy systemu Windows Server.

Następne kroki