Sdílet prostřednictvím


Přehled samostatně hostované brány

PLATÍ PRO: Vývojář | Prémie

Brána v místním prostředí je volitelná kontejnerizovaná verze výchozí spravované brány, která je součástí každé instance služby API Management. Je užitečné pro scénáře, jako je umístění bran do stejných prostředí, ve kterých hostujete svá rozhraní API. Pomocí brány v místním prostředí můžete zlepšit tok provozu rozhraní API a řešit požadavky na zabezpečení a dodržování předpisů rozhraní API.

Tento článek vysvětluje, jak funkce brány v místním prostředí služby Azure API Management umožňuje hybridní a multicloudovou správu rozhraní API Management. Představuje také architekturu vysoké úrovně funkce a popisuje její možnosti.

Přehled rozdílů mezi spravovanými a hostovanými bránami najdete v tématu Brána rozhraní API ve službě API Management.

Hybridní a multicloudová správa rozhraní API

Funkce brány v místním prostředí rozšiřuje podporu služby API Management pro hybridní a multicloudová prostředí a umožňuje efektivně a bezpečně spravovat rozhraní API hostovaná místně i napříč cloudy z jedné instance služby API Management v Azure.

S bránou v místním prostředí máte flexibilitu nasadit kontejnerizovanou verzi komponenty brány API Management do stejných prostředí, ve kterých hostujete svá rozhraní API. Všechny brány v místním prostředí se spravují z instance služby API Management, se kterou jsou federované, a poskytují tak přehled a jednotné prostředí pro správu napříč všemi interními a externími rozhraními API.

Každá instance služby API Management se skládá z následujících klíčových komponent:

  • Rovina správy vystavená jako rozhraní API sloužící ke konfiguraci služby prostřednictvím webu Azure Portal, PowerShellu a dalších podporovaných technologií
  • Brána (nebo rovina dat), která zodpovídá za proxy požadavky rozhraní API, uplatňování zásad a shromažďování telemetrie
  • Portál pro vývojáře, který používají vývojáři ke zjišťování, učení a onboardingu pro používání rozhraní API

Ve výchozím nastavení jsou všechny tyto komponenty nasazené v Azure, což způsobuje, že veškerý provoz rozhraní API (zobrazený jako plná černá šipka na následujícím obrázku) prochází přes Azure bez ohledu na to, kde se hostují back-endy implementované rozhraní API. Provozní jednoduchost tohoto modelu má náklady na vyšší latenci, problémy s dodržováním předpisů a v některých případech další poplatky za přenos dat.

Tok provozu rozhraní API bez bran v místním prostředí

Nasazení bran v místním prostředí do stejných prostředí, kde jsou hostované implementace rozhraní API back-endu, umožňuje provoz rozhraní API proudit přímo do back-endových rozhraní API, což snižuje latenci, optimalizuje náklady na přenos dat a umožňuje dodržování předpisů a zároveň zachovává výhody jediného bodu správy, pozorovatelnosti a zjišťování pro všechna rozhraní API v organizaci bez ohledu na to, kde jsou jejich implementace hostované.

Tok provozu rozhraní API se samohostovanými bránami

Zabalení

Samohostovaná brána je k dispozici jako Docker image kontejneru založeného na Linuxu z Registru artefaktů Microsoft. Můžete ho nasadit do Dockeru, Kubernetes nebo jakéhokoli jiného řešení orchestrace kontejnerů spuštěného v místním serverovém clusteru, cloudové infrastruktuře nebo pro účely vyhodnocení a vývoje na osobním počítači. Bránu v místním prostředí můžete také nasadit jako rozšíření clusteru do clusteru Kubernetes s podporou Azure Arc.

Obrázky kontejnerů

K dispozici je celá řada obrazů kontejnerů pro brány, které jsou hostované lokálně.

Konvence značek Doporučení Příklad Označení otáčení Doporučeno pro produkční prostředí
{major}.{minor}.{patch} Pomocí této značky vždy spustíte stejnou verzi brány. 2.0.0 ✔️
v{major} Pomocí této značky vždy spustíte hlavní verzi brány s každou novou funkcí a opravou. v2 ✔️
v{major}-preview Tuto značku použijte, pokud chcete vždy spustit nejnovější image kontejneru ve verzi Preview. v2-preview ✔️
latest Tuto značku použijte, pokud chcete vyhodnotit samostatně hostovanou bránu. latest ✔️
beta 1 Tuto značku použijte, pokud chcete vyhodnotit náhledové verze brány na vlastním serveru. beta ✔️

Úplný seznam dostupných značek najdete tady.

Verze Preview se oficiálně nepodporují a jsou určené jenom pro experimentální účely. Podívejte se na zásady podpory brány v místním prostředí.

Použití značek v oficiálních možnostech nasazení

