Implementace ověřování a autorizace v Azure Container Apps

Dokončeno

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
Facebook /.auth/login/facebook Facebook
GitHub /.auth/login/github GitHub
Google /.auth/login/google 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.

Diagram znázorňující zachytávání požadavků pomocí sidecar kontejneru, který komunikuje se zprostředkovateli identity, před povolením provozu ke kontejneru 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.