Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
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é.
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_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_DHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_DHE_RSA_WITH_AES_256_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_DHE_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHATLS_ECDHE_RSA_WITH_AES_256_CBC_SHATLS_DHE_RSA_WITH_AES_256_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHATLS_ECDHE_RSA_WITH_AES_128_CBC_SHATLS_DHE_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_AES_128_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHATLS_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-suitesumožň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-suitesumožň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.
Související obsah
- Přehled brány rozhraní API
- Zásady podpory pro samo-hostovanou bránu
- API Management v hybridním a multicloudovém světě
- Pokyny pro spuštění samosprávované brány na Kubernetes v produkčním prostředí
- Nasazení samo-hostované brány do Dockeru
- Nasadit samostatně hostovanou bránu do Kubernetes
- Nasazení brány v místním prostředí do clusteru Kubernetes s podporou Azure Arc
- Nasazení samostatně hostované brány do Azure Container Apps
- Nastavení konfigurace brány v místním prostředí
- Možnosti pozorovatelnosti ve službě API Management
- Integrace Dapr s lokálně hostovanou bránou