Přizpůsobení tokenů
Jako vývojář je vaše primární interakce s ID Microsoft Entra v žádosti o token k identifikaci uživatele. Také si vyžádáte token, který získá autorizaci pro volání webového rozhraní API. Token webového rozhraní API určuje, co může rozhraní API dělat, když obsluhuje konkrétní požadavek. V tomto článku se dozvíte o informacích, které můžete přijímat v tokenech, a o tom, jak přizpůsobit tokeny. Tyto nulová důvěra (Zero Trust) osvědčené postupy pro vývojáře zlepšují flexibilitu a kontrolu a současně zvyšují zabezpečení aplikací s nejnižšími oprávněními.
Vaše důvody pro přizpůsobení tokenů aplikace závisí na procesu, který používáte k řízení podrobnější autorizace v aplikacích a rozhraních API. V aplikaci můžete mít například různé role uživatelů, úrovně přístupu a funkce, které spoléhají na informace z tokenů.
Rozhraní Microsoft Graph API poskytuje robustní sadu informací a dat adresáře v Microsoftu 365. Můžete vyvíjet jemně odstupňovaný a bohatý systém autorizace tím, že budete stavět na datech v Microsoft Graphu. Můžete například získat přístup k informacím z členství ve skupině uživatele, podrobných dat profilu, SharePointu a Outlooku, abyste je mohli použít při rozhodování o autorizaci. Do tokenu můžete zahrnout také autorizační data z ID Microsoft Entra.
Autorizace na úrovni aplikace
IT specialisté můžou přidávat autorizaci na úrovni aplikace bez přizpůsobení tokenu ani přidání kódu vývojářem.
IT specialisté můžou zabránit vystavování tokenů jakékoli aplikaci v tenantovi pomocí požadovaného příznaku přiřazení uživatele, aby se k aplikaci mohli přihlásit jenom sada uživatelů. Bez tohoto příznaku mají všichni uživatelé v tenantovi přístup k aplikaci. S tímto příznakem mají k aplikaci přístup pouze přiřazení uživatelé a skupiny. Když přiřazený uživatel k aplikaci přistupuje, aplikace obdrží token. Pokud uživatel nemá přiřazení, aplikace neobdrží token. Nezapomeňte vždy řádně zpracovávat žádosti o tokeny, které nedostávají tokeny.
Metody přizpůsobení tokenu
Tokeny můžete přizpůsobit dvěma způsoby: volitelné deklarace identity a mapování deklarací identity.
Volitelné deklarace identity
Volitelné deklarace identity určují, které deklarace identity mají microsoft Entra ID odesílat do vaší aplikace v tokenech. Možné případy použití volitelných deklarací identity:
- Vyberte další deklarace identity, které chcete zahrnout do tokenů aplikace.
- Změňte chování deklarací identity, které platforma Microsoft Identity Platform vrací v tokenech.
- Přidání vlastních deklarací identity do vaší aplikace a přístup k nim
Volitelné deklarace identity zablokují objekt registrace aplikace s definovaným schématem. Platí pro aplikaci bez ohledu na to, kde byla spuštěna. Při psaní víceklientských aplikací fungují volitelné deklarace identity dobře, protože jsou konzistentní v každém tenantovi v Microsoft Entra ID. NAPŘÍKLAD IP adresa není specifická pro tenanta, zatímco aplikace má IP adresu.
Ve výchozím nastavení se uživatelé typu host v tenantovi můžou také přihlásit k vaší aplikaci. Pokud chcete blokovat uživatele typu host, přihlaste se k volitelné deklaraci identity (acct). Pokud je 1, má uživatel klasifikaci hostů. Pokud chcete blokovat hosty, zablokujte tokeny pomocí acct==1.
Zásady mapování deklarací identity
V Microsoft Entra ID představují objekty zásad sady pravidel pro jednotlivé aplikace nebo pro všechny aplikace v organizaci. Zásady mapování deklarací identity mění deklarace identity, které Microsoft Entra ID vydává v tokenech pro konkrétní aplikace.
Mapování deklarací identity se používá pro informace specifické pro tenanta, které nemají žádné schéma (například EmployeeID, DivisionName). Mapování deklarací identity se vztahuje na úrovni instančního objektu, kterou řídí správce tenanta. Mapování deklarací identity odpovídá podnikové aplikaci nebo instančnímu objektu pro danou aplikaci. Každý tenant může mít vlastní mapování deklarací identity.
Pokud vyvíjíte obchodní aplikaci, můžete se podívat konkrétně na to, co váš tenant dělá (jaké konkrétní deklarace identity má tenant k dispozici, které můžete použít ve svém tokenu). Pokud má například organizace ve svém místní Active Directory vlastnost názvu dělení uživatele (nikoli standardní pole v MICROSOFT Entra ID), můžete ji synchronizovat s ID Microsoft Entra pomocí nástroje Microsoft Entra Připojení.
K zahrnutí těchto informací můžete použít jeden ze standardních atributů rozšíření. Token můžete definovat s deklarací identity názvu dělení, kterou můžete vytvořit z odpovídajícího rozšíření (i když se nevztahuje na každého tenanta). Například organizace umístí název dělení do atributu rozšíření 13.
Mapování deklarací identity umožňuje, aby fungovalo pro jiného tenanta, který umístí název jejich dělení do atributu sedm.
Přizpůsobení tokenu plánu
Který token přizpůsobíte, závisí na typu aplikace: klientská aplikace nebo rozhraní API. V tom, co můžete udělat při přizpůsobení tokenu, není žádný rozdíl. To, co můžete vložit do tokenu, je stejné pro každý z nich. Který token zvolíte pro přizpůsobení, závisí na tom, jaký token vaše aplikace využívá.
Přizpůsobení tokenů ID
Pokud vyvíjíte klientskou aplikaci, přizpůsobíte token ID, protože se jedná o token, který požadujete k identifikaci uživatele. Token patří vaší aplikaci, když deklarace cílové skupiny (aud
) v tokenu odpovídá ID klienta vaší aplikace. U klientské aplikace, která volá rozhraní API, ale neimplementuje je, nezapomeňte přizpůsobit pouze token ID vaší aplikace.
Azure Portal a rozhraní Microsoft Graph API vám také umožňují přizpůsobit přístupový token pro vaši aplikaci, ale tato přizpůsobení nemají žádný vliv. Přístupový token pro rozhraní API, které nevlastníte, nemůžete přizpůsobit. Nezapomeňte, že se vaše aplikace nesmí pokoušet dekódovat ani kontrolovat přístupový token, který klientská aplikace obdrží jako autorizaci pro volání rozhraní API.
Přizpůsobení přístupových tokenů
Pokud vyvíjíte rozhraní API, přizpůsobíte přístupový token , protože vaše rozhraní API přijímá přístupové tokeny jako součást volání klienta do vašeho rozhraní API.
Klientské aplikace vždy přizpůsobí token ID, který obdrží k identitě uživatele. Rozhraní API přizpůsobí přístupové tokeny, které rozhraní API přijímá jako součást volání rozhraní API.
Skupiny a role aplikací
Jednou z nejběžnějších technik autorizace je založit přístup na členství ve skupinách nebo přiřazených rolích uživatele. Konfigurace deklarací identity skupin a rolí aplikací v tokenech ukazuje, jak nakonfigurovat aplikace s definicemi rolí aplikace a přiřadit skupiny zabezpečení k rolím aplikací. Tyto metody pomáhají zlepšit flexibilitu a řízení a současně zvýšit zabezpečení nulové důvěryhodnosti aplikace s nejnižšími oprávněními.
Další kroky
- Mapování deklarací identity uživatelů spolupráce B2B popisuje podporu ID Microsoft Entra pro přizpůsobení deklarací identity vydané v tokenu SAML (Security Assertion Markup Language) pro uživatele spolupráce B2B.
- Přizpůsobte deklarace identity tokenu SAML aplikace, když se uživatel ověřuje v aplikaci prostřednictvím platformy Microsoft Identity Platform pomocí protokolu SAML 2.0.
- Služba API Protection popisuje osvědčené postupy pro ochranu rozhraní API prostřednictvím registrace, definování oprávnění a souhlasu a vynucování přístupu k dosažení vašich cílů nulová důvěra (Zero Trust).
- Osvědčené postupy autorizace pomáhají implementovat nejlepší modely autorizace, oprávnění a souhlasu pro vaše aplikace.
- K vytváření zabezpečených aplikací použijte osvědčené postupy pro vývoj identit a přístupu nulová důvěra (Zero Trust) v životním cyklu vývoje aplikací.