Dela via


Snabbstart: Konfigurera ett klientprogram för åtkomst till ett webb-API

I den här snabbstarten tillhandahåller du begränsad och behörighetsbaserad åtkomst till ditt eget webb-API för en klientapp som registrerats med Microsofts identitetsplattform. Du ger även klientappen åtkomst till Microsoft Graph.

Genom att ange ett webb-API:s omfång i klientappens registrering kan klientappen hämta en åtkomsttoken som innehåller dessa omfång från Microsofts identitetsplattform. I koden kan webb-API:et sedan ge behörighetsbaserad åtkomst till sina resurser baserat på de omfång som finns i åtkomsttoken.

Förutsättningar

Lägga till behörigheter för att komma åt ditt webb-API

Dricks

Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.

Åtkomst till API:er kräver konfiguration av åtkomstomfattningar och roller. Om du vill exponera dina webb-API:er för resursprogram för klientprogram kan du konfigurera åtkomstomfattningar och roller för API:et. Om du vill att ett klientprogram ska få åtkomst till ett webb-API konfigurerar du behörigheter för åtkomst till API:et i appregistreringen.

För att ge ett klientprogram åtkomst till ditt eget webb-API måste du ha två appregistreringar.

Diagrammet visar hur de två appregistreringarna relaterar till varandra, där klientappen har olika behörighetstyper och webb-API:et har olika omfång som klientprogrammet kan komma åt. I det här avsnittet lägger du till behörigheter till klientappens registrering.

Linjediagram som visar ett webb-API med exponerade omfång till höger och en klientapp till vänster med dessa omfång valda som behörigheter

När du har registrerat både klientappen och webb-API:et och du har exponerat API:et genom att skapa omfång kan du konfigurera klientens behörigheter till API:et genom att följa dessa steg:

  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 klientprogrammet (inte webb-API:et).

  4. Välj API-behörigheter och sedan Lägg till en behörighet och välj Mina API:er i sidofältet.

  5. Välj det webb-API som du registrerade som en del av förhandskraven och välj Delegerade behörigheter.

    • Delegerade behörigheter är lämpliga för klientappar som har åtkomst till ett webb-API som den inloggade användaren och vars åtkomst bör begränsas till de behörigheter du väljer i nästa steg. Låt delegerade behörigheter vara markerade för det här exemplet.

    • Programbehörigheter gäller för program av tjänst- eller daemontyp som behöver åtkomst till ett webb-API som sig själva, utan användarinteraktion för inloggning eller medgivande. Om du inte har definierat programroller för webb-API:et är det här alternativet inaktiverat.

  6. Under Välj behörigheter expanderar du resursen vars omfång du har definierat för webb-API:et och väljer de behörigheter som klientappen ska ha för den inloggade användarens räkning.

    • Om du använde de exempelomfattningsnamn som angavs i föregående snabbstart bör du se Employees.Read.All och Employees.Write.All.
  7. Välj den behörighet som du skapade när du slutförde förutsättningarna, till exempel Employees.Read.All.

  8. Välj Lägg till behörigheter för att slutföra processen.

När du har lagt till behörigheter i ditt API bör du se de valda behörigheterna under Konfigurerade behörigheter. Följande bild visar exemplet Employees.Read.All delegerad behörighet som lagts till i klientappens registrering.

Fönstret Konfigurerade behörigheter i Azure Portal som visar den nyligen tillagda behörigheten

Du kanske också ser behörigheten User.Read för Microsoft Graph-API:et. Den här behörigheten läggs till automatiskt när du registrerar en app i Azure Portal.

Lägga till behörigheter för åtkomst till Microsoft Graph

Förutom att komma åt ditt eget webb-API för den inloggade användarens räkning kan ditt program också behöva komma åt eller ändra användarens (eller andra) data som lagras i Microsoft Graph. Eller så kan du ha en tjänst- eller daemonapp som behöver komma åt Microsoft Graph som sig själv och utföra åtgärder utan någon användarinteraktion.

Delegerad behörighet till Microsoft Graph

Konfigurera delegerad behörighet till Microsoft Graph för att göra det möjligt för klientprogrammet att utföra åtgärder för den inloggade användarens räkning, till exempel genom att läsa deras e-post eller ändra deras profil. Som standard tillfrågas användare av din klientapp när de loggar in för att samtycka till de delegerade behörigheter som du har konfigurerat för den.

  1. På sidan Översikt i klientprogrammet väljer du API-behörigheter>Lägg till en behörighet>för Microsoft Graph

  2. Välj delegerade behörigheter. Microsoft Graph exponerar många behörigheter, med de vanligaste som visas överst i listan.

  3. Under Välj behörigheter väljer du följande behörigheter:

    Behörighet beskrivning
    email Visa användarnas e-postadress
    offline_access Behålla åtkomst till data som du har gett åtkomst till
    openid Logga in användare
    profile Visa användarnas grundläggande profil
  4. Välj Lägg till behörigheter för att slutföra processen.

När du konfigurerar behörigheter uppmanas användarna av din app att logga in för att ge din app åtkomst till resurs-API:et för deras räkning.

