Anpassa token
Som utvecklare är din primära interaktion med Microsoft Entra-ID i att begära en token för att identifiera användaren. Du begär också en token för att få auktorisering för att anropa ett webb-API. Webb-API-token avgör vad det API:et kan göra när det skickar en viss begäran. I den här artikeln får du lära dig mer om den information som du kan ta emot i token och hur du kan anpassa token. Dessa Nolltillit bästa praxis för utvecklare förbättrar flexibiliteten och kontrollen samtidigt som programsäkerheten med minsta möjliga behörighet ökar.
Varför du anpassar dina programtoken beror på vilken process du använder för att få mer detaljerad auktorisering i dina program och API:er. Du kan till exempel ha olika användarroller, åtkomstnivåer och funktioner i din app som förlitar sig på information från token.
Microsoft Graph API innehåller en robust uppsättning kataloginformation och data i Microsoft 365. Du kan utveckla ett detaljerad och omfattande auktoriseringssystem genom att bygga vidare på data i Microsoft Graph. Du kan till exempel komma åt information från användarens gruppmedlemskap, detaljerade profildata, SharePoint och Outlook som du kan använda i dina auktoriseringsbeslut. Du kan också inkludera auktoriseringsdata i token från Microsoft Entra-ID.
Auktorisering på programnivå
It-proffs kan lägga till auktorisering på appnivå utan att anpassa token eller låta utvecklaren lägga till någon kod.
IT-proffs kan förhindra att token utfärdas till alla appar i klientorganisationen med hjälp av flaggan för användartilldelning som krävs för att säkerställa att endast en uppsättning användare kan logga in på programmet. Utan den här flaggan kan alla användare i en klientorganisation komma åt programmet. Med den här flaggan kan endast tilldelade användare och grupper komma åt programmet. När en tilldelad användare kommer åt appen får appen en token. Om användaren inte har någon tilldelning får appen ingen token. Kom ihåg att alltid hantera tokenbegäranden som inte tar emot token.
Anpassningsmetoder för token
Det finns två sätt att anpassa token: valfria anspråk och anspråksmappning.
Valfria anspråk
Valfria anspråk anger vilka anspråk du vill att Microsoft Entra-ID ska skicka till ditt program i token. Du kan använda valfria anspråk för att:
- Välj fler anspråk som ska inkluderas i dina programtoken.
- Ändra beteendet för anspråk som Microsofts identitetsplattform returnerar i token.
- Lägga till och få åtkomst till anpassade anspråk för ditt program.
Valfria anspråk hänger av programregistreringsobjektet med ett definierat schema. De gäller för programmet oavsett var det kördes. När du skriver ett program med flera klienter fungerar valfria anspråk bra eftersom de är konsekventa för alla klienter i Microsoft Entra-ID. En IP-adress är till exempel inte klientspecifik medan ett program har en IP-adress.
Som standard kan gästanvändare i en klientorganisation också logga in på din app. Om du vill blockera gästanvändare kan du anmäla dig till det valfria anspråket (acct). Om det är 1 har användaren en gästklassificering. Om du vill blockera gäster blockerar du token med acct==1.
Principer för anspråksmappning
I Microsoft Entra-ID representerar principobjekt uppsättningar med regler för enskilda program eller för alla program i en organisation. En princip för anspråksmappning ändrar de anspråk som Microsoft Entra-ID utfärdar i token för specifika program.
Du använder anspråksmappning för klientspecifik information som inte har något schema (till exempel EmployeeID, DivisionName). Anspråksmappning gäller på den tjänsthuvudnamnsnivå som klientadministratören styr. Anspråksmappning motsvarar företagsappen eller tjänstens huvudnamn för programmet. Varje klientorganisation kan ha en egen anspråksmappning.
Om du utvecklar ett verksamhetsspecifikt program kan du titta närmare på vad din klientorganisation gör (vilka specifika anspråk som din klientorganisation har tillgängliga som du kan använda i din token). Om en organisation till exempel har en användares divisionsnamnegenskap (inte ett standardfält i Microsoft Entra-ID) i sina lokal Active Directory kan du använda Microsoft Entra Anslut för att synkronisera den med Microsoft Entra-ID.
Du kan använda något av standardtilläggsattributen för att innehålla den informationen. Du kan definiera din token med ett anspråk för divisionsnamn som du kan skriva från motsvarande tillägg (även om det inte gäller för varje klientorganisation). En organisation placerar till exempel sitt divisionsnamn i tilläggsattributet 13.
Med anspråksmappning kan du få det att fungera för en annan klientorganisation som placerar sitt divisionsnamn i attributet sju.
Anpassning av plantoken
Vilken token du anpassar beror på din typ av program: klientprogram eller API. Det finns ingen skillnad i vad du kan göra för att anpassa din token. Det du kan lägga till i token är detsamma för var och en av dem. Vilken token du väljer att anpassa beror på vilken token appen använder.
Anpassa ID-token
Om du utvecklar ett klientprogram anpassar du ID-token eftersom det är den token som du begär för att identifiera användaren. En token tillhör din app när målgruppsanspråket (aud
) i token matchar programmets klient-ID. För ett klientprogram som anropar API:er men inte implementerar dem kontrollerar du att du bara anpassar appens ID-token.
Med Azure-portalen och Microsoft Graph API kan du även anpassa åtkomsttoken för din app, men de anpassningarna har ingen effekt. Du kan inte anpassa en åtkomsttoken för ett API som du inte äger. Kom ihåg att din app inte får försöka avkoda eller inspektera en åtkomsttoken som klientappen får som auktorisering för att anropa ett API.
Anpassa åtkomsttoken
Om du utvecklar ett API anpassar du åtkomsttoken eftersom ditt API tar emot åtkomsttoken som en del av klientens anrop till ditt API.
Klientprogram anpassar alltid den ID-token som de tar emot för att identifiera användaren. API:er anpassar de åtkomsttoken som API:et tar emot som en del av anropet till API:et.
Grupper och approller
En av de vanligaste auktoriseringsteknikerna är att basera åtkomsten på en användares gruppmedlemskap eller tilldelade roller. Konfigurera gruppanspråk och approller i token visar hur du konfigurerar dina appar med approlldefinitioner och tilldelar säkerhetsgrupper till approller. De här metoderna bidrar till att förbättra flexibiliteten och kontrollen samtidigt som säkerheten för program utan förtroende ökar med minsta möjliga behörighet.
Nästa steg
- B2B-samarbetsanspråkmappning beskriver Microsoft Entra ID-stöd för anpassning av anspråk som utfärdas i SAML-token (Security Assertion Markup Language) för B2B-samarbetsanvändare.
- Anpassa saml-tokenanspråk för appar när en användare autentiserar till ett program via Microsofts identitetsplattform med hjälp av SAML 2.0-protokollet.
- API Protection beskriver metodtips för att skydda ditt API genom registrering, definiera behörigheter och medgivande samt framtvinga åtkomst för att uppnå dina Nolltillit mål.
- Metodtips för auktorisering hjälper dig att implementera de bästa auktoriserings-, behörighets- och medgivandemodellerna för dina program.
- Använd bästa praxis för utveckling av Nolltillit identitets- och åtkomsthantering i programutvecklingslivscykeln för att skapa säkra program.