omezení přístupu ke službě Aplikace Azure Service
Omezení přístupu ve službě App Service jsou ekvivalentní bráně firewall, která umožňuje blokovat a filtrovat provoz. Omezení přístupu platí jenom pro příchozí přístup. Většina cenových úrovní služby App Service má také možnost přidat do aplikace privátní koncové body, což je další vstupní bod aplikace. Omezení přístupu se nevztahují na provoz vstupující přes privátní koncový bod. Pro všechny aplikace hostované ve službě App Service je výchozí vstupní bod veřejně dostupný. Jedinou výjimkou jsou aplikace hostované ve službě App Service Environment s interním vstupním bodem interního nástroje pro virtuální síť.
Jak to funguje
Když provoz dosáhne služby App Service, nejprve vyhodnotí, jestli provoz pochází z privátního koncového bodu nebo prochází výchozím koncovým bodem. Pokud se provoz odesílá prostřednictvím privátního koncového bodu, odesílá se přímo na web bez jakýchkoli omezení. Omezení privátních koncových bodů se konfigurují pomocí skupin zabezpečení sítě.
Pokud odesíláte provoz přes výchozí koncový bod (často veřejný koncový bod), provoz se nejprve vyhodnotí na úrovni přístupu aplikace. Tady můžete povolit nebo zakázat přístup. Pokud povolíte přístup k aplikaci, provoz se vyhodnotí na úrovni přístupu k webu. Pro každou aplikaci máte hlavní web i web rozšířených nástrojů (označovaný také jako scm nebo kudu).
Máte možnost nakonfigurovat sadu pravidel omezení přístupu pro každou lokalitu. Pravidla omezení přístupu se vyhodnocují v pořadí priority. Pokud některá pravidla mají stejnou prioritu, vyhodnocují se v pořadí, v jakém jsou uvedené při vrácení z rozhraní API Azure Resource Manageru a na webu Azure Portal před řazením. Můžete také určit chování, pokud se neshodují žádná pravidla. Podrobnosti najdete v následujících částech.
Přístup k aplikaci
Přístup k aplikaci umožňuje nakonfigurovat, jestli je přístup dostupný prostřednictvím výchozího (veřejného) koncového bodu. Toto chování nakonfigurujete tak, aby bylo Disabled
Enabled
nebo . Pokud je přístup povolený, můžete přidat pravidla omezení přístupu k webu pro řízení přístupu z vybraných virtuálních sítí a IP adres.
Pokud nastavení není nastavené (vlastnost je null
), výchozím chováním je povolení přístupu, pokud neexistuje privátní koncový bod, který změní chování, aby zakázal přístup. Pokud není vlastnost nastavená, na webu Azure Portal se přepínač nenastaví a pak používáte výchozí chování.
V rozhraní API Azure Resource Manageru se volá publicNetworkAccess
vlastnost, která řídí přístup k aplikaci. Pro interní nástroj pro vyrovnávání zatížení (ILB) App Service Environment je výchozí vstupní bod pro aplikace vždy interní pro virtuální síť. Povolení přístupu k aplikacím (publicNetworkAccess
) neuděluje přímý veřejný přístup k aplikacím. Místo toho umožňuje přístup z výchozího vstupního bodu, který odpovídá interní IP adrese služby App Service Environment. Pokud zakážete přístup k aplikacím ve službě App Service Environment s interním nástrojem pro vyrovnávání zatížení, můžete k aplikacím přistupovat jenom prostřednictvím privátních koncových bodů přidaných do jednotlivých aplikací.
Poznámka:
V případě linuxových webů se změny publicNetworkAccess
ve vlastnosti aktivují restartování aplikace.
Přístup k webu
Omezení přístupu k webu umožňují filtrovat příchozí požadavky. Omezení přístupu k webu umožňují vytvořit seznam pravidel povolení a zamítnutí, která se vyhodnocují v pořadí priority. Podobá se funkci skupiny zabezpečení sítě (NSG) v sítích Azure.
Omezení přístupu k webu má několik typů pravidel, která můžete použít:
Nepřiřazené pravidlo
Chování můžete nakonfigurovat, když se neshodují žádná pravidla (výchozí akce). Jedná se o speciální pravidlo, které se vždy zobrazuje jako poslední pravidlo kolekce pravidel. Pokud nastavení není nakonfigurované, chování pravidla bez shody závisí na nakonfigurovaných pravidlech. Pokud neexistují žádná pravidla, chování pravidla bez shody je povolit veškerý přístup, ale pokud existuje jedno nebo více pravidel, implicitně se změní tak, aby odepřel veškerý přístup. Toto chování můžete explicitně nakonfigurovat tak, aby umožňovalo nebo odepíral přístup bez ohledu na definovaná pravidla.
Pravidla omezení přístupu na základě IP adres
Funkce omezení přístupu na základě IP adres pomáhá, když chcete omezit IP adresy, které se dají použít k dosažení vaší aplikace. Podporují se protokoly IPv4 i IPv6. Některé případy použití této funkce:
- Omezte přístup k aplikaci ze sady dobře definovaných adres.
- Omezte přístup k provozu procházející externí službou vyrovnávání zatížení nebo jinými síťovými zařízeními se známými odchozími IP adresami.
Informace o povolení této funkce najdete v tématu Konfigurace omezení přístupu.
Poznámka:
Pravidla omezení přístupu na základě IP adresy zpracovávají jenom rozsahy adres virtuální sítě, když je vaše aplikace ve službě App Service Environment. Pokud je vaše aplikace ve službě s více tenanty, musíte pomocí koncových bodů služby omezit provoz na výběr podsítí ve virtuální síti.
Pravidla omezení přístupu založená na koncových bodech služby
Koncové body služby umožňují uzamknout příchozí přístup k vaší aplikaci, aby zdrojová adresa musela pocházet ze sady vybraných podsítí. Tato funkce spolupracuje s omezeními přístupu ip adres. Koncové body služby nejsou kompatibilní se vzdáleným laděním. Pokud chcete ve své aplikaci používat vzdálené ladění, klient nemůže být v podsíti s povolenými koncovými body služby. Proces nastavení koncových bodů služby se podobá procesu nastavení omezení přístupu IP. Můžete vytvořit seznam povolených nebo odepřených pravidel přístupu, která obsahují veřejné adresy a podsítě ve virtuálních sítích.
Poznámka:
Pravidla omezení přístupu založená na koncových bodech služby nejsou podporována v aplikacích, které mají nakonfigurovaný privátní koncový bod, nebo aplikace, které používají PROTOKOL SSL založený na PROTOKOLU IP (adresa přiřazená aplikací).
Další informace o konfiguraci koncových bodů služby v aplikaci najdete v tématu Aplikace Azure Omezení přístupu ke službě.
Libovolný zdroj koncového bodu služby
Pro účely testování nebo v konkrétních scénářích můžete povolit provoz z libovolné podsítě s povoleným koncovým bodem služby. Můžete to provést definováním pravidla založeného na PROTOKOLU IP s textem "AnyVnets" místo rozsahu IP adres. Tato pravidla nemůžete vytvořit na portálu, ale můžete upravit existující pravidlo založené na IP adrese a nahradit IP adresu řetězcem AnyVnets.
Pravidla omezení přístupu založená na značkách služeb
Značky služeb Azure jsou dobře definované sady IP adres pro služby Azure. Značky služeb seskupí rozsahy IP adres používané v různých službách Azure a často jsou také dále vymezeny na konkrétní oblasti. Tento typ pravidla umožňuje filtrovat příchozí provoz z konkrétních služeb Azure.
Úplný seznam značek a další informace najdete na odkazu na značku služby.
Informace o povolení této funkce najdete v tématu Konfigurace omezení přístupu.
Pravidla s více zdroji
Pravidla s více zdroji umožňují kombinovat až osm rozsahů IP adres nebo osm značek služby v jednom pravidle. Pokud máte více než 512 rozsahů IP adres, můžete použít více zdrojových pravidel. Pravidla s více zdroji můžete použít také v případě, že chcete vytvořit logická pravidla, ve kterých se více rozsahů IP adres kombinuje s jedním filtrem hlaviček HTTP.
Pravidla s více zdroji jsou definována stejným způsobem, jakým definujete pravidla s jedním zdrojem, ale s každou oblastí oddělenou čárkou.
Tato pravidla nemůžete vytvořit na portálu, ale můžete upravit existující značku služby nebo pravidlo založené na PROTOKOLU IP a přidat do pravidla další zdroje.
Filtrování hlaviček HTTP pro pravidla omezení přístupu k webu
Pro každé pravidlo bez ohledu na typ můžete přidat filtrování hlaviček HTTP. Filtry hlaviček HTTP umožňují další kontrolu příchozího požadavku a filtrování na základě konkrétních hodnot hlaviček HTTP. Každé záhlaví může mít až osm hodnot na pravidlo. Následující seznam obsahuje podporované hlavičky HTTP:
- X-forwarded-for. Standardní hlavička pro identifikaci původní IP adresy klienta, který se připojuje přes proxy server. Přijímá platné IP adresy.
- X-forwarded-host. Standardní hlavička pro identifikaci původního hostitele požadovaného klientem. Přijme libovolný řetězec o délce až 64 znaků.
- X-Azure-FDID. Vlastní hlavička pro identifikaci instance reverzního proxy serveru. Azure Front Door odešle identifikátor GUID identifikující instanci, ale dá se použít také pro proxy servery jiných společností než Microsoft k identifikaci konkrétní instance. Přijme libovolný řetězec o délce až 64 znaků.
- X-FD-HealthProbe. Vlastní hlavička pro identifikaci sondy stavu reverzního proxy serveru. Azure Front Door odešle "1" k jednoznačné identifikaci požadavku sondy stavu. Hlavičku lze také použít pro proxy servery jiných společností než Microsoft k identifikaci sond stavu. Přijme libovolný řetězec o délce až 64 znaků.
Mezi případy použití pro filtrování hlaviček HTTP patří:
- Omezení přístupu k provozu z proxy serverů předávacího název hostitele
- Omezení přístupu ke konkrétní instanci služby Azure Front Door pomocí pravidla značky služby a omezení hlaviček X-Azure-FDID
Protokolování diagnostiky
App Service může do služby Azure Monitor odesílat různé kategorie protokolování. Jedna z těchto kategorií se volá IPSecurity Audit logs
a představuje aktivity v omezeních přístupu. Všechny požadavky, které odpovídají pravidlu (s výjimkou pravidla bez shody), a to povolit i odepřít, se protokolují a dají se použít k ověření konfigurace omezení přístupu. Funkce protokolování je také výkonný nástroj při řešení potíží s konfigurací pravidel.
Pokročilé případy použití
Kombinace výše uvedených funkcí vám umožní vyřešit některé konkrétní případy použití, které jsou popsány v následujících částech.
Blokování jedné IP adresy
Pokud chcete zakázat nebo blokovat jednu nebo více konkrétních IP adres, můžete přidat IP adresy jako pravidla odepření a nakonfigurovat pravidlo bez shody tak, aby umožňovalo veškerý chybějící provoz.
Omezení přístupu k webu rozšířených nástrojů
Web rozšířených nástrojů, který se také označuje jako scm nebo kudu, má kolekci pravidel, kterou můžete nakonfigurovat. Pro tento web můžete také nakonfigurovat pravidlo, které není v seznamu. Nastavení umožňuje použít pravidla nakonfigurovaná pro hlavní lokalitu. Nemůžete selektivně povolit přístup k určitým pokročilým funkcím webu nástrojů. Nemůžete například selektivně povolit přístup pouze ke konzole pro správu webových úloh na webu rozšířených nástrojů.
Nasazení prostřednictvím privátního koncového bodu
Můžete mít lokalitu, která je veřejně přístupná, ale váš systém nasazení je ve virtuální síti. Provoz nasazení můžete zachovat privátní přidáním privátního koncového bodu. Pak musíte zajistit, aby byl povolený přístup k veřejné aplikaci. Nakonec musíte pro web rozšířených nástrojů nastavit nedodržované pravidlo, které zakáže veškerý veřejný provoz do tohoto koncového bodu.
Povolit externímu partnerovi přístup k privátnímu koncovému bodu chráněné lokalitě
V tomto scénáři přistupujete k webu prostřednictvím privátního koncového bodu a nasazujete ho prostřednictvím privátního koncového bodu. Dočasně můžete pozvat externího partnera k otestování webu. Můžete to udělat tak, že povolíte přístup k veřejné aplikaci. Přidejte pravidlo (založené na PROTOKOLU IP), které identifikuje klienta partnera. Nakonfigurujte akci pravidel bez shody tak, aby se odepřela pro web hlavních i pokročilých nástrojů.
Omezení přístupu ke konkrétní instanci služby Azure Front Door
Provoz z Azure Front Dooru do vaší aplikace pochází z dobře známé sady rozsahů IP adres definovaných ve AzureFrontDoor.Backend
značce služby. Pomocí pravidla omezení značek služeb můžete omezit provoz jenom na to, aby pocházel pouze ze služby Azure Front Door. Pokud chcete zajistit, aby provoz pochází jenom z vaší konkrétní instance, musíte příchozí požadavky dále filtrovat na základě jedinečné hlavičky HTTP, kterou Služba Azure Front Door odesílá s názvem X-Azure-FDID. ID služby Front Door najdete na portálu.
Další kroky
Poznámka:
Pravidla omezení přístupu, která blokují veřejný přístup k vašemu webu, můžou také blokovat služby, jako je streamování protokolů. Pokud je budete potřebovat, budete muset ve vašich omezeních povolit IP adresu vaší služby App Service.