Zum Hauptinhalt springen
Version: In Entwicklung
Zugriff & Administration

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.

Stackeigener Konfigurationsspeicher · 3.5.10

etcd

Hält Routen, Upstreams und Plugin-Konfiguration des API-Gateways konsistent vor.

Keycloak
Gemeinsamer Identitätsdienst · 26.6.3

Keycloak

Stellt Token, Scopes und Datenraum-Claims bereit, die APISIX an geschützten Fachrouten prüft.

Komponente öffnen

Gateway-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:

OAuth-2.0-Scope

api:read

Erlaubt die von einer Route als lesend klassifizierten API-Methoden.

OAuth-2.0-Scope

api:write

Erlaubt die für Erzeugung und Änderung vorgesehenen API-Methoden.

OAuth-2.0-Scope

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.

Referenzen