ograniczenia dostępu Azure App Service
Ograniczenia dostępu w App Service są równoważne zaporze umożliwiającej blokowanie i filtrowanie ruchu. Ograniczenia dostępu dotyczą tylko dostępu przychodzącego . Większość App Service warstw cenowych ma również możliwość dodawania prywatnych punktów końcowych do aplikacji, czyli innego punktu wejścia do aplikacji. Ograniczenia dostępu nie mają zastosowania do ruchu przychodzącego za pośrednictwem prywatnego punktu końcowego. W przypadku wszystkich aplikacji hostowanych na App Service domyślny punkt wejścia jest publicznie dostępny. Jedynym wyjątkiem są aplikacje hostowane w usłudze ILB App Service Environment, gdzie domyślny punkt wejścia jest wewnętrzny dla sieci wirtualnej.
Jak to działa
Gdy ruch osiągnie App Service, najpierw ocenia, czy ruch pochodzi z prywatnego punktu końcowego lub przechodzi przez domyślny punkt końcowy. Jeśli ruch jest wysyłany za pośrednictwem prywatnego punktu końcowego, zostanie wysłany bezpośrednio do witryny bez żadnych ograniczeń. Ograniczenia dotyczące prywatnych punktów końcowych są konfigurowane przy użyciu sieciowych grup zabezpieczeń.
Jeśli wysyłasz ruch za pośrednictwem domyślnego punktu końcowego (często publicznego punktu końcowego), ruch jest najpierw oceniany na poziomie dostępu do lokacji. W tym miejscu możesz włączyć lub wyłączyć dostęp. Jeśli włączysz dostęp do witryny, ruch będzie oceniany na poziomie dostępu do aplikacji. W przypadku dowolnej aplikacji masz zarówno witrynę główną, jak i zaawansowaną witrynę narzędzi (znaną również jako lokacja scm lub kudu). Istnieje możliwość skonfigurowania zestawu reguł ograniczeń dostępu dla każdej lokacji. Możesz również określić zachowanie, jeśli żadne reguły nie są zgodne. Poniższe sekcje zawierają szczegółowe informacje.
Dostęp do aplikacji
Dostęp do aplikacji umożliwia skonfigurowanie, czy dostęp jest dostępny za pośrednictwem domyślnego (publicznego) punktu końcowego. Jeśli ustawienie nigdy nie zostało skonfigurowane, domyślne zachowanie polega na włączeniu dostępu, chyba że prywatny punkt końcowy istnieje, po którym zostanie niejawnie wyłączony. Istnieje możliwość jawnego skonfigurowania tego zachowania tak, aby było włączone lub wyłączone, nawet jeśli istnieją prywatne punkty końcowe.
Dostęp do witryny
Ograniczenia dostępu do witryny umożliwiają filtrowanie żądań przychodzących. Ograniczenia dostępu do witryny umożliwiają tworzenie listy reguł zezwalania i odmowy, które są oceniane w kolejności priorytetu. Jest ona podobna do funkcji sieciowej grupy zabezpieczeń w sieci platformy Azure.
Ograniczenie dostępu do witryny ma kilka typów reguł, które można zastosować:
Niezapasowana reguła
Zachowanie można skonfigurować, gdy żadne reguły nie są zgodne (akcja domyślna). Jest to specjalna reguła, która zawsze jest wyświetlana jako ostatnia reguła kolekcji reguł. Jeśli ustawienie nigdy nie zostało skonfigurowane, niezgodne zachowanie reguły ma zezwalać na cały dostęp, chyba że istnieje co najmniej jedna reguła, po której zostanie niejawnie zmieniona w celu odmowy całego dostępu. To zachowanie można jawnie skonfigurować tak, aby zezwalało na dostęp lub odmawiał dostępu niezależnie od zdefiniowanych reguł.
Reguły ograniczeń dostępu oparte na adresach IP
Funkcja ograniczeń dostępu na podstawie adresów IP ułatwia ograniczenie adresów IP, które mogą służyć do uzyskiwania dostępu do aplikacji. Obsługiwane są zarówno adresy IPv4, jak i IPv6. Niektóre przypadki użycia tej funkcji:
- Ogranicz dostęp do aplikacji z zestawu dobrze zdefiniowanych adresów.
- Ogranicz dostęp do ruchu przychodzącego przez zewnętrzną usługę równoważenia obciążenia lub inne urządzenia sieciowe ze znanymi adresami IP ruchu wychodzącego.
Aby dowiedzieć się, jak włączyć tę funkcję, zobacz Konfigurowanie ograniczeń dostępu.
Uwaga
Reguły ograniczeń dostępu oparte na adresach IP obsługują tylko zakresy adresów sieci wirtualnej, gdy aplikacja znajduje się w App Service Environment. Jeśli aplikacja znajduje się w usłudze wielodostępnej, musisz użyć punktów końcowych usługi , aby ograniczyć ruch do wybierania podsieci w sieci wirtualnej.
Reguły ograniczeń dostępu oparte na punktach końcowych usługi
Punkty końcowe usługi umożliwiają zablokowanie dostępu przychodzącego do aplikacji, aby adres źródłowy musiał pochodzić z wybranego zestawu podsieci. Ta funkcja współpracuje z ograniczeniami dostępu do adresów IP. Punkty końcowe usługi nie są zgodne z debugowaniem zdalnym. Jeśli chcesz użyć zdalnego debugowania z aplikacją, klient nie może znajdować się w podsieci z włączonymi punktami końcowymi usługi. Proces ustawiania punktów końcowych usługi jest podobny do procesu ustawiania ograniczeń dostępu do adresów IP. W sieciach wirtualnych można utworzyć listę reguł dostępu dozwolonych/odmowy, która zawiera adresy publiczne i podsieci.
Uwaga
Reguły ograniczeń dostępu oparte na punktach końcowych usługi nie są obsługiwane w aplikacjach, które mają skonfigurowany prywatny punkt końcowy lub aplikacje korzystające z protokołu SSL opartego na protokole IP (adres przypisany do aplikacji).
Aby dowiedzieć się więcej na temat konfigurowania punktów końcowych usługi za pomocą aplikacji, zobacz Azure App Service ograniczenia dostępu.
Dowolne źródło punktu końcowego usługi
W przypadku testowania lub w określonych scenariuszach możesz zezwolić na ruch z dowolnej podsieci obsługującej punkt końcowy usługi. Można to zrobić, definiując regułę opartą na protokole IP z tekstem "AnyVnets" zamiast zakresu adresów IP. Nie można utworzyć tych reguł w portalu, ale można zmodyfikować istniejącą regułę opartą na protokole IP i zastąpić adres IP ciągiem "AnyVnets".
Reguły ograniczeń dostępu oparte na tagach usługi
Tagi usług platformy Azure są dobrze zdefiniowanymi zestawami adresów IP dla usług platformy Azure. Tagi usługi grupować zakresy adresów IP używane w różnych usługach platformy Azure i często są również bardziej ograniczone do określonych regionów. Ten typ reguły umożliwia filtrowanie ruchu przychodzącego z określonych usług platformy Azure.
Aby uzyskać pełną listę tagów i więcej informacji, odwiedź link tagu usługi powyżej. Aby dowiedzieć się, jak włączyć tę funkcję, zobacz Konfigurowanie ograniczeń dostępu.
Reguły obejmujące wiele źródeł
Reguły wielu źródeł umożliwiają łączenie maksymalnie ośmiu zakresów adresów IP lub ośmiu tagów usługi w ramach jednej reguły. Można to użyć, jeśli masz więcej niż 512 zakresów adresów IP lub chcesz utworzyć reguły logiczne, w których wiele zakresów adresów IP jest połączonych z jednym filtrem nagłówka http.
Reguły wieloźródłowe są definiowane w taki sam sposób, jak definiowanie reguł pojedynczego źródła, ale z każdym zakresem rozdzielanym przecinkami.
Nie można utworzyć tych reguł w portalu, ale można zmodyfikować istniejący tag usługi lub regułę opartą na adresach IP i dodać więcej źródeł do reguły.
Filtrowanie nagłówka HTTP dla reguł ograniczeń dostępu do witryny
Dla dowolnej reguły, niezależnie od typu, można dodać filtrowanie nagłówka http. Filtry nagłówków HTTP umożliwiają dalsze sprawdzanie przychodzącego żądania i filtrowanie na podstawie określonych wartości nagłówka http. Każdy nagłówek może mieć maksymalnie osiem wartości na regułę. Poniżej wymieniono obsługiwane nagłówki http:
- X-Forwarded-for. Nagłówek standardowy do identyfikowania źródłowego adresu IP klienta łączącego się za pośrednictwem serwera proxy. Akceptuje prawidłowe wartości CIDR.
- X-Forwarded-Host. Nagłówek standardowy do identyfikowania oryginalnego hosta żądanego przez klienta. Akceptuje dowolny ciąg o długości do 64 znaków.
- X-Azure-FDID. Nagłówek niestandardowy identyfikujący wystąpienie zwrotnego serwera proxy. Usługa Azure Front Door wyśle identyfikator GUID identyfikujący wystąpienie, ale może być również używana przez serwery proxy innych firm w celu zidentyfikowania określonego wystąpienia. Akceptuje dowolny ciąg o długości do 64 znaków.
- X-FD-HealthProbe. Niestandardowy nagłówek identyfikujący sondę kondycji zwrotnego serwera proxy. Usługa Azure Front Door wyśle komunikat "1", aby jednoznacznie zidentyfikować żądanie sondy kondycji. Nagłówek może być również używany przez serwery proxy innych firm do identyfikowania sond kondycji. Akceptuje dowolny ciąg o długości do 64 znaków.
Niektóre przypadki użycia filtrowania nagłówków http to:
- Ograniczanie dostępu do ruchu z serwerów proxy przekazujących nazwę hosta
- Ograniczanie dostępu do określonego wystąpienia usługi Azure Front Door przy użyciu reguły tagu usługi i ograniczenia nagłówka X-Azure-FDID
Zaawansowane przypadki użycia
Połączenie powyższych funkcji umożliwia rozwiązanie niektórych konkretnych przypadków użycia opisanych w poniższych sekcjach.
Blokowanie pojedynczego adresu IP
Jeśli chcesz zablokować jeden lub więcej określonych adresów IP, możesz dodać adresy IP jako reguły odmowy i skonfigurować niezgodną regułę, aby zezwolić na cały niezgodny ruch.
Ograniczanie dostępu do witryny narzędzi zaawansowanych
Witryna narzędzi zaawansowanych, znana również jako scm lub kudu, ma kolekcję reguł, którą można skonfigurować. Możesz również skonfigurować niedopasowaną regułę dla tej witryny. Ustawienie umożliwia również używanie reguł skonfigurowanych dla lokacji głównej.
Wdrażanie za pośrednictwem prywatnego punktu końcowego
Być może masz lokację, która jest publicznie dostępna, ale system wdrażania znajduje się w sieci wirtualnej. Ruch wdrożeniowy można zachować jako prywatny, dodając prywatny punkt końcowy. Następnie należy upewnić się, że dostęp do aplikacji publicznej jest włączony. Na koniec należy ustawić niedopasowaną regułę dla witryny narzędzi zaawansowanych, która blokuje cały ruch publiczny do tego punktu końcowego.
Zezwalanie partnerowi zewnętrznemu na dostęp do witryny chronionej przez prywatny punkt końcowy
W tym scenariuszu uzyskujesz dostęp do witryny za pośrednictwem prywatnego punktu końcowego i wdrażasz za pośrednictwem prywatnego punktu końcowego. Możesz tymczasowo zaprosić partnera zewnętrznego do przetestowania witryny. Można to zrobić, włączając dostęp do publicznej aplikacji. Dodaj regułę (opartą na protokole IP), aby zidentyfikować klienta partnera. Skonfiguruj niepasowaną akcję reguł w celu odmowy zarówno dla witryny narzędzi głównych, jak i zaawansowanych.
Ograniczanie dostępu do określonego wystąpienia usługi Azure Front Door
Ruch z usługi Azure Front Door do aplikacji pochodzi z dobrze znanego zestawu zakresów adresów IP zdefiniowanych w tagu AzureFrontDoor.Backend
usługi. Korzystając z reguły ograniczeń tagu usługi, można ograniczyć ruch tylko z usługi Azure Front Door. Aby zapewnić, że ruch pochodzi tylko z określonego wystąpienia, należy dodatkowo filtrować żądania przychodzące na podstawie unikatowego nagłówka http wysyłanego przez usługę Azure Front Door o nazwie X-Azure-FDID. Identyfikator usługi Front Door można znaleźć w portalu.
Następne kroki
Uwaga
Reguły ograniczeń dostępu blokujące publiczny dostęp do witryny mogą również blokować usługi, takie jak przesyłanie strumieniowe dzienników. Jeśli są one wymagane, musisz zezwolić na adres IP App Service w ograniczeniach.