Schnittstellen im Internet heißen REST-APIs. Diese Schnittstellen sind sehr mächtig. Darum müssen Sie diese Schnittstellen gut schützen. Sie nutzen vielleicht das Werkzeug sg_apicore für Ihre Daten. Dann dürfen wichtige Bereiche nicht für jeden offen sein. Die Erweiterung api-capability-bridge hilft Ihnen dabei. Sie prüft alle Verbindungen nach festen Regeln. Das System schaltet nur sichere Verbindungen frei.
Die Grundlage dafür ist ein Sicherheitsbericht. Man nennt diesen Bericht Manifest. Der Bericht zeigt das Risiko für jede Erweiterung. Das Risiko kann niedrig oder hoch sein. Die Brücke prüft diese Risiken sofort. Diese Prüfung passiert vor jeder Anfrage aus dem Internet.
Inhaltsverzeichnis
Überblick
Funktionen im Detail
Installation
Fazit
Überblick
Die api-capability-bridge ist eine Erweiterung für TYPO3.
Sie ist neu.
Entwickler testen das Werkzeug noch.
Sie erweitert das Werkzeug sg_apicore um eine Sicherheitsprüfung.
Beim Start liest das System die Datei config/capability-policy.yaml.
Das System prüft jede Verbindung mit dem Sicherheitsbericht.
Das System aktiviert nur geprüfte Verbindungen.
Der Sicherheitsbericht teilt das Risiko in Stufen ein.
Es gibt vier Stufen von niedrig bis sehr hoch.
Sie können eine Mindeststufe für jede Verbindung festlegen.
Sie können auch das Feld policy.require_manifest nutzen.
Dann blockiert das System alle Verbindungen ohne Sicherheitsbericht.
Es gibt keine Ausnahmen.
Die Erweiterung hat auch eine eigene Anmeldung. Dafür nutzt sie verschlüsselte Token-Codes. Das System speichert diese Codes sicher in der Datenbank. Die Codes gehören zu den Benutzern im TYPO3-Backend. Sie können auch den Arbeitsbereich bei jeder Anfrage wechseln. Das ist wichtig für die Arbeit mit Texten im Team.
Diese Erweiterung braucht TYPO3 in der Version 14.3 oder neuer. Sie braucht auch PHP in der Version 8.3 oder neuer. Zudem benötigen Sie die Erweiterungen sg-apicore und typo3-capability-manifest. Entwickler testen das Werkzeug noch. Prüfen Sie den Einsatz im echten Betrieb darum genau.
Funktionen im Detail
| Funktion | Nutzen |
|---|---|
| config/capability-policy.yaml | Haupt-Einstellung: Hier legen Sie alle Schnittstellen und Versionen fest. Sie können auch Gruppen für Schnittstellen erstellen. |
| Prüfung für jede Verbindung | Das System vergleicht jede Schnittstelle mit dem Sicherheitsbericht. Sie können eine Mindest-Risikostufe festlegen. |
| policy.require_manifest | Sperre ohne Bericht: Das System blockiert Schnittstellen ohne Sicherheitsbericht sofort. Es gibt keine Ausnahmen. |
| NewsStudioController | Schnittstelle für Nachrichten: Sie können Nachrichten erstellen, bearbeiten und löschen. Auch der Upload von Bildern ist geschützt möglich. |
| BackendBearerOpaqueTokenProvider | Sichere Anmeldung: Das System teilt Token-Codes den Benutzern zu. Sie können den Arbeitsbereich flexibel wechseln. |
| api_definitions-Block | Zentrale Liste: Sie tragen alle Ihre Schnittstellen übersichtlich in einer Datei ein. |
Der NewsStudioController ist ein gutes Beispiel.
Er zeigt, wie die Prüfung für Nachrichten funktioniert.
Sie können damit Nachrichten erstellen und bearbeiten.
Auch das Hochladen von Bildern ist möglich.
Zugriffsrechte schützen diese Funktionen.
Sie können eigene Schnittstellen nach diesem Vorbild bauen.
Die Anmeldung mit den Token-Codes ist einfach. Sie erstellen einen Code im TYPO3-Backend. Das System verschlüsselt den Code in der Datenbank. Bei jeder Anfrage prüft das System diesen Code. Das nutzt die eingebaute Sicherheit von TYPO3.
Installation
composer config repositories.api-capability-bridge vcs https://github.com/dirnbauer/api-capability-bridge.git
composer require webconsulting/api-capability-bridge:@alphaHäufige Fragen
Fazit
Die api-capability-bridge arbeitet sehr vorsichtig. Das System schaltet Schnittstellen erst nach einer erfolgreichen Prüfung frei. Die Einrichtung am Anfang braucht etwas mehr Zeit. Dafür sind Ihre Schnittstellen danach sehr sicher. Das Werkzeug ist ideal für Teams mit hohen Sicherheitsregeln. Ein Test lohnt sich für Sie.
Möchten Sie mehr über den Sicherheitsbericht erfahren? Lesen Sie dazu unseren Artikel /blog/typo3-capability-manifest.
Diese Erweiterung nutzt die Arbeit von sgalinski. Wir danken dem Team von sgalinski für die Hilfe. Die Erweiterung ist für alle Menschen frei nutzbar.