OAuth 2.0-anslutningar i autentiseringshanteraren – processinformation och flöden

GÄLLER FÖR: Alla API Management-nivåer

Den här artikeln innehåller information om processflödena för att hantera OAuth 2.0-anslutningar med hjälp av autentiseringshanteraren i Azure API Management. Processflödena är indelade i två delar: hantering och körning.

Bakgrund om autentiseringshanteraren i API Management finns i Om autentiseringsuppgifter och API-autentiseringsuppgifter i API Management.

Hantering av anslutningar

Hanteringsdelen av anslutningar i autentiseringshanteraren tar hand om att konfigurera en autentiseringsprovider för OAuth 2.0-token, aktivera medgivandeflödet för providern och konfigurera en eller flera anslutningar till autentiseringsprovidern för åtkomst till autentiseringsuppgifterna.

Följande bild sammanfattar processflödet för att skapa en anslutning i API Management som använder auktoriseringskodens beviljandetyp.

Diagram som visar processflöde för att skapa autentiseringsuppgifter.

Steg Description
1 Klienten skickar en begäran om att skapa en autentiseringsprovider
2 Providern för autentiseringsuppgifter skapas och ett svar skickas tillbaka
3 Klienten skickar en begäran om att skapa en anslutning
4 Anslut ion skapas och ett svar skickas tillbaka med information om att anslutningen inte är "ansluten"
5 Klienten skickar en begäran om att hämta en inloggnings-URL för att starta OAuth 2.0-medgivandet hos autentiseringsprovidern. Begäran innehåller en URL efter omdirigering som ska användas i det senaste steget
6 Svaret returneras med en inloggnings-URL som ska användas för att starta medgivandeflödet.
7 Klienten öppnar en webbläsare med inloggnings-URL:en som angavs i föregående steg. Webbläsaren omdirigeras till autentiseringsproviderns OAuth 2.0-medgivandeflöde
8 När medgivandet har godkänts omdirigeras webbläsaren med en auktoriseringskod till den omdirigerings-URL som konfigurerats hos providern för autentiseringsuppgifter
9 API Management använder auktoriseringskoden för att hämta åtkomst- och uppdateringstoken
10 API Management tar emot token och krypterar dem
11 API Management omdirigerar till den angivna URL:en från steg 5

Provider för autentiseringsuppgifter

När du konfigurerar providern för autentiseringsuppgifter kan du välja mellan olika OAuth-leverantörer och bevilja typer (auktoriseringskod eller klientautentiseringsuppgifter). Varje provider kräver specifika konfigurationer. Viktiga saker att tänka på:

  • En providerkonfiguration för autentiseringsuppgifter kan bara ha en beviljandetyp.
  • En providerkonfiguration för autentiseringsuppgifter kan ha flera anslutningar.

Kommentar

Med den generiska OAuth 2.0-providern kan andra identitetsprovidrar som stöder standarderna för OAuth 2.0-flödet användas.

När du konfigurerar en provider för autentiseringsuppgifter skapar autentiseringshanteraren i bakgrunden ett autentiseringsarkiv som används för att cachelagrar providerns OAuth 2.0-åtkomsttoken och uppdateringstoken.

Anslut till en provider för autentiseringsuppgifter

För att komma åt och använda token för en provider behöver klientappar en anslutning till autentiseringsprovidern. En viss anslutning tillåts av åtkomstprinciper baserat på Microsoft Entra-ID-identiteter. Du kan konfigurera flera anslutningar för en provider.

Processen för att konfigurera en anslutning skiljer sig åt beroende på det konfigurerade beviljandet och är specifik för konfigurationen av providern för autentiseringsuppgifter. Om du till exempel vill konfigurera Microsoft Entra-ID för att använda båda beviljandetyperna krävs två konfigurationer av autentiseringsprovidern. I följande tabell sammanfattas de två beviljandetyperna.

Bevilja typ beskrivning
Auktoriseringskod Bunden till en användarkontext, vilket innebär att en användare måste samtycka till anslutningen. Så länge uppdateringstoken är giltig kan API Management hämta nya åtkomst- och uppdateringstoken. Om uppdateringstoken blir ogiltig måste användaren auktorisera igen. Alla autentiseringsprovidrar stöder auktoriseringskod. Läs mer
Klientautentiseringsuppgifter Är inte bunden till en användare och används ofta i program-till-program-scenarier. Inget medgivande krävs för tilldelningstypen för klientautentiseringsuppgifter och anslutningen blir inte ogiltig. Läs mer

