Vývoj aplikací Microsoft Entra

Dokončeno

Teď, když lépe rozumíte základním principům a výhodám Microsoft Entra ID, je potřeba určit, jak můžete pomocí jejích schopností implementovat ověřování a autorizaci pro vaši aplikaci. Uvědomujete si, že abyste pomohli zabezpečit data vašich zákazníků, musíte zajistit, aby se vaše implementace integrovali s mechanismy řízení přístupu PostgreSQL. Rozhodli jste se začít tím, že identifikujete úlohy, které jsou součástí vývoje, zřizování a správy aplikací Microsoft Entra. Chcete také určit, jak můžete řešit potřebu poskytnout přístup k aplikaci více zákazníkům.

Pokud chcete implementovat aplikace založené na ID Microsoft Entra, budete muset provést několik úloh správy souvisejících s aplikacemi, včetně registrace, konfigurace jeho oprávnění a správy tajných kódů.

Co je registrace aplikace?

Při provozu v prostředí Microsoft Entra se uživatel ověří v aplikaci ve dvou fázích:

  1. Nejprve Microsoft Entra ID ověřuje identitu uživatele. Po úspěšném ověření vydá Microsoft Entra ID tokeny, které obsahují informace odrážející úspěšné ověření.
  2. Uživatel předá aplikaci tokeny. Aplikace ověří tokeny zabezpečení uživatele, aby se zajistilo úspěšné ověření.

Aby bylo možné takové ověření provést, musí být aplikace schopná bezpečně komunikovat s ID Microsoft Entra. To zase vyžaduje, aby samotná aplikace fungovala jako objekt zabezpečení Microsoft Entra. Aby bylo možné, musíte zajistit, aby byla aplikace reprezentována v nějaké podobě ve stejném tenantovi Microsoft Entra, který obsahuje účet ověřovacího uživatele.

Existují dvě reprezentace aplikace v Microsoft Entra ID:

  • Objekt aplikace, který definuje vlastnosti aplikace.
  • Instanční objekt, který poskytuje funkce ověřování a autorizace a odkazuje na objekt aplikace.

Objekty aplikace můžete vytvářet přímo na webu Azure Portal v okně Registrace aplikací. U vlastních aplikací taková registrace automaticky vytvoří odpovídající instanční objekt. Potom můžete instanční objekty spravovat na webu Azure Portal z okna Podnikové aplikace .

Během registrace aplikace máte možnost zadat identifikátor URI (Uniform Resource Identifier) přesměrování aplikace. Jeho hodnota určuje umístění, do kterého autorizační server přesměruje uživatele po úspěšném autorizaci aplikace. Autorizační server odešle kód nebo token identifikátoru URI přesměrování, takže je důležité, abyste v rámci procesu registrace aplikace zaregistrovali správné umístění.

Poznámka:

Identifikátor URI přesměrování musí začínat https, pokud na něj odkazuje localhost, v takovém případě můžete použít http://localhost. Rozlišují se také malá a velká písmena.

Co jsou oprávnění aplikace?

Aplikace, které se integrují s Microsoft Entra ID, se řídí autorizačním modelem, který umožňuje řídit podrobná oprávnění k dalším integrovaným aplikacím a prostředkům Microsoft Entra. Id Microsoft Entra spoléhá na autorizační model OAuth 2.0 k implementaci těchto oprávnění. V OAuth 2.0 jsou oprávnění uspořádaná do sad, běžně označovaných jako obory.

Jako vývojář si vyžádáte oprávnění, která vaše aplikace potřebuje, zadáním řetězce oprávnění jako součásti konfigurace. Například nastavením řetězce oprávnění na "https://graph.microsoft.com/Calendars.Read", znamená to, že aplikace bude muset být schopna číst kalendáře uživatelů v Microsoft Graphu. Aplikace musí mít tato oprávnění udělená prostřednictvím souhlasu, který musí udělit buď uživatel Microsoft Entra, nebo správce Microsoft Entra v závislosti na rozsahu těchto oprávnění.

ID Microsoft Entra podporuje dva typy oprávnění:

  • Delegovaná oprávnění používají interaktivní aplikace s přihlášeným uživatelem. V důsledku toho aplikace funguje jménem přihlášeného uživatele, když přistupuje k cílovému prostředku.
  • Oprávnění aplikace používají aplikace, které běží bez nutnosti spoléhat se na přihlášeného uživatele, jako jsou služby na pozadí. Tyto aplikace vyžadují souhlas správce.

