Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op: Alle API Management-lagen
In dit artikel wordt u begeleid bij de stappen op hoog niveau voor het configureren en gebruiken van een beheerde verbinding waarmee Microsoft Entra-gebruikers of -groepen gedelegeerde machtigingen worden verleend aan een back-end-OAuth 2.0-API. Volg deze stappen voor scenario's waarin een client-app (of bot) toegang moet hebben tot beveiligde online-back-endbronnen namens een geverifieerde gebruiker (bijvoorbeeld het controleren van e-mailberichten of het plaatsen van een bestelling).
Overzicht van scenario
Opmerking
Dit scenario is alleen van toepassing op referentieproviders die zijn geconfigureerd met het toekenningstype autorisatiecode .
In dit scenario configureert u een beheerde verbinding waarmee een client-app (of bot) toegang krijgt tot een back-end-API namens een Microsoft Entra-gebruiker of -groep. U hebt bijvoorbeeld een statische web-app die toegang heeft tot een back-end GitHub-API en waartoe u toegang wilt krijgen tot gegevens die specifiek zijn voor de aangemelde gebruiker. In het volgende diagram ziet u het scenario.
- De gebruiker moet de app autoriseren om namens hen toegang te krijgen tot beveiligde resources en om de app te autoriseren, moet de gebruiker zijn identiteit verifiëren.
- Als u bewerkingen wilt uitvoeren namens een gebruiker, roept de app de externe back-endservice aan, zoals Microsoft Graph of GitHub.
- Elke externe service heeft een manier om deze aanroepen te beveiligen; Bijvoorbeeld met een gebruikerstoken waarmee de gebruiker uniek wordt geïdentificeerd.
- Om de aanroep naar de externe service te beveiligen, moet de app de gebruiker vragen zich aan te melden, zodat het token van de gebruiker kan worden verkregen.
- Als onderdeel van de configuratie wordt een referentieprovider geregistreerd met behulp van de referentiebeheerder in het API Management-exemplaar. Het bevat informatie over de id-provider die moet worden gebruikt, samen met een geldige OAuth-client-id en -geheim, de OAuth-bereiken die moeten worden ingeschakeld en andere metagegevens van de verbinding die door die id-provider zijn vereist.
- Er wordt ook een verbinding gemaakt en gebruikt om de gebruiker aan te melden en het gebruikerstoken op te halen, zodat het kan worden beheerd.
Vereiste voorwaarden
Toegang tot een Microsoft Entra-tenant waarvoor u machtigingen hebt om een app-registratie te maken en beheerderstoestemming te verlenen voor de machtigingen van de app. Meer informatie
Als u uw eigen ontwikkelaarstenant wilt maken, kunt u zich registreren voor het Microsoft 365 Developer Program.
Een of meer gebruikers of groepen in de tenant waaraan machtigingen gedelegeerd kunnen worden.
Een actief API Management-exemplaar. Als dat nodig is, maakt u een Azure API Management-exemplaar.
Een back-end OAuth 2.0-API die u namens de gebruiker of groep wilt openen.
- Als u ervoor kiest om Azure PowerShell lokaal te gebruiken:
- Installeer de nieuwste versie van de Az PowerShell-module.
- Maak verbinding met uw Azure-account met de cmdlet Connect-AzAccount.
- Als u ervoor kiest om Azure Cloud Shell te gebruiken:
- Raadpleeg Overzicht van Azure Cloud Shell voor meer informatie.
Stap 1: Azure API Management Data Plane-service-principal inrichten
U moet de Azure API Management Data Plane-service-principal inrichten om gebruikers of groepen de benodigde gedelegeerde machtigingen te verlenen. Gebruik de volgende stappen om de service-principal in te richten met behulp van Azure PowerShell.
Meld u aan bij Azure PowerShell.
Als de AzureAD-module nog niet is geïnstalleerd, installeert u deze met de volgende opdracht:
Install-Module -Name AzureAD -Scope CurrentUser -Repository PSGallery -ForceMaak verbinding met uw tenant met de volgende opdracht:
Connect-AzureAD -TenantId "<YOUR_TENANT_ID>"Meld u aan met beheerdersaccountreferenties voor uw tenant als u hierom wordt gevraagd.
Richt de service-principal van Azure API Management Data Plane in met de volgende opdracht:
New-AzureADServicePrincipal -AppId c8623e40-e6ab-4d2b-b123-2ca193542c65 -DisplayName "Azure API Management Data Plane"
Stap 2: Een Microsoft Entra-app-registratie maken
Maak een Microsoft Entra ID-toepassing voor gebruikersdelegering en geef deze de juiste machtigingen om de verbinding in API Management te lezen.
- Meld u aan bij Azure Portal met een account met voldoende machtigingen in de tenant.
- Zoek onder Azure Services naar Microsoft Entra-id.
- Selecteer in het linkermenu Beheren>App-registraties, selecteer vervolgens + Nieuwe registratie.
- Voer op de pagina Een toepassing registreren de registratie-instellingen voor uw toepassing in:
- Voer in Naam een betekenisvolle naam in die wordt weergegeven aan gebruikers van de app, zoals UserPermissions.
- Selecteer in Ondersteunde accounttypen een optie die bij uw scenario past, bijvoorbeeld Alleen accounts in deze organisatiemap (één tenant).
- Stel de Redirect URI in op Web en voer deze in
https://www.postman-echo.com/get. - Selecteer Registreren.
- Selecteer in het linkermenu API-machtigingen beheren> en selecteer vervolgens + Een machtiging toevoegen.
- Selecteer de API's die mijn organisatie gebruikt, typ Azure API Management Data Plane en selecteer deze.
- Selecteer Onder Machtigingen de optie Authorizations.Read en selecteer vervolgens Machtigingen toevoegen.
- Selecteer Overzicht in het linkermenu. Zoek op de pagina Overzicht de waarde van de toepassings-id (client) en noteer deze voor gebruik in een latere stap.
- Selecteer in het linkermenu Beheren>Certificaten en geheimen, en selecteer vervolgens + Nieuwe clientgeheim.
- Voer een beschrijving in.
- Selecteer een optie voor Verlopen.
- Selecteer Toevoegen.
- Kopieer de waarde van het clientgeheim voordat u de pagina verlaat. U hebt deze in een latere stap nodig.
Stap 3: een referentieprovider configureren in API Management
- Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.
- Selecteer API's>Referentiebeheer in het linkermenu, en selecteer vervolgens + Maken.
- Voer op de pagina Referentieprovider maken de instellingen in voor de referentieprovider voor uw API. Voor dit scenario moet u in toekenningstypeautorisatiecode selecteren. Zie Referentieproviders configureren in referentiebeheer voor meer informatie.
- Klik op Creëren.
- Wanneer u hierom wordt gevraagd, controleert u de omleidings-URL van OAuth die wordt weergegeven en selecteert u Ja om te bevestigen dat deze overeenkomt met de URL die u hebt ingevoerd in de app-registratie.
Stap 4: Een verbinding configureren
Nadat u een referentieprovider hebt gemaakt, kunt u een verbinding met de provider toevoegen. Voer op het tabblad Verbinding de stappen voor uw verbinding uit:
- Voer een verbindingsnaam in en selecteer Opslaan.
- Selecteer onder Stap 2: Meld u aan bij uw verbinding en selecteer de knop Aanmelden . Voer de stappen uit om toegang te autoriseren en terug te keren naar API Management.
- Selecteer + Toevoegen onder stap 3: bepaal wie toegang heeft tot deze verbinding (toegangsbeleid). Afhankelijk van uw delegatiescenario selecteert u Gebruikers of Groep.
- Maak in het venster Item selecteren de selecties in de volgende volgorde:
- Zoek eerst een of meer gebruikers (of groepen) om het selectievakje toe te voegen en in te schakelen.
- Zoek vervolgens in de lijst die wordt weergegeven naar de app-registratie die u in een vorige sectie hebt gemaakt.
- Klik vervolgens op Selecteren.
- Selecteer Voltooien.
De nieuwe verbinding wordt weergegeven in de lijst met verbindingen en geeft de status Verbonden weer. Als u een andere verbinding wilt maken voor de referentieprovider, voert u de voorgaande stappen uit.
Aanbeveling
Gebruik Azure Portal om op elk gewenst moment verbindingen met een referentieprovider toe te voegen, bij te werken of te verwijderen. Zie Meerdere verbindingen configureren voor meer informatie.
Stap 5: een Microsoft Entra ID-toegangstoken verkrijgen
Als u door de gebruiker gedelegeerde toegang tot de back-end-API wilt inschakelen, moet er tijdens runtime een toegangstoken worden opgegeven voor de gedelegeerde gebruiker of groep in het get-authorization-context beleid. Dit wordt meestal programmatisch gedaan in uw client-app met behulp van de Microsoft Authentication Library (MSAL). Deze sectie bevat handmatige stappen voor het maken van een toegangstoken voor testen.
Plak de volgende URL in uw browser en vervang de waarden voor
<tenant-id>en<client-id>door waarden uit de registratie van uw Microsoft Entra-app: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`Meld u aan wanneer u hierom wordt gevraagd. Kopieer in de hoofdtekst van het antwoord de waarde van de opgegeven code (bijvoorbeeld:
"0.AXYAh2yl…").Verzend de volgende
POSTaanvraag naar het tokeneindpunt en vervang<tenant-id>door uw tenant-id. Voeg de aangegeven header toe en de hoofdtekstparameters uit uw app-registratie samen met de code die u in de vorige stap hebt gekopieerd.POST https://login.microsoftonline.com/<tenant-id>/oauth2/token HTTP/1.1Koptekst
Content-Type: application/x-www-form-urlencodedLichaam
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 stepKopieer in de hoofdtekst van het antwoord de waarde van access_token die is opgegeven (bijvoorbeeld:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjZqQmZ1...). In de volgende stap geeft u deze waarde door in de beleidsconfiguratie.
Stap 6: get-authorization-contextbeleid configureren voor back-end-API
Configureer het get-authorization-contextbeleid voor de back-end-API die u namens de gebruiker of groep wilt openen. Voor testdoeleinden kunt u het beleid configureren met behulp van het Microsoft Entra ID-toegangstoken voor de gebruiker die u in de vorige sectie hebt verkregen.
Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.
Selecteer API's in> het linkermenu en selecteer uw OAuth 2.0-back-end-API.
Selecteer Alle bewerkingen. Selecteer in de sectie Binnenkomende verwerking het pictogram (</>) (code-editor).
Configureer het
get-authorization-contextbeleid in deinboundsectie, stelidentity-typein opjwt:<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>
Vervang in de voorgaande beleidsdefinitie:
<credential-provider-id>en<connection-id>met de namen van de referentieprovider en de verbinding die u in een vorige stap hebt geconfigureerd.<access-token>met het Microsoft Entra ID-toegangstoken dat u in de vorige stap hebt gegenereerd.
Stap 7: de API testen
Selecteer op het tabblad Testen één bewerking die u hebt geconfigureerd.
Klik op Verzenden.
Een geslaagd antwoord retourneert gebruikersgegevens van de back-end-API.
Verwante inhoud
- Meer informatie over verificatie- en autorisatiebeleid.
- Meer informatie over bereiken en machtigingen in Microsoft Entra ID.