Mit dem aktuellen Release midPoint 4.11 kommt midPilot. midPilot ist eine Reihe von AI-Funktionen, mit denen Sie neue Anwendungen schneller an midPoint anbinden – die Open-Source-Plattform für Identity Governance and Administration (IGA) von Evolveum. midPilot besteht aus:
- Connector Generator schreibt anhand der API-Dokumentation einen REST-Connector für eine Anwendung.
- Smart Integration schlägt Object Types, Korrelation, Mappings und Synchronisationsreaktionen für eine Resource vor.
- Integration Catalog ist ein zentraler Katalog fertiger Integrationen.
- SCIMREST Framework ist die Low-Code-Schicht, auf der die generierten Connectors aufbauen: YAML- und Groovy-Dateien statt eines vollständigen Java-Connectors.
Ich habe die Connector-Generierung und Smart Integration in einem kleinen Szenario getestet. Eine HR-Datenbank ist die Quelle der Identitäten, Snipe-IT (IT-Asset-Management) ist das Zielsystem, das die Benutzerkonten erhält.
Neu bei midPoint? Dann starten Sie am besten mit unserem Einstieg in Evolveum midPoint IAM – dort führen wir durch ein einfaches Szenario von HR nach LDAP.
midPilot in einer Minute
- midPilot bringt AI-gestützte Connector-Generierung und Smart Integration in midPoint 4.11.
- Aus öffentlicher API-Dokumentation entstand ein funktionierender, authentifizierter REST-Connector für Snipe-IT.
- Einfache 1:1-Mappings waren meist richtig, Werteübersetzungen und Datentypen nicht.
- Behandeln Sie jeden Vorschlag als Entwurf: prüfen, per Simulation testen, dann aktivieren.
Voraussetzungen
Auf den Aufbau der gesamten Umgebung gehe ich hier nicht im Detail ein. Wichtig ist, was eingerichtet sein muss, damit die AI-Funktionen laufen.
- Entwicklungswerkzeuge in midPoint aktivieren.
MP_SET_midpoint_connectors_developmentToolsEnabled=true - Den Connector-Generator-Service starten (
midpilot-connector-gen). Er braucht eine eigene PostgreSQL-Datenbank und vor dem ersten Start eine Schema-Migration. - Den Smart-Integration-Service starten (
midpilot-smart-integration). Dieser Service ist zustandslos. - Beide Services mit einem LLM verbinden. Jeder OpenAI-kompatible Endpoint funktioniert. Ich habe ein lokal gehostetes MiniMax-M2.5-Modell hinter einem internen Gateway genutzt.
- midPoint in der Systemkonfiguration auf die Services verweisen:
<smartIntegration>
<serviceUrl>http://midpilot-smart-integration:8090</serviceUrl>
<connectorGenerationUrl>http://midpilot-connector-gen:8090/api/v1</connectorGenerationUrl>
</smartIntegration>
Ist alles eingerichtet, melden die /health-Endpoints der Services sowohl den Server als auch das LLM als OK – und das Pop-up AI service is unavailable im Resource-Wizard verschwindet.
Alle diese Einstellungen sind in der offiziellen midPoint-Konfiguration definiert.
Einen Connector generieren
Der Connector Generator ist ein Wizard, der Sie durch diese Schritte führt:
- Anwendung festlegen. Sie geben Name und Version an und wählen den Integrationstyp. Zur Auswahl stehen SCIM, REST und SQL.
- Dokumentation finden. Der Service sucht selbstständig im Web nach API-Dokumentation und verarbeitet sie. Sie können Dokumentation auch manuell hinzufügen.
- Konfigurieren. In den nächsten Schritten legen Sie die Basis-Endpoints der API und den Authentifizierungstyp fest und definieren Object Classes samt Operationen. Das übernimmt der AI-gestützte Generator. In jedem Schritt erzeugt er Einstellungen, die Sie prüfen und ändern können.
Am Ende steht ein Low-Code-Connector: nichts anderes als eine Reihe gut lesbarer YAML-Dateien auf Basis von Evolveums REST-Connector-Framework, kein kompiliertes Java. Sie können die Dateien öffnen, prüfen und korrigieren. Connectors werden gespeichert, ihre Attribute lassen sich später ändern.

