Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Application Gateway valideert JSON-webtokens (JWT's) die zijn uitgegeven door Microsoft Entra ID (voorheen Azure Active Directory) in binnenkomende HTTPS-aanvragen. Deze mogelijkheid biedt afdwinging van first-hop-verificatie voor web-API's of beveiligde resources zonder dat aangepaste code in uw back-endtoepassingen vereist is.
Deze mogelijkheid controleert de integriteit en echtheid van tokens in binnenkomende aanvragen. Vervolgens wordt bepaald of u toegang wilt toestaan of weigeren voordat verkeer naar back-endservices wordt doorgestuurd. Na een geslaagde validatie injecteert de gateway de x-msft-entra-identity header in de aanvraag en stuurt deze door naar de back-end. Downstreamtoepassingen kunnen vervolgens veilig geverifieerde identiteitsgegevens verbruiken.
Door tokenvalidatie aan de rand uit te voeren, vereenvoudigt Application Gateway de toepassingsarchitectuur en versterkt het algehele beveiligingspostuur. JWT-validatie is staatloos. Dat wil gezegd, elke aanvraag moet een geldig token presenteren om toegang te krijgen.
Application Gateway onderhoudt geen sessie- of cookiestatus. Deze aanpak zorgt voor consistente validatie voor aanvragen en afstemming met Zero Trust-principes .
Belangrijk
JWT-validatie in Azure Application Gateway is momenteel in een bètaversie. Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.
Belangrijkste mogelijkheden
- Tokenvalidatie: Valideert JWT-handtekening, verlener, tenant, doelgroep en levensduur. Tokens moeten worden uitgegeven door Microsoft Entra-id.
-
Identiteitsdoorgifte: injecteert de
x-msft-entra-identityheader mettenantId:oidnaar de back-end. -
Flexibele acties: hiermee configureert u (retourneert
Deny401-status) ofAllow(doorsturen zonder identiteitsheader) voor ongeldige tokens. - Ondersteuning voor meerdere tenants: ondersteunt tenantconfiguraties van algemene organisaties en consumenten.
- Alleen HTTPS: https-listeners zijn vereist. HTTP wordt niet ondersteund.
Vereiste voorwaarden
Vereisten voor Application Gateway:
- Standard_v2 of WAF_v2 SKU. De Basic-SKU wordt niet ondersteund.
- HTTPS-listener, samen met de configuratie van een TLS/SSL-certificaat.
- Azure Resource Manager API-versie 2025-03-01 of hoger.
Netwerkvereisten:
- Uitgaande connectiviteit van het Application Gateway-subnet naar
login.microsoftonline.comTCP-poort 443.
- Uitgaande connectiviteit van het Application Gateway-subnet naar
Vereisten voor Microsoft Entra-id:
- Registratie van uw web-API in Microsoft Entra ID.
- Een aanroep van Microsoft Entra-id om toegang tot een service aan te vragen. Microsoft Entra ID reageert met een toegangstoken.
Configuratie van JWT-validatie in Application Gateway.
Een sollicitatie in ID Microsoft Entra registreren
Ga in Azure Portal naar App-registraties.
Selecteer Nieuwe registratie.
Voer bij NaamMyWebAPI in.
Voor ondersteunde accounttypen selecteert u alleen Accounts in deze organisatiemap (alleen Microsoft - Één tenant).
Opmerking
Ondersteunde accounttypen zijn:
- Eén tenant (alleen deze map)
- Multitenant (enkele Microsoft Entra ID-directory)
- Accounts in een Microsoft Entra ID-directory en persoonlijke Microsoft-accounts
Voor omleidings-URI (optioneel) kunt u de vakken leeg laten. Deze instelling is niet vereist voor API-scenario's.
Selecteer Registreren.
Noteer de waarden voor toepassings-id (client) en map-id (tenant).
(Optioneel) Een URI voor de toepassings-id configureren:
- Ga naar Een API blootstellen>Toepassings-ID URI instellen.
- Gebruik de standaard
api://<ClientID>- of een aangepaste URI (bijvoorbeeldhttps://api.contoso.com).
(Optioneel) API-bereiken definiëren:
- Ga naar Een API> beschikbaarmaken, voeg een bereik toe.
Deze mogelijkheid is bedoeld voor toekomstige autorisatiefuncties. Dit is niet vereist voor de preview.
JWT-validatie configureren in Application Gateway
Open de previewconfiguratie-portaal.
Open uw Application Gateway-exemplaar, ga naar Instellingen in het linkermenu en selecteer vervolgens JWT-validatieconfiguraties>JWT-validatieconfiguratie toevoegen.
Geef de volgende details op:
Configuratie Example Description Naam jwt-policy-1Vriendelijke naam voor de validatieconfiguratie Niet-geautoriseerde aanvraag DenyOptie voor het weigeren van aanvragen met ontbrekende of ongeldige JWT's Tenant-id <your-tenant-id>Geldige GUID of een van common,organizationsofconsumersClient-ID <your-client-id>GUID van de app die is geregistreerd in Microsoft Entra Doelgroepen <api://<client-id>(Optioneel) Aanvullende geldige waarden voor doelgroepclaims (maximum 5) Koppel de configuratie aan een routeringsregel, zoals beschreven in de volgende sectie, als u een nieuwe routeringsregel nodig hebt.
Een routeringsregel maken (indien nodig)
Ga naar Application>>om routeringsregel toe te voegen.
Voer de volgende items in of selecteer deze:
-
Listener: Gebruik het protocol
HTTPS, een toegewezen certificaat of een Azure Key Vault-geheim. - Back-enddoelgroep: selecteer of maak een back-endpool.
- Back-endinstellingen: gebruik een geschikte HTTP/HTTPS-poort.
-
Regelnaam: Voer een naam in, zoals
jwt-route-rule.
-
Listener: Gebruik het protocol
Koppel deze regel aan de JWT-validatieconfiguratie.
Uw JWT-validatieconfiguratie is nu gekoppeld aan een beveiligde HTTPS-listener en routeringsregel.
Een JWT-toegangstoken verzenden met elke aanvraag naar de beveiligde toepassing
Als u veilig toegang wilt krijgen tot een toepassing die Application Gateway helpt beveiligen, moet de client eerst een JWT-toegangstoken verkrijgen van het Microsoft Entra ID-tokeneindpunt. De client bevat dit token vervolgens in de autorisatieheader (bijvoorbeeld Authorization: Bearer TOKEN) voor elke aanvraag die naar Application Gateway wordt verzonden.
Application Gateway valideert het token voordat de aanvraag naar de back-endtoepassing wordt doorgestuurd. Deze validatie zorgt ervoor dat alleen geverifieerd en geautoriseerd verkeer de beveiligde toepassing bereikt.
Zie Toegangstokens in het Microsoft Identity Platform voor meer informatie.
Verwachte resultaten van aanvragen
| Scenario | HTTP-status | Identiteitskoptekst | Opmerkingen |
|---|---|---|---|
Geldig token, action=Allow |
200 | Aanwezig | Gevalideerd token, identiteit doorgestuurd |
Ongeldig token, action=Deny |
401 | Afwezig | Gateway blokkeert verzoek |
Ontbrekend token, action=Deny |
401 | Afwezig | Geen autorisatieheader |
Ontbrekende oid claim, action=Deny |
403 | Afwezig | Kritieke claim ontbreekt |
Backendverificatie
Controleer de x-msft-entra-identity header om verificatie te bevestigen.
Problemen met 401- en 403-antwoorden oplossen
Als aanvragen de status 401 of 403 retourneren, controleert u:
-
Configuration
- Tenant-ID of uitgever (
iss) komt overeen met uw Microsoft Entra-tenant. - Doelgroep (
aud) komt overeen met de geconfigureerde client-id of doelgroeplijst.
- Tenant-ID of uitgever (
-
Tokenintegriteit
- Token is niet verlopen (
exp) ennbfbevindt zich niet in de toekomst.
- Token is niet verlopen (
-
Aanvraagopmaak
-
Authorization: Bearer <access_token>header is aanwezig en intact.
-
-
Plaatsing van gatewaybeleid
- JWT-validatie is gekoppeld aan de juiste listener en routeringsregel.
-
Nog steeds mislukt?
- Een nieuw token verkrijgen voor de juiste doelgroep.
- Controleer de toegangslogboeken van Application Gateway om een gedetailleerde reden van de fout te vinden.
Verwante inhoud
Meer informatie over JWT-validatie en gerelateerde identiteitsfuncties in Azure: