FastAPI: So härten Sie Ihre REST-Schnittstelle gegen unbefugte Zugriffe ab

REST-Schnittstellen im Netz brauchen ein Zugriffskonzept. So gelingt ihre Absicherung inklusive Rollenmodell zur Rechtevergabe auf Basis von FastAPI in Python.

Artikel verschenken
vorlesen Druckansicht 2 Kommentare lesen
Darstellung eines rollenbasierten Zugriffskonzept verschiedener Nutzer auf eine Datenbank.

(Bild: KI / heise medien)

Lesezeit: 24 Min.
Von
  • Arnd Scharpegge
Inhaltsverzeichnis

REST-APIs im Internet sind eine feine Sache. Als sprach- und plattformunabhängige Schnittstellen bieten sie einfache Zugriffs- und Bearbeitungsmöglichkeiten, etwa über Browser oder Mobile-Apps. Doch wer darüber sensible Daten verwalten möchte, muss sie gut schützen. Dieser Artikel erklärt, wie Sie eine REST-Schnittstelle zuverlässig absichern und zudem ein Rollenkonzept mit verschiedenen Berechtigungen umsetzen. Anhand eines einfachen Beispiels geht der Text dabei auf unterschiedliche Rollenberechtigungen ein, mit denen man Nutzern verschieden umfangreiche Zugriffsrechte erteilen kann.

Im vorgestellten Beispiel können sich Nutzer zuerst an einem Schnittstellen-Server mit Namen und Kennwort anmelden, was der Artikel in diesem Zusammenhang als „Basic Auth“ bezeichnet. Später quittiert ein JSON Web Token (JWT) eine solche Anmeldung. Der Token erlaubt es, Informationen in kodierter Form über den angemeldeten Nutzer zu transportieren. Dazu kann etwa die Rolle zählen, die er systemseitig zur Steuerung der Zugriffsrechte erhalten hat. Ein weiterer Kernpunkt des Artikels ist das Role based access concept (RBAC), also die rollenabhängige Vergabe unterschiedlicher Rechte.

Arnd Scharpegge

Arnd Scharpegge ist seit über 20 Jahren in der IT-Beratung tätig und arbeitet als Senior Solution Architect bei der Cpro IPS GmbH in den Bereichen Data Engineering, Python-Entwicklung und IoT-Projektrealisierung.

heise+ kompakt
  • Wer REST-APIs mit der schlanken Python-Bibliothek FastAPI erstellt, kann seine Schnittstelle recht einfach zuverlässig absichern.
  • Der Artikel erläutert anhand eines konkreten Programmierbeispiels, wie Sie dazu eine Token-basierte Authentifizierung einrichten.
  • Ein Rollenkonzept sorgt dafĂĽr, dass unterschiedliche Nutzer verschiedene Zugriffsberechtigungen erhalten.
Python-Programmierung

Der Artikel knüpft an den Text „REST-API und Python: Daten mit FastAPI verwalten“ an, der beschreibt, wie Sie den Lebenszyklus von Angestelltendaten über eine FastAPI-Schnittstelle abbilden können. Wie im ersten Teil testet der Autor die REST-Schnittstelle mit dem API-Client Bruno und verwendet das standardmäßig in FastAPI aktivierte OpenAPI (ehemals Swagger). Das hier vorgestellte Projekt lässt sich auch ohne Kenntnis des vorherigen Artikels umsetzen.

Das war die Leseprobe unseres heise-Plus-Artikels "FastAPI: So härten Sie Ihre REST-Schnittstelle gegen unbefugte Zugriffe ab". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.