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 för 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. Detta 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:

  1. Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.

  2. 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.

  3. Bläddra till Identitetsprogram>> Appregistreringar och välj sedan det program som du vill definiera approller i.

  4. Under Hantera väljer du Approller och sedan Skapa approll.

    An app registration's app roles pane in the Azure portal

  5. 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.

    An app registration's app roles create context pane in the Azure portal

    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ör applicationsvisas 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. Kontrolleras
  6. Tryck på Apply (Verkställ) för att spara ändringarna.

När approllen är aktiverad inkluderas alla användare, program eller grupper som tilldelas den 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 kommer fortfarande att ha approllen inkluderad i sina token, men den har ingen effekt eftersom den inte längre kan tilldelas aktivt.

Tilldela programägare

Om du inte redan har gjort det måste du tilldela dig själv som programägare.

  1. I din appregistrering går du till Hantera, väljer Ägare och Lägg till ägare.
  2. 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. Appens ägare visas nu i ägarlistan.

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. Detta ska 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:

  1. Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
  2. Bläddra till Identitetsprogram>> Appregistreringar och välj sedan Alla program.
  3. 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.
  4. Välj det program som du vill tilldela en approll till.
  5. Välj API-behörigheter>Lägg till en behörighet.
  6. Välj fliken Mina API:er och välj sedan den app som du har definierat approller för.
  7. Under Behörighet väljer du de roller som du vill tilldela.
  8. 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.

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.

  1. I fönstret API-behörigheter för appregistrering väljer du Bevilja administratörsmedgivande för <klientnamn>.
  2. 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 . Dessa tilldelade approller ingår i alla token som utfärdas för ditt program.

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 själva vill kunna beskriva och kontrollera auktoriseringsparametrarna i 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. Faktum är att tilldela grupper till approller är populärt med SaaS-appar av samma skäl som 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 får deras token sina tilldelade roller i anspråket roles .

Så här tilldelar du användare och grupper till roller med hjälp av administrationscentret för Microsoft Entra:

  1. Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
  2. 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.
  3. Bläddra till Identity>Applications Enterprise-program.>
  4. 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.
  5. Välj programmet där du vill tilldela roller till användare eller säkerhetsgrupper.
  6. Under Hantera väljer du Användare och grupper.
  7. Välj Lägg till användare för att öppna fönstret Lägg till tilldelning.
  8. 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.
  9. När du har valt användare och grupper trycker du på knappen Välj för att fortsätta.
  10. Välj Välj en roll i fönstret Lägg till tilldelning. Alla roller som du har definierat för programmet visas.
  11. Välj en roll och tryck på knappen Välj.
  12. 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.