Konfigurowanie reguł sieci publicznych adresów IP

Rejestr kontenerów platformy Azure domyślnie akceptuje połączenia przez Internet z hostów w dowolnej sieci. W tym artykule pokazano, jak skonfigurować rejestr kontenerów, aby zezwolić na dostęp tylko z określonych publicznych adresów IP lub zakresów adresów. Dostępne są równoważne kroki przy użyciu interfejsu wiersza polecenia platformy Azure i Azure Portal.

Reguły sieci IP są konfigurowane w punkcie końcowym rejestru publicznego. Reguły sieci IP nie mają zastosowania do prywatnych punktów końcowych skonfigurowanych przy użyciu Private Link

Konfigurowanie reguł dostępu do adresów IP jest dostępne w warstwie usługi rejestru kontenerów Premium . Aby uzyskać informacje na temat warstw i limitów usługi rejestru, zobacz Azure Container Registry warstwy.

Każdy rejestr obsługuje maksymalnie 100 reguł dostępu do adresów IP.

Ważne

Niektóre funkcje mogą być niedostępne lub wymagają większej liczby konfiguracji w rejestrze kontenerów, która ogranicza dostęp do prywatnych punktów końcowych, wybranych podsieci lub adresów IP.

  • Gdy dostęp do sieci publicznej do rejestru jest wyłączony, dostęp do rejestru przez niektóre zaufane usługi, w tym Azure Security Center wymaga włączenia ustawienia sieci w celu obejścia reguł sieciowych.
  • Po wyłączeniu dostępu do sieci publicznej wystąpienia niektórych usług platformy Azure, w tym Azure DevOps Services obecnie nie mogą uzyskać dostępu do rejestru kontenerów.
  • Prywatne punkty końcowe nie są obecnie obsługiwane w przypadku agentów zarządzanych usługi Azure DevOps. Musisz użyć własnego agenta z widokiem sieciowym do prywatnego punktu końcowego.
  • Jeśli rejestr ma zatwierdzony prywatny punkt końcowy i dostęp do sieci publicznej jest wyłączony, repozytoria i tagi nie mogą być wyświetlane poza siecią wirtualną przy użyciu Azure Portal, interfejsu wiersza polecenia platformy Azure lub innych narzędzi.

Dostęp z wybranej sieci publicznej — interfejs wiersza polecenia

Zmienianie domyślnego dostępu sieciowego do rejestru

Aby ograniczyć dostęp do wybranej sieci publicznej, najpierw zmień domyślną akcję na odmowę dostępu. Zastąp nazwę rejestru w następującym poleceniu az acr update :

az acr update --name myContainerRegistry --default-action Deny

Dodawanie reguły sieciowej do rejestru

Użyj polecenia az acr network-rule add , aby dodać regułę sieci do rejestru, która zezwala na dostęp z publicznego adresu IP lub zakresu. Na przykład zastąp nazwę rejestru kontenerów i publiczny adres IP maszyny wirtualnej w sieci wirtualnej.

az acr network-rule add \
  --name mycontainerregistry \
  --ip-address <public-IP-address>

Uwaga

Po dodaniu reguły może upłynąć kilka minut, aby reguła weszła w życie.

Dostęp z wybranej sieci publicznej — portal

  1. W portalu przejdź do rejestru kontenerów.
  2. W obszarze Ustawienia wybierz pozycję Sieć.
  3. Na karcie Dostęp publiczny wybierz opcję zezwalania na dostęp publiczny z wybranych sieci.
  4. W obszarze Zapora wprowadź publiczny adres IP, taki jak publiczny adres IP maszyny wirtualnej w sieci wirtualnej. Możesz też wprowadzić zakres adresów w notacji CIDR, która zawiera adres IP maszyny wirtualnej.
  5. Wybierz pozycję Zapisz.

Konfigurowanie reguły zapory dla rejestru kontenerów

Uwaga

Po dodaniu reguły może upłynąć kilka minut, aby reguła weszła w życie.

Porada

Opcjonalnie włącz dostęp do rejestru z lokalnego komputera klienckiego lub zakresu adresów IP. Aby zezwolić na ten dostęp, potrzebny jest publiczny adres IPv4 komputera. Ten adres można znaleźć, wyszukując "jaki jest mój adres IP" w przeglądarce internetowej. Bieżący adres IPv4 klienta jest również wyświetlany automatycznie podczas konfigurowania ustawień zapory na stronie Sieć w portalu.

Wyłączanie dostępu do sieci publicznej

Opcjonalnie wyłącz publiczny punkt końcowy w rejestrze. Wyłączenie publicznego punktu końcowego zastępuje wszystkie konfiguracje zapory. Na przykład możesz wyłączyć publiczny dostęp do rejestru zabezpieczonego w sieci wirtualnej przy użyciu Private Link.