Možnosti nasazení v portálu Azure používají v2 značku, která umožňuje používat nejnovější verzi image kontejneru samostatně hostované brány v2 se všemi aktualizacemi a opravami funkcí.

Poznámka:

Jako referenci jsou k dispozici fragmenty příkazů a YAML. Pokud chcete, můžete také použít konkrétnější značku.

Při instalaci brány s chartem Helm se optimalizuje označování obrázků. Verze aplikace Helm chartu připíná bránu na danou verzi a nespoléhá na latest.

Další informace najdete v tématu Instalace brány služby API Management v místním prostředí v Kubernetes s Helmem.

Riziko používání klouzavých značek

Průběžné značky jsou značky, které se potenciálně aktualizují při vydání nové verze image kontejneru. Použití tohoto typu značek umožňuje uživatelům kontejneru přijímat aktualizace image kontejneru, aniž by museli aktualizovat svá nasazení.

Pokud použijete tento typ značky, můžete paralelně spouštět různé verze, aniž byste si toho všimli, například při provádění akcí škálování po aktualizaci v2.

Příklad: Tag v2 je vydán s image kontejneru 2.0.0. Po vydání 2.1.0 bude značka v2 propojena s obrázkem 2.1.0.

Důležité

Zvažte použití konkrétní značky verze v produkčním prostředí, abyste se vyhnuli neúmyslným upgradům na novější verzi.

Možnosti připojení k Azure

Vlastní brány vyžadují TCP/IP připojení směrem ven k Azure na portu 443. Každá brána v místním prostředí musí být přidružená k jedné instanci služby API Management a je nakonfigurovaná prostřednictvím její roviny správy. Brána v místním prostředí využívá připojení k Azure pro:

  • Hlášení stavu odesíláním heartbeat zpráv každou minutu.
  • Pravidelně (každých 10 sekund) kontroluje a používá aktualizace konfigurace vždy, když jsou dostupné.
  • Odesílání metrik do služby Azure Monitor, pokud je to nakonfigurované.
  • Odesílání událostí do Application Insights, pokud je to nakonfigurované.

Závislosti plně kvalifikovaného názvu domény

Aby každá brána v místním prostředí fungovala správně, potřebuje odchozí připojení na portu 443 k následujícím koncovým bodům přidruženým ke své cloudové instanci služby API Management:

Koncový bod Povinné? Poznámky
Název hostitele koncového bodu konfigurace <api-management-service-name>.configuration.azure-api.net 1 Podporují se také vlastní názvy hostitelů a dají se použít místo výchozího názvu hostitele.
Veřejná IP adresa instance služby API Management ✔️ Dostatečná je IP adresa primárního umístění.
Veřejné IP adresy tagu služby Azure Storage Volitelné2 IP adresy musí odpovídat primárnímu umístění instance služby API Management.
Název hostitele účtu služby Azure Blob Storage Volitelné2 Účet přidružený k instanci (<blob-storage-account-name>.blob.core.windows.net).
Název hostitele účtu Azure Table Storage Volitelné2 Účet přidružený k instanci (<table-storage-account-name>.table.core.windows.net).
Koncové body pro Azure Resource Manager Volitelné3 Požadovaný koncový bod je management.azure.com.
Koncové body pro integraci Microsoft Entra Volitelné4 Požadované koncové body jsou <region>.login.microsoft.com a login.microsoftonline.com.
Koncové body pro integraci Azure Application Insights Volitelné5 Minimální požadované koncové body jsou rt.services.visualstudio.com:443, dc.services.visualstudio.com:443a {region}.livediagnostics.monitor.azure.com:443. Další informace najdete v dokumentaci ke službě Azure Monitor.
Koncové body pro integraci služby Event Hubs Volitelné5 Další informace najdete v dokumentaci ke službě Azure Event Hubs.
Koncové body pro integraci externí mezipaměti Volitelné5 Tento požadavek závisí na používané externí mezipaměti.

1Informace o instanci služby API Management v interní virtuální síti najdete v tématu Připojení v interní virtuální síti.
2Vyžaduje se pouze ve verzi 2, pokud se v zásadách používají inspektoři rozhraní API nebo kvóty.
3Vyžaduje se pouze při použití ověřování Microsoft Entra k ověření oprávnění RBAC.
4Vyžaduje se pouze v případě, že používáte ověřování Microsoft Entra nebo zásady související s Microsoft Entra.
5Vyžaduje se pouze v případě, že se tato funkce používá a vyžaduje informace o veřejné IP adrese, portu a názvu hostitele.

Důležité

  • Názvy hostitelů DNS musí být přeložitelné na IP adresy a odpovídající IP adresy musí být dostupné.
  • Názvy přidružených účtů úložiště jsou uvedené na stránce stavu síťového připojení služby na webu Azure Portal.
  • Veřejné IP adresy související s přidruženými účty úložiště jsou dynamické a můžou se měnit bez předchozího upozornění.