Was hat funktioniert?
- Authentifizierung und Suche funktionierten auf Anhieb.
- Der Generator hat sinnvolle Kommentare eingefügt, darunter TODOs an Stellen, an denen die Dokumentation unklar war.
Wo musste ein Mensch ran?
- Das Schema wurde aus dem Create-Request abgeleitet, nicht aus der Read-Response. Manche Felder sehen beim Lesen anders aus:
permissionsist ein JSON-Objekt, kein String. Das Lesen von Benutzern schlug fehl, bis ich diese Felder entfernt undidals eindeutigen Identifier ergänzt hatte. - Schreiboperationen werden nicht automatisch generiert. Bis ich Create, Update und Delete ergänzt hatte, konnte der Connector nur lesen.
- Die generierte Create-Operation enthielt keine Attribute und schickte deshalb einen leeren Request.
- Snipe-IT verschachtelt das erstellte Objekt unter
payload. Das aktuelle Connector-Template kann die ID des neuen Benutzers dort nicht auslesen. Die Konten werden angelegt, aber midPoint kann sie nicht sofort verknüpfen. Korrelation plus ein Import-Task schließen die Lücke. - Änderungen am Connector werden erst nach einem Neustart von midPoint geladen.
Object Types, Korrelation und Mappings generieren
Ist eine Resource angebunden, analysiert Smart Integration eine Stichprobe echter Daten und schlägt die Konfiguration vor.
Object Types. Die AI hat die HR-Daten ausgewertet und auf Basis von employment_type drei Kontotypen vorgeschlagen: FTE, Contractor und Student. Das lief über den GUI-Wizard, und die AI hat ihre Vorschläge gut begründet.

Neben Object Types erzeugt Smart Integration auch Vorschläge für Korrelation, Mappings und Synchronisation. Die Korrelation habe ich in diesem Szenario nicht getestet. Die Synchronisation war im ersten Anlauf korrekt konfiguriert, bei den Mappings gab es dagegen Probleme.
Mappings. Einfache 1:1-Vorschläge waren größtenteils richtig:
first_name→givenNamejob_title→titlelocation→localityhire_date→validFrom- die Personalnummer →
nameundpersonalNumber
Fehler traten überall dort auf, wo ein Wert übersetzt und nicht nur kopiert werden musste:
status(ACTIVE,TERMINATED, …) wurde unverändert auf den Aktivierungsstatus von midPoint gemappt. Das scheitert zur Laufzeit, weil midPointenabledoderdisablederwartet.- Auf der Snipe-IT-Seite wurden Textfelder wie Abteilung und Standort auf numerische ID-Felder wie
department_idgemappt.
In der GUI entscheiden Sie, ob Sie die vorgeschlagenen Einstellungen übernehmen. Gibt es mehrere Empfehlungen, wählen Sie die passende aus.

Das Ergebnis
Nach Prüfung und Korrekturen wurden die HR-Benutzer mit korrekten Namen und korrektem Status in midPoint importiert. Die Snipe-IT-Konten wurden provisioniert und genau wie im HR-System verknüpft.
Fazit
Wer AI-Tools für Identity Governance evaluiert, findet in midPilot einen beeindruckenden Beschleuniger. Er hat echte API-Dokumentation gelesen, einen funktionierenden authentifizierten Connector erzeugt und den Großteil der Resource-Konfiguration aus echten Daten vorbefüllt. Das spart Stunden an API-Lektüre und YAML-Arbeit.
Ein Beschleuniger, kein Autopilot
Stark bei der Struktur
- API-Endpoints und Paging
- Authentifizierung
- 1:1-Attribut-Mappings
Schwach bei der Bedeutung
- Datentypen
- Werteübersetzungen
- Folgen von Synchronisationsreaktionen
Behandeln Sie jeden Vorschlag wie den Entwurf eines Junior-Kollegen. Prüfen, per Simulation testen – und erst dann aktivieren.
FAQ: midPilot für Identity Governance and Administration
Was ist midPilot in midPoint?
midPilot ist eine Reihe von AI-Funktionen in midPoint 4.11: Connector Generator, Smart Integration, Integration Catalog und das Low-Code SCIMREST Framework. Zusammen beschleunigen sie die Anbindung neuer Anwendungen an midPoint.
Ersetzt midPilot einen Identity Engineer?
Nein. In unserem Test hat midPilot die Struktur gut gelöst (Endpoints, Paging, Authentifizierung und 1:1-Mappings). Datentypen, Werteübersetzungen und die Folgen der Synchronisation mussten aber weiterhin von Menschen geprüft werden.
Welches LLM braucht midPilot?
Beide midPilot-Services funktionieren mit jedem OpenAI-kompatiblen Endpoint. In diesem Test haben wir ein lokal gehostetes MiniMax-M2.5-Modell hinter einem internen Gateway eingesetzt.
Falls Sie Fragen haben, sind wir nur einen Klick entfernt.