
APISIX
Zentraler Eingangspunkt für externe API-Aufrufe.
Apache APISIX ist ein Open-Source-API-Gateway. Es nimmt HTTP- und WebSocket-Anfragen an, ordnet sie einer Route zu und leitet sie an den konfigurierten Upstream-Dienst weiter. Plugins ergänzen diesen Pfad um wiederverwendbare Funktionen wie Authentifizierung, Zugriffskontrolle, Header-Verarbeitung, Rate-Limiting, Protokollierung oder Metriken.
Die zentralen technischen Konzepte sind:
- Routes verbinden Pfade, Methoden und Hosts mit Plugins und einem Upstream.
- Upstreams beschreiben die erreichbaren Zielinstanzen und deren Lastverteilung.
- Plugins führen Gateway-Funktionen vor oder nach dem eigentlichen Aufruf aus.
- Consumers und Credentials können technische API-Zugänge repräsentieren.
- etcd speichert im traditionellen Deployment-Modus die dynamische Gateway-Konfiguration.
- Admin API ermöglicht die kontrollierte Verwaltung von Routen, Upstreams und Plugins.
APISIX in der UDSP
APISIX bildet den zentralen Zugriffspfad zu den geschützten Fach-APIs der UDSP. Für aktivierte Mandantenkomponenten erzeugt die Automatisierung passende Routen, beispielsweise für Stellio, FROST, GeoServer oder den Geoportal-Konfigurationsdienst. Externe Clients erhalten dadurch stabile HTTPS-Endpunkte, während die internen Kubernetes-Dienste nicht direkt veröffentlicht werden müssen.
An geschützten Routen validiert APISIX die von Keycloak ausgestellten Token und prüft die für Methode und Datenweg erforderlichen Scopes. Anschließend werden nur die benötigten Header und der Mandantenkontext an den zuständigen Fachdienst weitergegeben. APISIX entscheidet damit über den technischen Durchlass am Gateway; Datenmodell, fachliche Validierung und Persistenz verbleiben beim Zielsystem.
Die Routen entstehen aus den tatsächlich aktivierten Komponenten. Wird ein Fachdienst später ergänzt oder geändert, muss die APISIX-Konfiguration erneut ausgerollt werden. Das Gateway verwendet etcd als Konfigurationsspeicher und liefert Metriken beziehungsweise Zugriffsprotokolle an den Observability-Stack.
Technische Abhängigkeiten
APISIX benötigt einen stackeigenen Konfigurationsspeicher. Für geschützte UDSP-Routen verwendet das Gateway zusätzlich den zentralen Identitätsdienst.
etcd
Hält Routen, Upstreams und Plugin-Konfiguration des API-Gateways konsistent vor.
Keycloak
Stellt Token, Scopes und Datenraum-Claims bereit, die APISIX an geschützten Fachrouten prüft.
Komponente öffnenGateway-Konfiguration mit etcd
etcd ist ein verteilter, konsistenter Schlüssel-Wert-Speicher für Konfiguration und Koordination. In der UDSP wird er als Abhängigkeit des APISIX-Helm-Charts ausgerollt und besitzt keinen eigenen Inventory-Schalter. Fachliche Daten liegen nicht in etcd; Änderungen erfolgen über die vorgesehenen APISIX-Konfigurationswege statt über einen direkten Plattformzugang zum Speicher.
Konfiguration und Deployment
Gemeinsame Namespaces, Replikate und Observability-Ziele werden in der Plattformbasis über inv_am.apisix und inv_replicas.api_mgmt festgelegt. Jeder Mandant aktiviert APISIX zusätzlich in seinem eigenen Komponentenblock und erhält zwei getrennte Schlüssel für die interne Admin API.
Die mandantenbezogenen Felder und das Ansible-Tag sind unter Mandanten konfigurieren: Apache APISIX dokumentiert. Die gemeinsamen Werte stehen unter Plattformbasis konfigurieren.
Rollen und Rechte
APISIX verwaltet für normale Plattformnutzer keine eigenen Benutzerrollen. Der Zugriff auf geschützte Fach-APIs basiert auf den von Keycloak ausgestellten Scopes:
api:read
Erlaubt die von einer Route als lesend klassifizierten API-Methoden.
api:write
Erlaubt die für Erzeugung und Änderung vorgesehenen API-Methoden.
api:delete
Erlaubt ausschließlich die ausdrücklich als löschend geschützten Routen.
Die Inventory-Felder admin_role und viewer_role sind trotz ihres historischen Namens keine Benutzerrollen. Sie enthalten zwei voneinander unabhängige 32-stellige API-Schlüssel für die interne APISIX Admin API: admin_role darf Gateway-Konfiguration lesen und ändern, viewer_role besitzt nur lesenden Zugriff. Diese Schlüssel gehören in die geschützte Deployment-Konfiguration und dürfen nicht als Zugang zu Fach-APIs ausgegeben werden.