Připojení v interní virtuální síti

  • Privátní připojení. Pokud je samohostovaná brána nasazena ve virtuální síti, povolte soukromé připojení ke koncovému bodu konfigurace v2 z umístění samohostované brány, například pomocí soukromého DNS v propojené síti.

  • Připojení k internetu. Pokud se brána v místním prostředí musí připojit ke koncovému bodu konfigurace v2 přes internet, nakonfigurujte vlastní název hostitele pro koncový bod konfigurace a zveřejníte ho pomocí služby Azure Application Gateway.

Možnosti ověřování

Nastavení konfigurace kontejneru brány poskytují následující možnosti pro ověřování připojení mezi místní bránou a koncovým bodem konfigurace cloudové instance služby API Management.

Možnost Úvahy
Ověřování Microsoft Entra Nakonfigurujte jednu nebo více aplikací Microsoft Entra pro přístup k bráně.

Spravovat přístup samostatně pro každou aplikaci

Nakonfigurujte delší dobu vypršení platnosti tajných kódů v souladu se zásadami vaší organizace.

Standardní postupy Microsoft Entra slouží k přiřazování nebo odvolávání oprávnění uživatelů nebo skupin k aplikacím a k obměně tajných kódů.

Přístupový token brány. (Označuje se také jako ověřovací klíč.) Token je platný maximálně 30 dní a musí být obnoven v kontejnerech.

Je zajištěný klíčem brány, který je možné otočit nezávisle (například odvolat přístup).

Opětovné vygenerování klíče brány zneplatní všechny přístupové tokeny vytvořené s ním.

Návod

Informace o událostech Event Gridu generovaných bránou v místním prostředí, když je přístupový token brány blízko vypršení platnosti nebo vypršela platnost, najdete v tématu Azure API Management jako zdroj služby Event Grid . Pomocí těchto událostí zajistěte, aby se nasazené brány vždy mohly ověřit pomocí přidružené instance služby API Management.

Selhání připojení

Když dojde ke ztrátě připojení k Azure, brána v místním prostředí nemůže přijímat aktualizace konfigurace, hlásit stav nebo nahrát telemetrii.

Místně hostovaná brána je navržena tak, aby v případě poruchy zůstala neaktivní a dokázala přežít dočasnou ztrátu připojení k Azure. Dá se nasadit s místním zálohováním konfigurace nebo bez něj. Při zálohování konfigurace brány v místním prostředí pravidelně ukládají záložní kopii nejnovější stažené konfigurace na trvalém svazku připojeném ke svému kontejneru nebo podu.

Když je vypnuté zálohování konfigurace a připojení k Azure se přeruší:

  • Spouštění bran v místním prostředí nadále funguje pomocí kopie konfigurace v paměti.
  • Zastavené samohostované brány nebude možné spustit.

Když je zapnuté zálohování konfigurace a přeruší se připojení k Azure:

  • Spuštěné samostatně hostované brány pokračují ve funkci za použití kopie konfigurace uložené v paměti.
  • Zastavené samohostované brány můžou začít pomocí záložní kopie konfigurace.

Po obnovení připojení se každá místní brána ovlivněná výpadkem automaticky znovu připojí k přidružené instanci služby API Management a stáhne všechny aktualizace konfigurace, ke kterým došlo, když byla brána offline.

Zabezpečení

Omezení

Následující funkce, které jsou dostupné ve spravovaných branách, nejsou dostupné v místních branách:

  • Obnovení relace protokolu TLS
  • Znovujednání klientského certifikátu Aby bylo možné použít ověřování pomocí klientského certifikátu, musí uživatelé rozhraní API předložit své certifikáty jako součást počátečního TLS handshake. Chcete-li zajistit toto chování, povolte nastavení Vyjednat klientský certifikát při konfiguraci vlastního názvu hostitele (název domény) brány v místním prostředí.

Protokol TLS (Transport Layer Security)

Podporované protokoly

Výchozí nastavení brán hostovaných na místním prostředí podporuje protokol TLS v1.2.

Pokud používáte vlastní domény, můžete v řídicí rovině povolit protokol TLS verze 1.0 nebo v1.1.

Dostupné šifrovací sady

Self-hosted brány používají následující šifrovací sady pro připojení klienta i serveru:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA

Správa šifrovacích sad

Pomocí verze 2.1.1 a novější můžete spravovat šifry používané prostřednictvím konfigurace:

  • net.server.tls.ciphers.allowed-suites umožňuje definovat čárkami oddělený seznam šifer, které se mají použít pro připojení TLS mezi klientem rozhraní API a bránou v místním prostředí.
  • net.client.tls.ciphers.allowed-suites umožňuje definovat čárkami oddělený seznam šifer, které se mají použít pro připojení TLS mezi bránou v místním prostředí a back-endem.