Authentifizierung und Autorisierung mit Entra ID

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Grundlegende OAuth-Konzepte

Entra ID – APIM-Integration

Azure API Management

Warum einen Identity Provider nutzen

Autoparker-Analogie

  • Denk an einen IdP wie an einen Autoparker
  • Im Handschuhfach liegen Wertsachen (sensible Daten)
  • Du gibst dem Parker einen speziellen Valet-Schlüssel
    • erlaubt nur das Parken, nicht den Zugriff auf Wertsachen
  • Genauso verwaltet der IdP die App-Sicherheit, hat aber keinen Zugriff auf Daten in Apps
  • Beispiel: Entra ID ist der IdP, API Manager ist der Client
Azure API Management

Entra ID-App registrieren

  • Entra ID findest du im Azure Portal
  • Zum Verwalten brauchst du hohe Contributor-Rechte
  • Für OAuth: neue Entität unter App registrations anlegen
  • Jede Registrierung braucht einen Namen und eine gültige Redirect-URL
  • Für APIM ist das die Adresse der APIM-Instanz
  • So leitet Entra ID nach dem Login zurück zu APIM

Entra ID App-Registrierung

Azure API Management

Client-Informationen erfassen

Entra ID Client-Informationen

  • Client ID und Tenant ID

    • bilden die öffentliche Adresse der Anwendung
    • Code nutzt sie, um Entra ID zu sagen, „wer" die App ist
  • Client Secret

    • fungiert als Passwort der Anwendung
    • Der Code legt es zur Identitätsprüfung vor
    • Immer sicher speichern und nie im Client-Code exponieren
Azure API Management

Endpoint-URLs abrufen

  • Hole IdP-Endpunkt-URLs, bevor du den Client mit dem IdP verbindest

    • In Entra ID unter Overview der App-Registrierung auf Endpoints klicken
    • OAuth 2.0-Authorization- und Token-Endpoints übernehmen
  • Authorization Endpoint

    • Hierhin leitet der Code Nutzer zur Anmeldung um
  • Token Endpoint

    • Backend tauscht Authorization Code gegen Access Token

Entra ID Authentifizierungsablauf

Azure API Management

APIM mit Entra ID verbinden

OAuth- und OIDC-Verbindung in APIM

  • In APIM unter APIs OAuth 2.0 + OpenID Connect öffnen

    • Neuen Authorization Server definieren
  • Server konfigurieren mit:

    • Authorization- und Token-Endpoints
    • Client ID und Client Secret
    • Von deiner API bereitgestellten Scopes
Azure API Management

Lass uns üben!

Azure API Management

Preparing Video For Download...