Som administratör kan du också bevilja medgivande åt alla användare så att de inte uppmanas att göra det. Administratörsmedgivande beskrivs senare i avsnittet Mer om API-behörigheter och administratörsmedgivande i den här artikeln.

Programbehörighet till Microsoft Graph

Konfigurera programbehörigheter för ett program som måste autentiseras som sig självt utan användarinteraktion eller medgivande. Programbehörigheter används vanligtvis av bakgrundstjänster eller daemonappar som har åtkomst till ett API på ett "huvudlöst" sätt och av webb-API:er som har åtkomst till ett annat (underordnade) API.

I följande steg ger du behörighet till Microsoft Graphs Files.Read.All-behörighet som exempel.

  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 klientprogrammet.
  4. Välj API-behörigheter>Lägg till behörigheter> för Microsoft Graph-program.>
  5. Alla behörigheter som exponeras av Microsoft Graph visas under Välj behörigheter.
  6. Välj den behörighet eller de behörigheter som du vill bevilja ditt program. Du kan till exempel ha en daemonapp som söker igenom filer i din organisation och varnar om en specifik filtyp eller ett specifikt namn. Under Välj behörigheter expanderar du Filer och väljer sedan behörigheten Files.Read.All .
  7. Välj Lägg till behörigheter.
  8. Vissa behörigheter, till exempel behörigheten Files.Read.All i Microsoft Graph, kräver administratörsmedgivande. Du beviljar administratörsmedgivande genom att välja knappen Bevilja administratörsmedgivande , som beskrivs senare i avsnittet Administratörsmedgivande .

Konfigurera klientautentiseringsuppgifter

Appar som använder programbehörigheter autentiseras som sig själva med sina egna autentiseringsuppgifter, utan att kräva någon användarinteraktion. Innan ditt program (eller API) kan komma åt Microsoft Graph, ditt eget webb-API eller ett annat API med hjälp av programbehörigheter måste du konfigurera klientappens autentiseringsuppgifter.

Mer information om hur du konfigurerar en apps autentiseringsuppgifter finns i avsnittet Lägg till autentiseringsuppgifter i Snabbstart: Registrera ett program med Microsofts identitetsplattform.

Fönstret API-behörigheter i en appregistrering innehåller tabellen Konfigurerade behörigheter och knappen Administratörsmedgivande, som beskrivs i följande avsnitt.

Konfigurerade behörigheter

Tabellen Konfigurerade behörigheter i fönstret API-behörigheter visar listan över behörigheter som programmet kräver för grundläggande åtgärd – listan med nödvändig resursåtkomst (RRA). Användare, eller deras administratörer, måste godkänna dessa behörigheter innan de använder din app. Andra valfria behörigheter kan begäras senare vid körning (med dynamiskt medgivande).

Det här är den minsta listan över behörigheter som personer måste samtycka till för din app. Det kan finnas fler, men dessa kommer alltid att krävas. För säkerhet och för att hjälpa användare och administratörer att känna sig mer bekväma med att använda din app, be aldrig om något du inte behöver.

Du kan lägga till eller ta bort de behörigheter som visas i den här tabellen med hjälp av stegen ovan. Som administratör kan du bevilja administratörsmedgivande för den fullständiga uppsättningen av ett API:s behörigheter som visas i tabellen och återkalla medgivande för enskilda behörigheter.

Med knappen Bevilja administratörsmedgivande för {din klient} kan en administratör bevilja administratörsmedgivande till de behörigheter som konfigurerats för programmet. När du väljer knappen visas en dialogruta där du uppmanas att bekräfta medgivandeåtgärden.

Knappen Bevilja administratörsmedgivande markerad i fönstret Konfigurerade behörigheter i Azure Portal

När medgivande har beviljats visas de behörigheter som krävs för administratörsmedgivande som att medgivande har beviljats:

Konfigurera behörighetstabellen i Azure Portal som visar administratörsmedgivande som beviljats för behörigheten Files.Read.All

Knappen Bevilja administratörsmedgivande är inaktiverad om du inte är administratör eller om inga behörigheter har konfigurerats för programmet. Om du har behörigheter som har beviljats men ännu inte konfigurerats, uppmanas du med knappen för administratörsmedgivande att hantera dessa behörigheter. Du kan lägga till dem i konfigurerade behörigheter eller ta bort dem.

Ta bort programbehörigheter

Det är viktigt att inte ge ett program för många behörigheter än vad som är nödvändigt. Återkalla administratörsmedgivande för en behörighet i ditt program.

  1. Gå till ditt program och välj API-behörigheter.
  2. Under Konfigurerade behörigheter väljer du de tre punkterna bredvid den behörighet som du vill ta bort och väljer Ta bort behörighet
  3. I popup-fönstret som visas väljer du Ja, ta bort för att återkalla administratörsmedgivandet för behörigheten.

Gå vidare till nästa snabbstart i serien för att lära dig hur du konfigurerar vilka kontotyper som kan komma åt ditt program. Du kanske till exempel bara vill begränsa åtkomsten till dessa användare i din organisation (enskild klientorganisation) eller tillåta användare i andra Microsoft Entra-klienter (flera klientorganisationer) och användare med personliga Microsoft-konton (MSA).