API-Authentifizierung und -Zugriff konfigurieren

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Bedeutung der API-Sicherheit

HTTP-Sicherheit

  • API-Endpunkte sind oft öffentlich
  • Daten hinter den APIs müssen geschützt werden
  • Besonders wichtig bei sensiblen Daten
Azure API Management

Überblick: Authentifizierung

  • Authentifizierung und Autorisierung sind nicht dasselbe
  • Authentifizierung weist die Identität des Aufrufers nach
  • Anmelden mit Benutzername und Passwort ist eine Art Authentifizierung

Anmeldeformular

Azure API Management

Überblick: Autorisierung

Unsichere vs. sichere Anfragen

  • Autorisierung steuert Berechtigungen
  • Ein authentifizierter Nutzer kann trotzdem unautorisiert sein
  • Beispiel: Nur Admins dürfen auf einen Admin-Bereich zugreifen
Azure API Management

Beispiel: Wetter-App

Autorisierung in einer Wetter-App

Azure API Management

Einführung in OAuth

  • OAuth wird für Authentifizierung genutzt
  • Auch für Autorisierung
  • Komplexes Sicherheitsprotokoll
  • Hat eine sehr hohe Sicherheitsstufe

Ausstellen eines Access Tokens

Azure API Management

Google-OAuth-Beispiel

Google-OAuth-Beispiel

Azure API Management

API-Key-Autorisierung in Azure Functions

  • Autorisierung braucht nicht immer Authentifizierung
  • HTTP-Endpunkte können mit API-Schlüsseln gesichert werden
  • Langer Zeichentoken
  • In Azure Functions wird standardmäßig ein Schlüssel erzeugt
  • Schlüssel muss in der Anfrage stehen
  • Der Client muss den Schlüssel kennen
  • Der Client muss seine Identität nicht nachweisen

API-Schlüssel in Azure einrichten

Azure API Management

Unterschiedliche Scopes von API-Keys

API-Key-Scopes in einer Azure Function

  • Unterschiedliche Scopes für verschiedene Schlüsseltypen
  • Function-Level-Key gewährt Zugriff auf bestimmte Funktionen
    • Wie ein physischer Schlüssel für eine bestimmte Tür
  • Host-Level-Key
    • Gewährt Zugriff auf alle Funktionen in einer App
    • wie ein Generalschlüssel für alle Türen im Gebäude
Azure API Management

API-Management-Authentifizierung

  • APIM kann mit einem Authentifizierungsanbieter verbunden werden
  • Einer davon ist Entra ID
    • Früher bekannt als Active Directory
  • OAuth-Integration ist sicherer als API-Keys
    • Aber deutlich komplexer

Entra-ID-Integration in APIM aktivieren

Azure API Management

Autorisierungsrichtlinien im API Management

 

JWT in APIM validieren

Autorisierung wird in API Management über Richtlinien umgesetzt

  • Richtlinien definieren Zugriffsregeln

  • Endpunkte rollenbasiert einschränken

  • Sicherstellen, dass nur autorisierte Clients APIs aufrufen

Azure API Management

Lass uns üben!

Azure API Management

Preparing Video For Download...