Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas konfigurowania ograniczeń dostępu można zdefiniować uporządkowaną priorytetowo listę dozwolonych/odmowy, która kontroluje dostęp sieciowy do aplikacji. Lista może zawierać adresy IP lub podsieci usługi Azure Virtual Network. Jeśli istnieje jeden lub więcej wpisów, na końcu listy obowiązuje niejawna zasada odmowy wszystkich. Aby uzyskać więcej informacji, zobacz ograniczenia dostępu usługi Azure App Service.
Ta funkcja ograniczeń dostępu współdziała z wszystkimi obciążeniami hostowanymi w usłudze Azure App Service. Obciążenia mogą obejmować aplikacje internetowe, aplikacje interfejsu API, aplikacje systemu Linux, niestandardowe kontenery systemu Linux i aplikacje usługi Azure Functions.
Gdy ktoś wysyła żądanie do aplikacji, FROM
adres jest oceniany względem reguł na liście ograniczeń dostępu.
FROM
Jeśli adres znajduje się w podsieci skonfigurowanej z końcowymi punktami usługowymi do Microsoft.Web
, podsieć źródłowa jest porównywana z regułami sieci wirtualnej na liście ograniczeń dostępu. Jeśli adres nie ma zezwolenia na dostęp na podstawie reguł na liście, usługa zwraca kod stanu HTTP 403.
Funkcja ograniczania dostępu jest implementowana w rolach front-end usługi App Service, które znajdują się przed hostami roboczymi, na których uruchamiany jest twój kod. W związku z tym ograniczenia dostępu są skutecznie listami kontroli dostępu do sieci.
Możliwość ograniczenia dostępu do twojej aplikacji internetowej z sieci wirtualnej Azure korzysta z punktów końcowych usługi. Używając punktów końcowych usługi, można ograniczyć dostęp do usługi wielodzierżawczej z wybranych podsieci. Ograniczanie ruchu do aplikacji hostowanych w usłudze App Service Environment nie działa. Jeśli korzystasz z usługi App Service Environment, możesz kontrolować dostęp do aplikacji, stosując reguły adresów IP.
Uwaga
Punkty końcowe usługi muszą być włączone zarówno po stronie sieci, jak i dla usługi platformy Azure, z którą są włączone. Aby uzyskać listę usług platformy Azure, które obsługują punkty końcowe usługi, zobacz Punkty końcowe usługi sieci wirtualnej.
Zarządzanie regułami ograniczeń dostępu w portalu
Aby dodać regułę ograniczeń dostępu do aplikacji:
Zaloguj się w witrynie Azure Portal.
Wybierz aplikację, do której chcesz dodać ograniczenia dostępu.
W menu po lewej stronie wybierz pozycję Ustawienia>Sieć.
W okienku Sieć w obszarze Konfiguracja ruchu przychodzącego wybierz ustawienie Dostęp do sieci publicznej .
W okienku Ograniczenia dostępu przejrzyj listę reguł ograniczeń dostępu zdefiniowanych dla aplikacji.
Na liście są wyświetlane ograniczenia, które są obecnie stosowane do aplikacji. Jeśli masz ograniczenie dotyczące sieci wirtualnej w aplikacji, tabela pokazuje, czy punkty końcowe usługi są włączone dla programu
Microsoft.Web
. Jeśli w aplikacji nie zdefiniowano żadnych ograniczeń, a niezgodna reguła nie jest ustawiona na Odmów, aplikacja jest dostępna z dowolnego miejsca.
Uprawnienia
Musisz mieć następujące uprawnienia kontroli dostępu opartej na rolach w podsieci lub na wyższym poziomie, aby skonfigurować ograniczenia dostępu za pośrednictwem portalu Azure, interfejsu CLI lub gdy bezpośrednio ustawiasz właściwości site config
.
Akcja | opis |
---|---|
Microsoft.Web/sites/config/read |
Pobiera ustawienia konfiguracji aplikacji internetowej. |
Microsoft.Web/sites/config/write |
Aktualizuje ustawienia konfiguracji aplikacji internetowej. |
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action * |
Dołącza zasoby, takie jak konto magazynu lub baza danych SQL, do podsieci. |
Microsoft.Web/sites/write ** |
Aktualizuje ustawienia aplikacji internetowej. |
*Wymagane tylko podczas dodawania reguły sieci wirtualnej (punktu końcowego usługi)
**Wymagane tylko w przypadku aktualizowania ograniczeń dostępu za pośrednictwem witryny Azure Portal
Jeśli dodasz regułę opartą na punkcie końcowym usługi, a sieć wirtualna znajduje się w innej subskrypcji niż aplikacja, upewnij się, że subskrypcja z siecią wirtualną jest zarejestrowana dla Microsoft.Web
dostawcy zasobów. Możesz jawnie zarejestrować dostawcę, ale jest on również automatycznie rejestrowany podczas tworzenia pierwszej aplikacji internetowej w ramach subskrypcji. Aby uzyskać dodatkowe informacje, zobacz Rejestrowanie dostawcy zasobów.
Dodawanie reguły ograniczeń dostępu
Aby dodać regułę ograniczeń dostępu do aplikacji, w okienku Ograniczenia dostępu wybierz pozycję Dodaj. Reguła jest skuteczna dopiero po jej zapisaniu.
Reguły są wymuszane w kolejności priorytetu od najniższej liczby w kolumnie Priorytet . Jeśli nie skonfigurujesz niedopasowanej reguły, niejawna odmowa wszystkiego będzie obowiązywać przy dodaniu jednej reguły.
W okienku Dodawanie ograniczeń dostępu podczas tworzenia reguły wykonaj następujące czynności:
- W obszarze Akcja wybierz pozycję Zezwalaj lub Odmów.
- Wprowadź nazwę i opis reguły (opcjonalnie).
- W polu Priorytet wprowadź wartość priorytetu.
- Z listy rozwijanej Typ wybierz typ reguły. Różne typy reguł opisano w poniższych sekcjach.
- Wpisz dane wejściowe specyficzne dla reguły. Wybierz pozycję Dodaj regułę , aby dodać regułę do listy.
- Wybierz pozycję Zapisz w okienku Ograniczenia dostępu .
Uwaga
Istnieje limit 512 reguł ograniczeń dostępu. Jeśli potrzebujesz więcej niż 512 reguł ograniczeń dostępu, zalecamy rozważenie autonomicznego produktu zabezpieczeń. Rozważmy usługę Azure Front Door, usługę Azure Application Gateway lub inną zaporę aplikacji internetowej (WAF).
Ustawianie reguły opartej na adresach IP
Postępuj zgodnie z procedurą opisaną w poprzedniej sekcji, ale z następującym dodatkiem:
- W kroku 4 na liście rozwijanej Typ wybierz pozycję IPv4 lub IPv6.
Określ blok adresów IP w notacji routingu Inter-Domain bezklasowego (CIDR) dla adresów IPv4 i IPv6. Aby określić adres, możesz użyć wartości podobnej do 1.2.3.4/32
, gdzie pierwsze cztery oktety reprezentują twój adres IP i /32
jest maską. Notacja CIDR IPv4 dla wszystkich adresów to 0.0.0.0/0
.
Uwaga
Reguły ograniczeń dostępu oparte na adresach IP obsługują tylko zakresy adresów sieci wirtualnej, gdy aplikacja znajduje się w środowisku App Service Environment. Jeśli Twoja aplikacja znajduje się w usłudze multitenantowej, musisz użyć punktów końcowych usługi, aby ograniczyć ruch do wybranych podsieci w swojej sieci wirtualnej.
Ustawianie reguły opartej na punkcie końcowym usługi
W kroku 4 na liście rozwijanej Typ wybierz pozycję Sieć wirtualna.
Określ listę rozwijaną Subskrypcja, Sieć wirtualna i Podsieć , pasując do tego, do czego chcesz ograniczyć dostęp.
Za pomocą punktów końcowych usługi można ograniczyć dostęp do wybranych podsieci sieci wirtualnej platformy Azure. Jeśli punkty końcowe usługi nie są jeszcze włączone Microsoft.Web
dla wybranej podsieci, są one automatycznie włączane, chyba że wybierzesz opcję Ignoruj brakujące punkty końcowe usługi Microsoft.Web. Czy chcesz włączyć punkty końcowe usługi w aplikacji, ale nie w podsieci, zależy od tego, czy masz uprawnienia do ich włączania w podsieci.
Jeśli potrzebujesz innej osoby do włączenia punktów końcowych usługi w podsieci, wybierz pozycję Ignoruj brakujące punkty końcowe usługi Microsoft.Web. Aplikacja została skonfigurowana do obsługi punktów końcowych usługi. Później można je włączyć w podsieci.
Nie można używać punktów końcowych usługi do ograniczania dostępu do aplikacji uruchamianych w środowisku App Service Environment. Gdy aplikacja znajduje się w środowisku App Service Environment, możesz kontrolować dostęp do niej, stosując reguły dostępu do adresów IP.
Za pomocą punktów końcowych usługi można skonfigurować aplikację przy użyciu bram aplikacji lub innych urządzeń zapory sieciowej (WAF). Można również skonfigurować aplikacje wielowarstwowe z bezpiecznymi zapleczami. Aby uzyskać więcej informacji, zobacz funkcje sieciowe dla usługi App Service i integrację z Application Gateway.
Uwaga
Punkty końcowe usługi nie są obsługiwane w przypadku aplikacji internetowych korzystających z powiązań TLS/SSL opartych na protokole IP z wirtualnym adresem IP.
Ustawianie reguły opartej na tagach usługi
W kroku 4 na liście rozwijanej Typ wybierz pozycję Tag usługi.
W regułach ograniczania dostępu obsługiwane są wszystkie tagi usługi dostępne publicznie. Każdy tag usługi reprezentuje listę zakresów adresów IP z usług platformy Azure. Listę tych usług i linki do określonych zakresów można znaleźć w dokumentacji tagów usługi. Użyj szablonów usługi Azure Resource Manager lub skryptów, aby skonfigurować bardziej zaawansowane reguły, takie jak regionalne reguły o określonym zakresie.
Uwaga
Podczas tworzenia reguł opartych na tagach usługi za pośrednictwem witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure potrzebny jest dostęp do odczytu na poziomie subskrypcji, aby uzyskać pełną listę tagów usług do wyboru/walidacji. Ponadto Microsoft.Network
dostawca zasobów musi być zarejestrowany w ramach subskrypcji.
Edytowanie reguły
Aby edytować istniejącą regułę ograniczeń dostępu, przejdź do okienka Ograniczenia dostępu i wybierz regułę, którą chcesz edytować.
W okienku Edytowanie ograniczeń dostępu wprowadź zmiany, a następnie wybierz pozycję Aktualizuj regułę.
Wybierz Zapisz, aby zapisać zmiany.
Uwaga
Podczas edytowania reguły nie można przełączać się między typami reguł.
Usuń regułę
Aby usunąć regułę, w okienku Ograniczenia dostępu wybierz regułę lub reguły, które chcesz usunąć, a następnie wybierz pozycję Usuń.
Wybierz Zapisz, aby zapisać zmiany.
Zaawansowane scenariusze ograniczeń dostępu
W poniższych sekcjach opisano używanie ograniczeń dostępu w zaawansowanych scenariuszach.
Filtruj według nagłówka HTTP
Filtry nagłówka HTTP można dodać do dowolnej reguły. Obsługiwane są następujące nazwy nagłówków HTTP:
X-Forwarded-For
X-Forwarded-Host
X-Azure-FDID
X-FD-HealthProbe
Dla każdej nazwy nagłówka można dodać maksymalnie osiem wartości rozdzielonych przecinkami. Filtry nagłówka HTTP są oceniane po samej regule, a oba warunki muszą być prawdziwe, aby reguła miała zastosowanie.
Reguły wieloźródłowe
Reguły wieloźródłowe umożliwiają łączenie maksymalnie ośmiu zakresów adresów IP lub ośmiu tagów usługi w jednej regule. Użyj reguł wieloźródłowych, jeśli masz więcej niż 512 zakresów adresów IP lub jeśli chcesz utworzyć reguły logiczne. Na przykład: reguła logiczna może zawierać wiele zakresów adresów IP w połączeniu z jednym filtrem nagłówka HTTP.
Reguły wieloźródłowe są definiowane tak samo jak reguły pojedynczego źródła, ale każdy zakres jest oddzielony przecinkiem.
Przykład programu PowerShell:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
-Priority 100 -Action Allow
Blokowanie pojedynczego adresu IP
Jeśli chcesz jawnie zablokować pojedynczy adres IP lub blok adresów IP, ale zezwolić na dostęp do wszystkich innych elementów, możesz dodać regułę Odmów dla określonego adresu IP. Następnie skonfiguruj niedopasowaną akcję reguły na Zezwalaj.
Ograniczanie dostępu do witryny SCM
Oprócz kontrolowania dostępu do aplikacji można ograniczyć dostęp do zaawansowanej witryny narzędzia do zarządzania kontrolą źródła (SCM) używanego przez aplikację. Witryna SCM to zarówno internetowy punkt końcowy wdrażania, jak i konsola Kudu. Ograniczenia dostępu można przypisać do witryny SCM oddzielnie lub użyć tego samego zestawu ograniczeń zarówno dla aplikacji, jak i witryny SCM. Po wybraniu pozycji Użyj reguł głównej witryny, lista reguł jest ukryta. Witryna SCM używa reguł z głównej strony. Jeśli usuniesz zaznaczenie pola wyboru, ustawienia witryny SCM pojawią się ponownie.
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.
Przykład programu PowerShell:
$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
-HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}
Programowe zarządzanie ograniczeniem dostępu
Można również programowo zarządzać ograniczeniami dostępu. W poniższych przykładach pokazano, jak dodać reguły do ograniczeń dostępu oraz jak zmienić akcję w przypadku niepasującej reguły zarówno dla głównej witryny, jak i witryny zaawansowanego narzędzia.
Dodawanie reguł ograniczeń dostępu dla witryny głównej
Reguły ograniczeń dostępu dla witryny głównej można dodać programowo, wybierając jedną z następujących opcji:
Następujące polecenie można uruchomić w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji na temat polecenia, zobacz az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
--http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Dodaj reguły ograniczeń dostępu dla zaawansowanej witryny narzędziowej
Można programowo dodawać reguły ograniczeń dostępu dla witryny narzędzia Advanced Tool. Wybierz jedną z następujących opcji:
Następujące polecenie można uruchomić w usłudze Cloud Shell. Aby uzyskać więcej informacji na temat polecenia, zobacz az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true
Zmień akcję niedopasowanej reguły dla witryny głównej
Można zmienić akcję niedopasowanej reguły dla Głównej witryny programowo, wybierając jedną z następujących opcji:
Następujące polecenie można uruchomić w usłudze Cloud Shell. Aby uzyskać więcej informacji na temat polecenia, zobacz az resource
. Zaakceptowane wartości dla ipSecurityRestrictionsDefaultAction
elementu to Allow
lub Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow
Zmień akcję reguły niepasującej dla witryny narzędzi zaawansowanych
Możesz zmienić akcję niezapasowanej reguły dla zaawansowanego narzędzia witryny programowo, wybierając jedną z następujących opcji:
Następujące polecenie można uruchomić w usłudze Cloud Shell. Aby uzyskać więcej informacji na temat polecenia, zobacz az resource
. Zaakceptowane wartości dla scmIpSecurityRestrictionsDefaultAction
elementu to Allow
lub Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow
Konfigurowanie ograniczeń dostępu do usługi Azure Functions
Ograniczenia dostępu są również dostępne dla aplikacji funkcji z taką samą funkcjonalnością jak plany usługi App Service. Po włączeniu ograniczeń dostępu można również wyłączyć edytor kodu witryny Azure Portal dla wszystkich niedozwolonych adresów IP.