Authenticatie en autorisatie met Entra ID

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Basisconcepten van OAuth

Entra ID - APIM-integratie

Azure API Management

Waarom een identity provider gebruiken

Metafoor: parkeerservice

  • Zie een IdP als een parkeerservice
  • Je auto heeft waardevolle spullen in het dashboardkastje (beveiligde data)
  • Je geeft de parkeerder een speciale valet key
    • hiermee kan die alleen parkeren, geen toegang tot waardevolle spullen
  • Zo beheert de IdP de appbeveiliging maar kan niet bij de data in apps
  • Voorbeeld: Entra ID is de IdP, API Manager is de client
Azure API Management

Entra ID-app registreren

  • Entra ID staat in de Azure Portal
  • Hoge machtigingen zijn vereist om het te beheren
  • Voor OAuth registreer je een nieuwe entiteit in App Registration
  • Elke registratie heeft een naam en een geldige redirect-URL nodig
  • Voor APIM is dat de adres-URL van je APIM-instantie
  • Zo stuurt Entra ID na login terug naar APIM

App-registratie in Entra ID

Azure API Management

Clientgegevens vastleggen

Clientgegevens in Entra ID

  • Client ID en Tenant ID

    • Vormen het publieke adres van de app
    • Worden gebruikt om Entra ID te vertellen wie de app is
  • Client Secret

    • Werkt als het wachtwoord van de app
    • Code toont dit om identiteit te bewijzen
    • Altijd veilig opslaan; nooit in client-side code tonen
Azure API Management

Endpoint-URL’s ophalen

  • Haal IdP-endpoint-URL’s op vóór je de client koppelt aan de IdP

    • Klik in Entra ID op Endpoints op de app-registratiepagina Overview
    • Noteer de OAuth 2.0-authorization- en token-endpoints
  • Authorization Endpoint

    • Waar de code gebruikers naartoe stuurt om in te loggen
  • Token Endpoint

    • Backend wisselt de authorization code in voor een access token

Authenticatiestroom in Entra ID

Azure API Management

APIM koppelen aan Entra ID

OAuth- en OIDC-koppeling in APIM

  • Open in APIM onder APIs OAuth 2.0 + OpenID Connect

    • Definieer een nieuwe authorization server
  • Configureer de server met:

    • Authorization- en token-endpoints
    • Client ID en Client Secret
    • Scopes die je API aanbiedt
Azure API Management

Laten we oefenen!

Azure API Management

Preparing Video For Download...