Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Alla API Management-nivåer
Den här artikeln vägleder dig genom de övergripande stegen för att konfigurera och använda en hanterad anslutning som ger Microsoft Entra-användare eller grupper delegerade behörigheter till ett serverdels-OAuth 2.0-API. Följ dessa steg för scenarier när en klientapp (eller robot) behöver komma åt serverdelssäkrade onlineresurser för en autentiserad användares räkning (till exempel genom att kontrollera e-postmeddelanden eller göra en beställning).
Scenarioöversikt
Anmärkning
Det här scenariot gäller endast för autentiseringsprovidrar som konfigurerats med auktoriseringskodens beviljandetyp.
I det här scenariot konfigurerar du en hanterad anslutning som gör det möjligt för en klientapp (eller robot) att komma åt ett serverdels-API för en Microsoft Entra-användare eller grupp. Du kan till exempel ha en statisk webbapp som har åtkomst till ett GitHub-API för serverdelen och som du vill komma åt data som är specifika för den inloggade användaren. Följande diagram illustrerar scenariot.
- Användaren måste auktorisera appen för att få åtkomst till skyddade resurser för deras räkning och för att kunna auktorisera appen måste användaren autentisera sin identitet.
- För att utföra åtgärder åt en användare anropar appen den externa serverdelstjänsten, till exempel Microsoft Graph eller GitHub.
- Varje extern tjänst har ett sätt att skydda dessa anrop. till exempel med en användartoken som unikt identifierar användaren.
- För att skydda anropet till den externa tjänsten måste appen be användaren att logga in så att den kan hämta användarens token.
- Som en del av konfigurationen registreras en autentiseringsprovider med hjälp av autentiseringshanteraren i API Management-instansen. Den innehåller information om identitetsprovidern som ska användas, tillsammans med ett giltigt OAuth-klient-ID och hemlighet, OAuth-omfång som ska aktiveras och andra anslutningsmetadata som krävs av identitetsprovidern.
- Dessutom skapas en anslutning och används för att logga in användaren och hämta användartoken så att den kan hanteras.
Förutsättningar
Åtkomst till en Microsoft Entra-klientorganisation där du har behörighet att skapa en appregistrering och bevilja administratörsmedgivande för appens behörigheter. Läs mer
Om du vill skapa en egen klientorganisation för utvecklare kan du registrera dig för Microsoft 365 Developer Program.
En eller flera användare eller grupper i klientorganisationen att delegera behörigheter till.
En API Management-instans som körs. Om du behöver det skapar du en Azure API Management-instans.
Ett serverdels OAuth 2.0 API som du vill komma åt å användarens eller gruppens vägnar.
- Om du väljer att använda Azure PowerShell lokalt:
- Installera den senaste versionen av Az PowerShell-modulen.
- Anslut till ditt Azure-konto med hjälp av cmdleten Connect-AzAccount .
- Om du väljer att använda Azure Cloud Shell:
- Mer information finns i Översikt över Azure Cloud Shell .
Steg 1: Ange tjänstehuvudidentitet för Azure API Management Data Plane
Du måste konfigurera tjänstens huvud för Azure API Management Data Plane för att ge användare eller grupper de nödvändiga delegerade behörigheterna. Använd följande steg för att etablera tjänstens huvudnamn med hjälp av Azure PowerShell.
Logga in på Azure PowerShell.
Om AzureAD-modulen inte redan är installerad installerar du den med följande kommando:
Install-Module -Name AzureAD -Scope CurrentUser -Repository PSGallery -ForceAnslut till din tenant med följande kommando:
Connect-AzureAD -TenantId "<YOUR_TENANT_ID>"Om du uppmanas att göra det loggar du in med autentiseringsuppgifter för administratörskontot för din klientorganisation.
Tilldela tjänstens huvudnamn för Azure API Management Data Plane med följande kommando:
New-AzureADServicePrincipal -AppId c8623e40-e6ab-4d2b-b123-2ca193542c65 -DisplayName "Azure API Management Data Plane"
Steg 2: Skapa en Microsoft Entra-appregistrering
Skapa ett Microsoft Entra-ID-program för användardelegering och ge det rätt behörighet att läsa anslutningen i API Management.
- Logga in på Azure-portalen med ett konto med tillräcklig behörighet i klientorganisationen.
- Under Azure Services söker du efter Microsoft Entra-ID.
- Välj Hantera>appregistreringar på den vänstra menyn och välj sedan + Ny registrering.
- På sidan Registrera ett program anger du dina inställningar för programregistrering:
- I Namn anger du ett beskrivande namn som ska visas för appens användare, till exempel UserPermissions.
- I Kontotyper som stöds väljer du ett alternativ som passar ditt scenario, till exempel Endast konton i den här organisationskatalogen (enskild klientorganisation).
- Ange omdirigerings-URI:n till Webben och ange
https://www.postman-echo.com/get. - Välj Registrera.
- På den vänstra menyn väljer du Hantera>API-behörigheter och sedan + Lägg till en behörighet.
- Välj fliken API:er som min organisation använder , skriv Azure API Management Data Plane och välj det.
- Under Behörigheter väljer du Authorizations.Read och sedan Lägg till behörigheter.
- Välj Översikt på den vänstra menyn. På sidan Översikt letar du reda på värdet program-ID (klient) och registrerar det för användning i ett senare steg.
- Välj Hantera>certifikat och hemligheter på den vänstra menyn och välj sedan + Ny klienthemlighet.
- Ange en beskrivning.
- Välj ett alternativ för Upphör att gälla.
- Välj Lägg till.
- Kopiera klienthemlighetens Värde innan du lämnar sidan. Du behöver det i ett senare steg.
Steg 3: Konfigurera en provider för autentiseringsuppgifter i API Management
- Logga in på Azure-portalen och gå till din API Management-instans.
- På den vänstra menyn väljer duAutentiseringshanteraren för> och väljer sedan + Skapa.
- På sidan Skapa provider för autentiseringsuppgifter anger du inställningarna för autentiseringsprovidern för ditt API. I det här scenariot måste du i Bevilja typ välja Auktoriseringskod. Mer information finns i Konfigurera autentiseringsprovidrar i autentiseringshanteraren.
- Välj Skapa.
- När du uppmanas till det granskar du omdirigerings-URL:en för OAuth som visas och väljer Ja för att bekräfta att den matchar den URL som du angav i appregistreringen.
Steg 4: Konfigurera en anslutning
När du har skapat en provider för autentiseringsuppgifter kan du lägga till en anslutning till providern. Slutför stegen för anslutningen på fliken Anslutning :
- Ange ett anslutningsnamn och välj sedan Spara.
- Under Steg 2: Logga in på din anslutning väljer du knappen Logga in . Slutför stegen där för att auktorisera åtkomst och återgå till API Management.
- Under Steg 3: Bestäm vem som ska ha åtkomst till den här anslutningen (åtkomstprincip) väljer du + Lägg till. Beroende på ditt delegeringsscenario väljer du Användare eller Grupp.
- I fönstret Välj objekt gör du val i följande ordning:
- Sök först efter en eller flera användare (eller grupper) för att lägga till, och markera rutan.
- I listan som visas söker du sedan efter appregistreringen som du skapade i ett tidigare avsnitt.
- Klicka sedan på Välj.
- Välj Slutför.
Den nya anslutningen visas i listan över anslutningar och visar statusen Ansluten. Om du vill skapa en annan anslutning för providern för autentiseringsuppgifter slutför du föregående steg.
Tips/Råd
Använd Azure-portalen för att lägga till, uppdatera eller ta bort anslutningar till en autentiseringsprovider när som helst. Mer information finns i Konfigurera flera anslutningar.
Steg 5: Skaffa en Åtkomsttoken för Microsoft Entra-ID
För att aktivera användardelegerad åtkomst till serverdels-API:et måste en åtkomsttoken för den delegerade användaren eller gruppen anges i get-authorization-context-policyn under körning. Detta görs vanligtvis programmatiskt i klientappen med hjälp av Microsoft Authentication Library (MSAL). Det här avsnittet innehåller manuella steg för att skapa en åtkomsttoken för testning.
Klistra in följande URL i webbläsaren och ersätt värdena för
<tenant-id>och<client-id>med värden från din Microsoft Entra-appregistrering:https://login.microsoftonline.com/<tenant-id>/oauth2/authorize?client_id=<client-id>&response_type=code&redirect_uri=https://www.postman-echo.com/get&response_mode=query&resource=https://azure-api.net/authorization-manager&state=1234`Logga in när du uppmanas att göra det. I svarstexten kopierar du värdet för den kod som anges (exempel:
"0.AXYAh2yl…").Skicka följande
POSTbegäran till tokenslutpunkten, ersätt<tenant-id>med ditt tenant-ID och inkludera rubriken och brödtextparametrarna som anges från appregistreringen samt koden som du kopierade i föregående steg.POST https://login.microsoftonline.com/<tenant-id>/oauth2/token HTTP/1.1Rubrik
Content-Type: application/x-www-form-urlencodedBrödtext
grant_type: "authorization_code" client_id: <client-id> client_secret: <client-secret> redirect_uri: <redirect-url> code: <code> ## The code you copied in the previous stepI svarstexten kopierar du värdet för access_token som anges (exempel:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjZqQmZ1...). Du kommer att ange det här värdet i policykonfigurationen i nästa steg.
Steg 6: Konfigurera principen get-authorization-context för backend-API
Konfigurera principen get-authorization-context för back-end-API:et som du vill komma åt för användaren eller gruppen. I testsyfte kan du konfigurera principen med hjälp av Microsoft Entra ID-åtkomsttoken för den användare som du fick i föregående avsnitt.
Logga in på Azure-portalen och gå till din API Management-instans.
Välj API:er> på den vänstra menyn och välj ditt OAuth 2.0-serverdels-API.
Välj Alla åtgärder. I avsnittet Inkommande bearbetning väljer du ikonen (</>) (kodredigeraren).
get-authorization-contextKonfigurera principen i avsnittetinboundoch angeidentity-typetilljwt:<policies> <inbound> [...] <get-authorization-context provider-id="<credential-provider-id>" authorization-id="<connection-id>" context-variable-name="auth-context" identity-type="jwt" identity="<access-token>" ignore-error="false" /> [...] </inbound> </policies>
I den föregående principdefinitionen ersätter du:
<credential-provider-id>och<connection-id>med namnen på autentiseringsprovidern respektive anslutningen som du konfigurerade i ett föregående steg.<access-token>med åtkomsttoken för Microsoft Entra-ID som du genererade i föregående steg.
Steg 7: Testa API:et
På fliken Test väljer du en åtgärd som du har konfigurerat.
Välj Skicka.
Ett lyckat svar returnerar användardata från serverdels-API:et.
Relaterat innehåll
- Läs mer om autentiserings- och auktoriseringsprinciper.
- Läs mer om omfång och behörigheter i Microsoft Entra-ID.