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.
(Bild: KI / heise medien)
- Arnd Scharpegge
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.
- 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.
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.