Lägg till approller i program och ta emot dem i din token
Rollbaserad åtkomstkontroll (RBAC) är en populär mekanism för att framtvinga auktorisering i program. MED RBAC kan administratörer bevilja behörigheter till roller i stället för till specifika användare eller grupper. Administratören kan sedan tilldela roller till olika användare och grupper för att styra vem som har åtkomst till vilket innehåll och vilka funktioner.
Genom att använda RBAC med programrolls- och rollanspråk kan utvecklare på ett säkert sätt framtvinga auktorisering i sina appar med mindre ansträngning.
En annan metod är att använda Microsoft Entra-grupper och gruppanspråk enligt kodexemplet active-directory-aspnetcore-webapp-openidconnect-v2 på GitHub. Microsoft Entra-grupper och programroller är inte ömsesidigt uteslutande. de kan användas tillsammans för att ge ännu mer detaljerad åtkomstkontroll.
Deklarera roller för ett program
Du definierar approller med hjälp av administrationscentret för Microsoft Entra under appregistreringsprocessen. Approller definieras i en programregistrering som representerar en tjänst, en app eller ett API. När en användare loggar in på programmet genererar Microsoft Entra-ID ett roles
anspråk för varje roll som användaren eller tjänstens huvudnamn har beviljats, vilket kan användas för att implementera anspråksbaserad auktorisering. Approller kan tilldelas till en användare eller en grupp användare. Approller kan också tilldelas till tjänstens huvudnamn för ett annat program eller till tjänstens huvudnamn för en hanterad identitet.
Om du för närvarande lägger till ett huvudnamn för tjänsten i en grupp och sedan tilldelar en approll till den gruppen lägger Inte Microsoft Entra-ID till anspråket roles
till token som det utfärdar.
Approller deklareras med hjälp av användargränssnittet för approller i administrationscentret för Microsoft Entra:
Antalet roller som du lägger till antal mot programmanifestgränser som tillämpas av Microsoft Entra-ID. Information om dessa gränser finns i avsnittet Manifestgränser i manifestreferensen för Microsoft Entra-appen.
Användargränssnitt för approller
Dricks
Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.
Så här skapar du en approll med hjälp av microsoft Entra-administrationscentrets användargränssnitt:
Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till klientorganisationen som innehåller appregistreringen från menyn Kataloger + prenumerationer.
Bläddra till Identitetsprogram>> Appregistreringar och välj sedan det program som du vill definiera approller i.
Under Hantera väljer du Approller och sedan Skapa approll.
I fönstret Skapa en approll anger du inställningarna för rollen. Tabellen som följer bilden beskriver varje inställning och deras parametrar.
Fält Description Exempel Visningsnamn Visningsnamn för approllen som visas i administratörens medgivande och apptilldelningsupplevelser. Det här värdet kan innehålla blanksteg. Survey Writer
Tillåtna medlemstyper Anger om den här approllen kan tilldelas till användare, program eller både och.
När det är tillgängligt förapplications
visas approller som programbehörigheter i en appregistrerings API-behörigheter > för Hantera avsnitt >Lägg till en behörighet > Mina API:er > Välj en API-programbehörighet>.Users/Groups
Värde Anger värdet för det rollanspråk som programmet ska förvänta sig i token. Värdet ska exakt matcha strängen som refereras i programmets kod. Värdet får inte innehålla blanksteg. Survey.Create
Beskrivning En mer detaljerad beskrivning av approllen som visas under tilldelning av administratörsappar och medgivandeupplevelser. Writers can create surveys.
Vill du aktivera den här approllen? Anger om approllen är aktiverad. Om du vill ta bort en approll avmarkerar du den här kryssrutan och tillämpar ändringen innan du försöker ta bort åtgärden. Den här inställningen styr approllens användning och tillgänglighet samtidigt som den tillfälligt eller permanent inaktiveras utan att ta bort den helt. Rutig Tryck på Apply (Verkställ) för att spara ändringarna.
När approllen har angetts till Aktiverad har alla användare, program eller grupper som har tilldelats approllen inkluderad i sina token. Dessa kan vara åtkomsttoken när din app är DET API som anropas av en app eller ID-token när din app loggar in en användare. Om inställningen är inaktiverad blir den inaktiv och kan inte längre tilldelas. Alla tidigare tilldelningar behåller approllen som ingår i deras token, men den har ingen effekt eftersom den inte längre kan tilldelas aktivt.
Tilldela programägare
Innan du kan tilldela approller till program måste du tilldela dig själv som programägare.
- I din appregistrering går du till Hantera, väljer Ägare och Lägg till ägare.
- I det nya fönstret letar du upp och väljer de ägare som du vill tilldela till programmet. Markerade ägare visas i den högra panelen. När du är klar bekräftar du med Välj och appägare visas i ägarens lista.
Kommentar
Kontrollera att både API-programmet och det program som du vill lägga till behörigheter till båda har en ägare, annars visas inte API:et när du begär API-behörigheter.
Tilldela approller till program
När du har lagt till approller i ditt program kan du tilldela en approll till en klientapp med hjälp av administrationscentret för Microsoft Entra eller programmatiskt med hjälp av Microsoft Graph. Att tilldela en approll till ett program bör inte förväxlas med att tilldela roller till användare.
När du tilldelar approller till ett program skapar du programbehörigheter. Programbehörigheter används vanligtvis av daemon-appar eller serverdelstjänster som behöver autentisera och göra auktoriserade API-anrop som sig själva, utan interaktion från en användare.
Så här tilldelar du approller till ett program med hjälp av administrationscentret för Microsoft Entra:
- Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
- Bläddra till Identitetsprogram>> Appregistreringar och välj sedan Alla program.
- Välj Alla program för att visa en lista över alla dina program. Om du inte kan hitta ditt program i listan använder du filtren över listan Alla program för att begränsa mängden program som visas, eller bläddrar nedåt i listan för att hitta ditt program.
- Välj det program som du vill tilldela en approll till.
- Välj API-behörigheter>Lägg till en behörighet.
- Välj fliken Mina API:er och välj sedan den app som du har definierat approller för.
- Under Behörighet väljer du de roller som du vill tilldela.
- Välj knappen Lägg till behörigheter fullständig tillägg av rollerna.
De nyligen tillagda rollerna bör visas i appregistreringens API-behörighetsfönster.
Bevilja administratörsmedgivande
Eftersom detta är programbehörigheter och inte delegerade behörigheter måste en administratör ge sitt medgivande till att programmet använder approller som det har tilldelats.
- I fönstret API-behörigheter för appregistrering väljer du Bevilja administratörsmedgivande för <klientnamn>.
- Välj Ja när du uppmanas att bevilja medgivande för de begärda behörigheterna.
Kolumnen Status bör återspegla att medgivande har beviljats för <klientorganisationens namn>.
Användningsscenario för approller
Om du implementerar affärslogik för approllen som loggar in användarna i ditt programscenario definierar du först approllerna i Appregistreringar. Sedan tilldelar en administratör dem till användare och grupper i fönstret Företagsprogram . Beroende på scenariot ingår dessa tilldelade approller i olika token som utfärdas för ditt program. För en app som loggar in användare ingår till exempel rollanspråken i ID-token. När ditt program anropar ett API inkluderas rollanspråken i åtkomsttoken.
Om du implementerar affärslogik för approller i ett scenario med appanrops-API har du två appregistreringar. En appregistrering är för appen och en andra appregistrering är för API:et. I det här fallet definierar du approllerna och tilldelar dem till användaren eller gruppen i appregistreringen för API:et. När användaren autentiserar med appen och begär en åtkomsttoken för att anropa API:et inkluderas ett rollanspråk i token. Nästa steg är att lägga till kod i webb-API:et för att söka efter de rollerna när API:et anropas.
Information om hur du lägger till auktorisering i ditt webb-API finns i Skyddat webb-API: Verifiera omfång och approller.
Approller jämfört med grupper
Även om du kan använda approller eller grupper för auktorisering kan viktiga skillnader mellan dem påverka vilka du bestämmer dig för att använda för ditt scenario.
Approller | Grupper |
---|---|
De är specifika för ett program och definieras i appregistreringen. De flyttas med programmet. | De är inte specifika för en app, utan för en Microsoft Entra-klientorganisation. |
Approller tas bort när deras appregistrering tas bort. | Grupper förblir intakta även om appen tas bort. |
Tillhandahålls i anspråket roles . |
Tillhandahålls i groups anspråk. |
Utvecklare kan använda approller för att styra om en användare kan logga in på en app eller om en app kan hämta en åtkomsttoken för ett webb-API. Utvecklare och administratörer kan utöka den här säkerhetskontrollen till grupper genom att tilldela säkerhetsgrupper till approller.
Utvecklare föredrar att använda approller när de vill beskriva och styra auktoriseringsparametrarna i själva appen. Till exempel bryts en app som använder grupper för auktorisering i nästa klientorganisation eftersom både grupp-ID och namn kan vara olika. En app som använder approller förblir säker. I själva verket tilldelar SaaS-appar ofta grupper till approller av samma skäl, eftersom det gör att SaaS-appen kan etableras i flera klientorganisationer.
Tilldela användare och grupper till Microsoft Entra-roller
När du har lagt till approller i ditt program kan du tilldela användare och grupper till Microsoft Entra-roller. Tilldelning av användare och grupper till roller kan göras via portalens användargränssnitt eller programmatiskt med hjälp av Microsoft Graph. När de användare som tilldelats till de olika rollerna loggar in i programmet har deras token de tilldelade rollerna i anspråket roles
.
Så här tilldelar du användare och grupper till roller med hjälp av administrationscentret för Microsoft Entra:
- Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
- Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till klientorganisationen som innehåller appregistreringen från menyn Kataloger + prenumerationer.
- Bläddra till Identity>Applications Enterprise-program.>
- Välj Alla program för att visa en lista över alla dina program. Om du inte kan hitta ditt program i listan använder du filtren över listan Alla program för att begränsa mängden program som visas, eller bläddrar nedåt i listan för att hitta ditt program.
- Välj programmet där du vill tilldela roller till användare eller säkerhetsgrupper.
- Under Hantera väljer du Användare och grupper.
- Välj Lägg till användare för att öppna fönstret Lägg till tilldelning.
- Markera väljaren Användare och grupper i fönstret Lägg till tilldelning. En lista över användare och säkerhetsgrupper visas. Du kan söka efter en viss användare eller grupp, eller välja flera användare och grupper som visas i listan. Välj knappen Välj för att fortsätta.
- Välj Välj en roll i fönstret Lägg till tilldelning. Alla roller som du har definierat för programmet visas.
- Välj en roll och tryck på knappen Välj.
- Välj knappen Tilldela för att slutföra tilldelningen av användare och grupper till appen.
Bekräfta att de användare och grupper som du har lagt till visas i listan Användare och grupper .
Nästa steg
Läs mer om approller med följande resurser.
- Kodexempel på GitHub
- Referensdokumentation
- Video: Implementera auktorisering i dina program med Microsofts identitetsplattform (1:01:15)