Implementace ověřování a autorizace v Azure Container Apps
Azure Container Apps poskytuje integrované funkce ověřování a autorizace pro zabezpečení vaší aplikace kontejneru s aktivovaným externím přístupem s minimálním nebo žádným kódem. Integrovaná funkce ověřování pro Container Apps vám může ušetřit čas a úsilí tím, že poskytuje předem připravená ověřování s federovanými zprostředkovateli identit a umožňuje soustředit se na zbytek vaší aplikace.
- Azure Container Apps poskytuje přístup k různým integrovaným poskytovatelům ověřování.
- Integrované funkce ověřování nevyžadují žádný konkrétní jazyk, sadu SDK, znalosti zabezpečení ani žádný kód, který musíte napsat.
Tato funkce by se měla používat jenom s HTTPS. Ujistěte se, že je allowInsecure zakázáno v konfiguraci příchozího připojení vaší aplikace kontejneru. Aplikaci kontejneru můžete nakonfigurovat pro ověřování pomocí obsahu a rozhraní API webu nebo bez omezení přístupu k obsahu a rozhraním API webu.
- Pokud chcete omezit přístup aplikace jenom na ověřené uživatele, nastavte jeho nastavení Omezit přístup na Vyžadovat ověřování.
- Pokud se chcete ověřit, ale neomezovat přístup, nastavte jeho nastavení Omezit přístup na Možnost Povolit neověřený přístup.
Zprostředkovatelé identit
Container Apps používá federovanou identitu, kde poskytovatel identity třetí strany spravuje identity uživatelů a tok ověřování za vás. Ve výchozím nastavení jsou k dispozici následující zprostředkovatelé identity:
| Poskytovatel | Koncový bod přihlášení | Jak Na To - návod |
|---|---|---|
| Platforma Microsoft Identity | /.auth/login/aad |
Platforma Microsoft Identity |
/.auth/login/facebook |
||
| GitHub | /.auth/login/github |
GitHub |
/.auth/login/google |
||
| X | /.auth/login/twitter |
X |
| Libovolný zprostředkovatel OpenID Connect | /.auth/login/<providerName> |
OpenID Connect |
Pokud používáte některého z těchto poskytovatelů, je koncový bod přihlášení k dispozici pro ověření uživatele a ověření ověřovacího tokenu od zprostředkovatele. Uživatelům můžete poskytnout libovolný počet těchto možností poskytovatele.
Architektura funkcí
Komponenta middlewaru pro ověřování a autorizaci je součástí platformy, která běží jako sidecar kontejner u každého exempláře vaší aplikace. Pokud je tato možnost povolená, každý příchozí požadavek HTTP prochází vrstvou zabezpečení před tím, než ji zpracuje vaše aplikace.
Middleware platformy zpracovává několik věcí pro vaši aplikaci:
- Ověřuje uživatele a klienty pomocí specifikovaných zprostředkovatelů identity.
- Spravuje ověřenou relaci.
- Vloží informace o identitě do hlaviček požadavků HTTP.
Modul ověřování a autorizace se spouští v samostatném kontejneru, který je izolovaný od kódu vaší aplikace. Vzhledem k tomu, že kontejner zabezpečení neběží v procesu, není možná přímá integrace s konkrétními jazykovými architekturami. Relevantní informace, které vaše aplikace potřebuje, se ale poskytují v hlavicích požadavků.
Tok ověřování
Tok ověřování je stejný pro všechny poskytovatele, ale liší se v závislosti na tom, jestli se chcete přihlásit pomocí sady SDK poskytovatele:
Bez sady SDK poskytovatele (tok řízený serverem nebo serverový tok): Aplikace deleguje proces federovaného přihlášení na Container Apps. Delegování se obvykle používá u aplikací prohlížeče, které uživateli zobrazí přihlašovací stránku poskytovatele.
Se sadou SDK zprostředkovatele (tok řízený klientem nebo tokem klienta): Aplikace přihlásí uživatele k poskytovateli ručně a pak odešle ověřovací token do Container Apps k ověření. Tento přístup je typický pro aplikace bez prohlížeče, které uživateli nenabídnou přihlašovací stránku poskytovatele. Příkladem je nativní mobilní aplikace, která uživatele podepisuje pomocí sady SDK poskytovatele.