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 konfigurerar du å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.

I det första scenariot beviljar du en klientapp åtkomst till ditt eget webb-API, som du båda bör ha registrerat som en del av förutsättningarna. Om du ännu inte har registrerat både en klientapp och ett webb-API slutför du stegen i de två förutsättningarna .

Det här diagrammet visar hur de två appregistreringarna relaterar till varandra. I det här avsnittet lägger du till behörigheter till klientappens registrering.

Line diagram showing a web API with exposed scopes on the right and a client app on the left with those scopes selected as permissions

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>Lägg till en behörighet>Mina API:er.

  5. Välj det webb-API som du registrerade som en del av förhandskraven.

    Delegerade behörigheter väljs som standard. 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. Välj Employees.Read.All eller någon annan behörighet som du kan ha skapat när du slutfört förutsättningarna.

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

Configured permissions pane in the Azure portal showing the newly added permission

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

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. 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 en behörighet>för Microsoft Graph

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

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

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 en tabell med konfigurerade behörigheter och kan även innehålla en tabell med andra behörigheter som beviljats . Både tabeller och knappen Administratörsmedgivande 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 eller från Andra behörigheter som beviljats (beskrivs i nästa avsnitt). 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.

Andra behörigheter som beviljats

Du kan också se en tabell med titeln Andra behörigheter som beviljats för {din klientorganisation} i fönstret API-behörigheter . Tabellen Andra behörigheter som beviljats för {din klient} visar behörigheter som beviljats hela klientorganisationen för klientorganisationen som inte uttryckligen har konfigurerats för programobjektet. Dessa behörigheter begärdes dynamiskt och godkändes av en administratör för alla användares räkning. Det här avsnittet visas bara om det finns minst en behörighet som gäller.

Du kan lägga till den fullständiga uppsättningen av ett API:s behörigheter eller enskilda behörigheter som visas i den här tabellen i tabellen Konfigurerade behörigheter . Som administratör kan du återkalla administratörsmedgivande för API:er eller enskilda behörigheter i det här avsnittet.

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.

Grant admin consent button highlighted in the Configured permissions pane in the Azure portal

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

Configure permissions table in Azure portal showing admin consent granted for the Files.Read.All permission

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.

Nästa steg

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