Identix: Plattform für Identitäts- und Zugriffsmanagement

Eine mandantenfähige Plattform für Identitäts- und Zugriffsmanagement (OAuth 2.0 / OpenID Connect) mit Verwaltungskonsole, Zwei-Faktor-Authentifizierung und protokolliertem Identitätswechsel. Von einem Ingenieur in 40 Arbeitstagen entworfen, gebaut und betreut – einschließlich Bereitstellung auf Kubernetes und CI/CD –, mit Specification-Driven Development und einem KI-Assistenten.

SecurityIAMOAuth 2.0JavaSpring BootReactKubernetes

Zusammenfassung

40Tage

aktiver Entwicklung

1Ingenieur

KI-orchestriert

~92KZeilen

Code, Java und TypeScript

~1.700Tests

automatisiert, davon ~420 Integrationstests

237Operationen

öffentliche API, in OpenAPI dokumentiert

3Pipelines

CI/CD für Kubernetes

Das Projekt

Identix ist ein Identitätsanbieter für den Eigenbetrieb. Ein Unternehmen installiert ihn in der eigenen Infrastruktur, und eine einzige Installation bedient viele voneinander unabhängige Anwendungen (Mandanten) – jede mit eigenen Benutzern, Rollen, Anmeldeeinstellungen und Signaturschlüsseln. Passwörter, Schlüssel und personenbezogene Daten verlassen nie die Infrastruktur des Betreibers.

Die Identitätsverwaltung ist der sicherheitskritischste Teil jedes Systems: Ein Fehler an dieser Stelle gefährdet alle Anwendungen, die darauf aufbauen. Das Projekt musste daher einen großen Funktionsumfang mit einer Sicherheitsarchitektur verbinden, die einer kritischen Prüfung standhält. Ein einziger Ingenieur hat es entworfen und gebaut und betreut es bis heute.

Was gebaut wurde

Autorisierungsserver – OAuth 2.0 und OpenID Connect auf Basis von Spring Authorization Server, mit eigenem Aussteller und eigenen Signaturschlüsseln für jeden Mandanten, Rotation der Refresh-Tokens und sofortigem Widerruf von Tokens.

  • Strikte Mandantentrennung – jede Anfrage bleibt auf ihren Mandanten beschränkt; automatisierte Architekturtests setzen diese Regel durch
  • Benutzer, Rollen, Gruppen und Organisationen mit Massenimport und -export sowie einer Passwortrichtlinie je Mandant
  • Zwei-Faktor-Authentifizierung (TOTP) mit Wiederherstellungscodes
  • Protokollierter Identitätswechsel – ein Administrator kann im Namen eines Benutzers handeln; jede solche Sitzung wird aufgezeichnet
  • Webhooks mit HMAC-Signatur für Ereignisse im Lebenszyklus von Benutzern
  • Prüfprotokoll – je Mandant geführt, Einträge werden ausschließlich angefügt; für den Betreiber gibt es eine mandantenübergreifende Ansicht
  • Export und Import der Mandantenkonfiguration zwischen Installationen

Verwaltungskonsole – React und TypeScript, auf Englisch und Russisch, für Bildschirme vom Desktop bis zum Smartphone ausgelegt, mit integriertem Entwicklerbereich: Integrationsleitfäden und interaktive API-Dokumentation.

Öffentliche API – 237 Operationen, vollständig in OpenAPI beschrieben.

Infrastruktur – drei Services auf Kubernetes mit Helm-Charts, PostgreSQL und Redis sowie drei CI/CD-Pipelines in GitLab, die jeden Service bauen, testen und bereitstellen. Schlägt auch nur ein Test fehl, wird die Bereitstellung blockiert.

Sicherheit als Konstruktionsprinzip

Die Architektur trennt Vertrauenszonen. Der öffentliche Autorisierungsserver hat keinen Zugriff auf die Datenbank und verwahrt keine privaten Schlüssel: Sämtliche Daten und das Signieren aller Tokens liegen bei einem internen Service, der nur innerhalb des Clusters erreichbar ist. Signaturschlüssel werden verschlüsselt gespeichert und nur im Arbeitsspeicher entschlüsselt; wird der öffentliche Knoten kompromittiert, gibt er daher weder Schlüssel noch Daten preis.

