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í externí aplikace kontejneru s povoleným příchozím přenosem dat 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 allowInsecure , že je v konfiguraci příchozího přenosu dat vaší aplikace kontejneru zakázaná. 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, ve které za vás spravuje identity a tok ověřování uživatelů třetí strany. Ve výchozím nastavení jsou k dispozici následující zprostředkovatelé identity:

Poskytovatel Koncový bod přihlášení Pokyny k návodům
Kontroly platformy Microsoft Identity /.auth/login/aad Kontroly platformy 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 funkce platformy, která běží jako kontejner sajdkáře na každé replice ve vaší aplikaci. 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ů kontejnerem sajdkára, který komunikuje se zprostředkovateli identit, než povolí provoz do kontejneru aplikace

Middleware platformy zpracovává několik věcí pro vaši aplikaci:

  • Ověřuje uživatele a klienty pomocí zadaný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 zprostředkovatele (tok řízeného serverem nebo tok serveru): Aplikace deleguje federované přihlašování do 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.