Odolná rozhraní s externími procesy

V tomto článku vám poskytneme pokyny, jak naplánovat a implementovat rozhraní RESTful API na cestě uživatele a zajistit, aby vaše aplikace byla odolnější vůči selháním rozhraní API.

Image shows interfaces with external process components

Zajištění správného umístění rozhraní API

Zásady rozhraní IEF (Identity Experience Framework) umožňují volat externí systém pomocí technického profilu rozhraní RESTful API. Externí systémy nejsou řízeny prostředím modulu runtime IEF a představují potenciální bod selhání.

Správa externích systémů pomocí rozhraní API

  • Při volání rozhraní pro přístup k určitým datům zkontrolujte, jestli data budou řídit rozhodnutí o ověření. Vyhodnoťte, jestli jsou informace nezbytné pro základní funkce aplikace. Například elektronické obchodování vs. sekundární funkce, jako je správa. Pokud informace nejsou potřeba pro ověřování a vyžadují se jenom pro sekundární scénáře, zvažte přesun volání do logiky aplikace.

  • Pokud jsou data potřebná k ověřování relativně statická a malá a nemá žádný jiný obchodní důvod k externímu z adresáře, zvažte jejich použití v adresáři.

  • Kdykoli je to možné, odeberte volání rozhraní API z předem ověřené cesty. Pokud to nemůžete, musíte před rozhraními API umístit striktní ochranu útoků DoS (DoS) a DDoS (Distributed Denial of Service). Útočníci můžou načíst přihlašovací stránku a pokusit se zahlcet rozhraní API útoky doS a zakázat vaši aplikaci. Například použití CAPTCHA při přihlášení vám může pomoct tok registrace.

  • Konektory rozhraní API integrovaného toku uživatelů pro registraci používejte všude, kde je to možné integrovat s webovými rozhraními API po federaci s zprostředkovatelem identity během registrace nebo před vytvořením uživatele. Vzhledem k tomu, že toky uživatelů jsou již široce testovány, je pravděpodobné, že nemusíte provádět funkční, výkon nebo škálovací testování na úrovni toku uživatele. Stále potřebujete otestovat aplikace pro funkce, výkon a škálování.

  • Technické profily rozhraní RESTful API Služby Azure AD B2C neposkytují žádné chování při ukládání do mezipaměti. Místo toho profil rozhraní RESTful API implementuje logiku opakování a časový limit, který je integrovaný do zásad.

  • Pro rozhraní API, která potřebují zapisovat data, zařadíte úlohu do fronty, aby takové úlohy prováděl pracovní proces na pozadí. Služby, jako jsou fronty Azure, je možné použít. Tento postup zajistí efektivní vrácení rozhraní API a zvýšení výkonu provádění zásad.

Zpracování chyb rozhraní API

Vzhledem k tomu, že rozhraní API žijí mimo systém Azure AD B2C, je potřeba mít v rámci technického profilu správné zpracování chyb. Ujistěte se, že je koncový uživatel správně informován a aplikace se může správně vypořádat se selháním.

Řádné zpracování chyb rozhraní API

  • Rozhraní API může selhat z různých důvodů, aby vaše aplikace byla odolná vůči takovým selháním. Pokud rozhraní API nemůže dokončit požadavek, vraťte chybovou zprávu HTTP 4XX. V zásadách Azure AD B2C se pokuste elegantně zpracovat nedostupnost rozhraní API a možná vykreslíte omezené prostředí.

  • Zpracujte přechodné chyby elegantně. Profil rozhraní RESTful API umožňuje konfigurovat chybové zprávy pro různé jističe.

  • Proaktivní monitorování a používání kontinuální integrace nebo průběžného doručování (CICD) obměňte přihlašovací údaje pro přístup k rozhraní API, jako jsou hesla a certifikáty používané modulem technického profilu.

API Management – osvědčené postupy

Když nasadíte rozhraní REST API a nakonfigurujete technický profil RESTful, následující doporučené osvědčené postupy vám pomůžou nedělit běžné chyby a věci, které se přehlédnou.

Správa rozhraní API

  • API Management (APIM) publikuje, spravuje a analyzuje vaše rozhraní API. APIM také zpracovává ověřování za účelem zajištění zabezpečeného přístupu k back-endovým službám a mikroslužbám. Pomocí brány rozhraní API můžete škálovat nasazení rozhraní API, ukládání do mezipaměti a vyrovnávání zatížení.

  • Doporučujeme získat správný token na začátku cesty uživatele místo vícenásobného volání pro každé rozhraní API a zabezpečit rozhraní API Azure APIM.

Další kroky