Sicherheit war Teil der Methode, kein nachträglicher Zusatz:

  • Bedrohungsmodell nach STRIDE: schützenswerte Werte, Angreiferprofile, Vertrauensgrenzen und eine Gegenmaßnahme für jede Bedrohung
  • Sicherheitsdokumentation für Prüfer mit Zuordnung der Sicherheitsmaßnahmen zu OWASP ASVS Level 2 und zu den bewährten Verfahren der IETF für OAuth 2.0 und JWT
  • Sicherheitsaudit erfolgreich abgeschlossen; alle Feststellungen wurden behoben

Die Methode

Ein Ingenieur in der Rolle des Architekten und KI-Orchestrators, nach der Methode Specification-Driven Development. Am Anfang stand eine schriftliche Spezifikation (Anforderungen, Datenmodell, Sicherheitsinvarianten); jede wesentliche Entscheidung wurde vor der Implementierung als Architekturentscheidung (ADR) dokumentiert.

KI-Agenten erzeugten auf Grundlage dieser Spezifikation Code, Tests und Dokumentation; der Ingenieur prüfte jede Änderung, verantwortete Architektur und Sicherheitsmodell und stand für jeden Commit ein. Die Infrastruktur (Kubernetes-Manifeste, Helm-Charts, CI/CD-Pipelines) entstand durch dieselbe Person auf dieselbe Weise.

Die Entwicklung verlief nicht durchgehend: Das Projekt schritt in Etappen voran, mit Pausen dazwischen. Zählt man nur die Tage, an denen tatsächlich gearbeitet wurde, entstand die Plattform in 40 Arbeitstagen.

Technologie-Stack

Java 23Spring Boot 3.5Spring Authorization ServerPostgreSQLRedisFlywayReact 19TypeScriptAnt DesignViteJUnit 5TestcontainersArchUnitVitestPlaywrightDockerKubernetesHelmGitLab CI/CDKaniko

Vergleich mit klassischer Entwicklung

Typisches klassisches Team (Schätzung) Dieses Projekt (KI-gestützt)
Laufzeit 6–9 Monate 40 Arbeitstage
Team 4–6 Ingenieure 1 Ingenieur
Infrastruktur und CI/CD Eigener DevOps-Ingenieur Inklusive, derselbe Ingenieur
Sicherheit Bedrohungsmodell und Audit oft aufgeschoben Bedrohungsmodell nach STRIDE, Audit abgeschlossen
Dokumentation Nachträglich, wenn überhaupt Spezifikation und ADRs ab dem ersten Tag
Automatisierte Tests Unterschiedlich ~1.700

Fazit

Identitäts- und Zugriffsmanagement ist kein naheliegendes Beispiel für schnelle Auslieferung: Es verbindet einen großen Funktionsumfang mit kompromisslosen Sicherheitsanforderungen. Identix zeigt, dass die Methode auch hier trägt.

Ein Ingenieur. 40 Arbeitstage. Ein mandantenfähiger Autorisierungsserver, eine Verwaltungskonsole, eine öffentliche API mit 237 Operationen, rund 1.700 automatisierte Tests, Kubernetes und CI/CD sowie eine Sicherheitsarchitektur, die sich auf ein Bedrohungsmodell und ein abgeschlossenes Audit stützt.

Entscheidend war nicht die Geschwindigkeit der Codegenerierung, sondern die Disziplin, die sie umgibt: zuerst die Spezifikation, Entscheidungen dokumentiert, jede Änderung geprüft. Das macht das System wartbar – und genau das würde es einem anderen Team ermöglichen, es zu übernehmen.

Ihre Spezifikation, ein Festpreis, ein funktionierendes System.

  1. 01 NDA unterzeichnet Bevor Einzelheiten besprochen werden. Ihre Idee ist geschützt.
  2. 02 Erstgespräch · 30 Min. Nur mit einem erfahrenen Ingenieur – kein Vertrieb, keine Vermittler.
  3. 03 Schriftliches Angebot · 24 Stunden Fester Umfang, Festpreis oder Abrechnung nach Aufwand – Sie haben die Wahl.
  4. 04 Projektstart binnen 48 Stunden Wenn wir zueinander passen, können wir sofort beginnen.
Erstgespräch vereinbaren → 30 Minuten · kostenlos · zuerst das NDA