För anslutningar baserat på auktoriseringskodens beviljandetyp måste du autentisera till providern och samtycka till auktorisering. Efter lyckad inloggning och auktorisering av autentiseringsprovidern returnerar providern giltiga åtkomst- och uppdateringstoken, som krypteras och sparas av API Management.

Åtkomstprincip

Du konfigurerar en eller flera åtkomstprinciper för varje anslutning. Åtkomstprinciperna avgör vilka Microsoft Entra-ID-identiteter som kan få åtkomst till dina autentiseringsuppgifter vid körning. Anslut ions stöder för närvarande åtkomst med hjälp av tjänstens huvudnamn, API Management-instansens identitet, användare och grupper.

Identitet beskrivning Förmåner Att tänka på
Tjänstens huvudnamn Identitet vars token kan användas för att autentisera och bevilja åtkomst till specifika Azure-resurser när en organisation använder Microsoft Entra-ID. Genom att använda tjänstens huvudnamn undviker organisationer att skapa fiktiva användare för att hantera autentisering när de behöver komma åt en resurs. Ett huvudnamn för tjänsten är en Microsoft Entra-identitet som representerar ett registrerat Microsoft Entra-program. Tillåter striktare åtkomst till anslutnings- och användardelegeringsscenarier. Är inte kopplad till en specifik API Management-instans. Förlitar sig på Microsoft Entra-ID för behörighetsframtvingande. För att få auktoriseringskontexten krävs en Microsoft Entra-ID-token.
Hanterad identitet <Your API Management instance name> Det här alternativet motsvarar en hanterad identitet som är kopplad till din API Management-instans. Som standard ges åtkomst till den systemtilldelade hanterade identiteten för motsvarande API-hanteringsinstans. Identiteten är kopplad till din API Management-instans. Alla med deltagaråtkomst till API Management-instansen kan komma åt alla anslutningar som beviljar behörigheter för hanterad identitet.
Användare eller grupper Användare eller grupper i din Microsoft Entra ID-klientorganisation. Gör att du kan begränsa åtkomsten till specifika användare eller grupper av användare. Kräver att användarna har ett Microsoft Entra-ID-konto.

Körning av anslutningar

Körningsdelen kräver att ett serverdels-OAuth 2.0-API konfigureras med get-authorization-context principen. Vid körning hämtar och lagrar principen åtkomst- och uppdateringstoken från det autentiseringsarkiv som API Management har konfigurerat för providern. När ett anrop kommer till API Management och get-authorization-context principen körs verifieras först om den befintliga auktoriseringstoken är giltig. Om auktoriseringstoken har upphört att gälla använder API Management ett OAuth 2.0-flöde för att uppdatera lagrade token från providern för autentiseringsuppgifter. Sedan används åtkomsttoken för att auktorisera åtkomst till serverdelstjänsten.

Under principkörningen verifieras även åtkomsten till token med hjälp av åtkomstprinciper.

Följande bild visar ett exempel på ett processflöde för att hämta och lagra auktoriserings- och uppdateringstoken baserat på en anslutning som använder auktoriseringskodens beviljandetyp. När token har hämtats görs ett anrop till serverdels-API:et.

Diagram som visar processflödet för att hämta token vid körning.

Steg Description
1 Klienten skickar begäran till API Management-instansen
2 Principen get-authorization-context kontrollerar om åtkomsttoken är giltig för den aktuella anslutningen
3 Om åtkomsttoken har upphört att gälla men uppdateringstoken är giltig försöker API Management hämta ny åtkomst och uppdatera token från den konfigurerade providern för autentiseringsuppgifter
4 Providern för autentiseringsuppgifter returnerar både en åtkomsttoken och en uppdateringstoken, som krypteras och sparas i API Management
5 När token har hämtats kopplas åtkomsttoken med principen set-header som ett auktoriseringshuvud till den utgående begäran till serverdels-API:et
6 Svaret returneras till API Management
7 Svaret returneras till klienten