Uwaga

Jeśli rejestr jest skonfigurowany w sieci wirtualnej z punktem końcowym usługi, wyłączenie dostępu do publicznego punktu końcowego rejestru powoduje również wyłączenie dostępu do rejestru w sieci wirtualnej.

Wyłączanie dostępu publicznego — interfejs wiersza polecenia

Aby wyłączyć dostęp publiczny przy użyciu interfejsu wiersza polecenia platformy Azure, uruchom polecenie az acr update i ustaw wartość --public-network-enabledfalse. Argument public-network-enabled wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.6.0 lub nowszej.

az acr update --name myContainerRegistry --public-network-enabled false

Wyłączanie dostępu publicznego — portal

  1. W portalu przejdź do rejestru kontenerów i wybierz pozycję Ustawienia > Sieć.
  2. Na karcie Dostęp publiczny w obszarze Zezwalaj na dostęp do sieci publicznej wybierz pozycję Wyłączone. Następnie wybierz pozycję Zapisz.

Wyłączanie dostępu publicznego

Przywracanie dostępu do sieci publicznej

Aby ponownie włączyć publiczny punkt końcowy, zaktualizuj ustawienia sieci, aby zezwolić na dostęp publiczny. Włączenie publicznego punktu końcowego zastępuje wszystkie konfiguracje zapory.

Przywracanie dostępu publicznego — interfejs wiersza polecenia

Uruchom polecenie az acr update i ustaw wartość --public-network-enabledtrue.

Uwaga

Argument public-network-enabled wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.6.0 lub nowszej.

az acr update --name myContainerRegistry --public-network-enabled true

Przywracanie dostępu publicznego — portal

  1. W portalu przejdź do rejestru kontenerów i wybierz pozycję Ustawienia > Sieć.
  2. Na karcie Dostęp publiczny w obszarze Zezwalaj na dostęp do sieci publicznej wybierz pozycję Wszystkie sieci. Następnie wybierz pozycję Zapisz.

Dostęp publiczny ze wszystkich sieci

Rozwiązywanie problemów

Dostęp za serwerem proxy HTTPS

Jeśli ustawiono regułę sieci publicznej lub dostęp publiczny do rejestru zostanie odrzucony, próba zalogowania się do rejestru z niedozwolonej sieci publicznej zakończy się niepowodzeniem. Dostęp klienta zza serwera proxy HTTPS również zakończy się niepowodzeniem, jeśli nie ustawiono reguły dostępu dla serwera proxy. Zostanie wyświetlony komunikat o błędzie podobny do Error response from daemon: login attempt failed with status: 403 Forbidden lub Looks like you don't have access to registry.

Te błędy mogą również wystąpić, jeśli używasz serwera proxy HTTPS, który jest dozwolony przez regułę dostępu do sieci, ale serwer proxy nie jest prawidłowo skonfigurowany w środowisku klienta. Sprawdź, czy zarówno klient platformy Docker, jak i demon platformy Docker są skonfigurowane pod kątem zachowania serwera proxy. Aby uzyskać szczegółowe informacje, zobacz serwer proxy HTTP/HTTPS w dokumentacji platformy Docker.

Dostęp z usługi Azure Pipelines

Jeśli używasz usługi Azure Pipelines z rejestrem kontenerów platformy Azure, który ogranicza dostęp do określonych adresów IP, potok może nie być w stanie uzyskać dostępu do rejestru, ponieważ wychodzący adres IP z potoku nie został naprawiony. Domyślnie potok uruchamia zadania przy użyciu agenta hostowanego przez firmę Microsoft w puli maszyn wirtualnych ze zmieniającym się zestawem adresów IP.

Jednym z obejść jest zmiana agenta używanego do uruchamiania potoku z hostowanego przez firmę Microsoft na własny host. Za pomocą własnego agenta działającego na zarządzanym komputerze z systemem Windows lub Linux możesz kontrolować wychodzący adres IP potoku i dodać ten adres w regule dostępu do adresu IP rejestru.

Dostęp z usługi AKS

Jeśli używasz Azure Kubernetes Service (AKS) z rejestrem kontenerów platformy Azure, który ogranicza dostęp do określonych adresów IP, nie można domyślnie skonfigurować stałego adresu IP usługi AKS. Adres IP ruchu wychodzącego z klastra usługi AKS jest przypisywany losowo.

Aby zezwolić klastrowi usługi AKS na dostęp do rejestru, dostępne są następujące opcje:

  • Jeśli używasz usługi Azure Basic Load Balancer, skonfiguruj statyczny adres IP dla klastra usługi AKS.
  • Jeśli używasz usługi Azure usługa Load Balancer w warstwie Standardowa, zobacz wskazówki dotyczące kontrolowania ruchu wychodzącego z klastra.

Następne kroki