Co jsou tajné kódy aplikací?

Pro instanční objekty jsou k dispozici dva typy ověřování:

  • Ověřování založené na heslech, které závisí na tajných kódech aplikací, které můžete vygenerovat přímo na webu Azure Portal. Při generování tajného kódu zadáte jeho životnost.
  • Ověřování založené na certifikátech, které závisí na certifikátech, které nahrajete do ID Microsoft Entra.

Poznámka:

Pokud bude vaše aplikace hostovaná výpočetním prostředkem Azure, jako je virtuální počítač Azure, webová aplikace služby Aplikace Azure nebo cluster AKS, a ne použití instančních objektů, zvažte použití spravovaných identit pro vaši identitu aplikace. To eliminuje potřebu spravovat hesla nebo certifikáty pro ověřování.

Jaké jsou různé typy scénářů ověřování aplikací?

Tok ověřování a odpovídající podrobnosti konfigurace závisí na typu aplikace. Mezi běžné kategorie typů aplikací patří:

  • Aplikace založené na prohlížeči Jedná se o webové aplikace, ve kterých tokeny získává javascriptová nebo typescriptová aplikace spuštěná v prohlížeči. Tyto aplikace často používají architekturu, jako je Angular, React nebo Vue. MSAL.js je jediná knihovna Microsoft Authentication Library, která podporuje aktualizace SPA.
  • Veřejné klientské aplikace. Jedná se o aplikace, které při získávání tokenů vždy spoléhají na přihlášené uživatele. Mezi takové aplikace patří desktopové a mobilní aplikace, které volají webová rozhraní API jménem přihlášených uživatelů.
  • Důvěrné klientské aplikace. Tyto tokeny získávají samostatně. Aplikace v této kategorii zahrnují webové aplikace, které volají webové rozhraní API, webová rozhraní API, která volají jiné webové rozhraní API, démony Linuxu a služby Windows.

První dvě výše uvedené položky ověřují uživatele, zatímco třetí ověřuje pouze aplikaci nebo službu mezi uživatelem a back-endovou službou. V tomto případě back-endová služba o koncovém uživateli nic neví, ale bude vědět, kterou aplikaci používá. Představte si například aplikaci, která používá Azure Maps jako back-endovou službu. Služba Maps potřebuje vědět, že autorizovaná aplikace volá pro správnou fakturaci, ale nemusí o koncovém uživateli nic vědět.

Jaký je rozdíl mezi aplikacemi Microsoft Entra s jedním tenantem a více tenanty?

Jako vývojář můžete nakonfigurovat aplikaci tak, aby byla během registrace aplikace buď jednoklientská, nebo víceklientská:

  • Aplikace s jedním tenantem jsou dostupné jenom v tenantovi, ve které byly zaregistrované, a označují se jako jejich domácí tenant.
  • Aplikace s více tenanty jsou dostupné uživatelům ve svém domovském tenantovi i v jiných tenantech Microsoft Entra.

Pokud k registraci aplikace používáte Azure Portal, zadáte tenanta aplikace nastavením vlastnosti cílové skupiny na jednu z následujících hodnot:

  • Pouze účty v tomto adresáři. Výsledkem je konfigurace s jedním tenantem. Díky tomu můžete aplikaci udělit přístup k jakémukoli objektu zabezpečení ve vašem tenantovi, včetně účtů hostů.
  • Účty v libovolném adresáři Microsoft Entra. Výsledkem je konfigurace s více tenanty. To umožňuje uživatelům mimo vaši organizaci zaregistrovat aplikaci v příslušných tenantech Microsoft Entra.
  • Účty v libovolném adresáři Microsoft Entra a osobních účtech Microsoft (například Skype, Xbox, Outlook.com). Výsledkem je také konfigurace s více tenanty, ale umožňuje uživatelům s osobními účty Microsoft aplikaci používat.

Poznámka:

Objekt aplikace existuje pouze v domovském tenantovi, ale v případě víceklientové konfigurace na něj může odkazovat několik instančních objektů v různých tenantech Microsoft Entra.