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 tak, aby zezwalał 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 witryny 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 za pomocą usługi 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 Warstwy usługi Azure Container Registry.
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óry 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 usług Azure DevOps Services, nie są obecnie w stanie uzyskać dostępu do rejestru kontenerów.
- Prywatne punkty końcowe nie są obecnie obsługiwane przez 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, a dostęp do sieci publicznej jest wyłączony, repozytoria i tagi nie mogą być wyświetlane poza siecią wirtualną przy użyciu witryny 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ę, aby odmówić dostępu. Zastąp nazwę rejestru następującym poleceniem 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łę sieciową 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
- W portalu przejdź do rejestru kontenerów.
- W obszarze Ustawienia wybierz pozycję Sieć.
- Na karcie Dostęp publiczny wybierz, aby zezwolić na dostęp publiczny z wybranych sieci.
- 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.
- Wybierz pozycję Zapisz.
Uwaga
Po dodaniu reguły może upłynąć kilka minut, aby reguła weszła w życie.
Napiwek
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 usługi 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-enabled
false
. 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
- W portalu przejdź do rejestru kontenerów i wybierz pozycję Ustawienia > Sieci.
- Na karcie Dostęp publiczny w obszarze Zezwalaj na dostęp do sieci publicznej wybierz pozycję Wyłączone. Następnie wybierz opcję Zapisz.
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-enabled
true
.
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
- W portalu przejdź do rejestru kontenerów i wybierz pozycję Ustawienia > Sieci.
- Na karcie Dostęp publiczny w obszarze Zezwalaj na dostęp do sieci publicznej wybierz pozycję Wszystkie sieci. Następnie wybierz opcję Zapisz.
Rozwiązywanie problemów
Dostęp za serwerem proxy HTTPS
Jeśli ustawiono regułę sieci publicznej lub nastąpi odmowa dostępu publicznego do rejestru, 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 dozwolonego 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 jest stały. 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. W przypadku własnego agenta uruchomionego na zarządzanym komputerze z systemem Windows lub Linux można 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 usługi Azure Kubernetes Service (AKS) z rejestrem kontenerów platformy Azure, który ogranicza dostęp do określonych adresów IP, nie możesz 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 Load Balancer w warstwie Podstawowa, 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
- Aby ograniczyć dostęp do rejestru przy użyciu prywatnego punktu końcowego w sieci wirtualnej, zobacz Konfigurowanie usługi Azure Private Link dla rejestru kontenerów platformy Azure.
- Jeśli musisz skonfigurować reguły dostępu do rejestru zza zapory klienta, zobacz Konfigurowanie reguł dostępu do rejestru kontenerów platformy Azure za zaporą.
- Aby uzyskać więcej wskazówek dotyczących rozwiązywania problemów, zobacz Rozwiązywanie problemów z siecią w rejestrze.