Zum Inhalt springen
OrtmannConsulting
Zurück zur Übersicht

IT-Security, Baustoffindustrie

Lokale Admin-Passwörter im Self-Service — ohne mandantenweite Rechte für Menschen

Mitarbeitende rufen das Administrator-Passwort ihres eigenen Geräts selbst ab. Die Anwendung kapselt eine mandantenweite Berechtigung und prüft die Eigentümerschaft bei jedem Abruf neu.

Jahr
2026
Leistungen
Automatisierung
Bereich
Konzern-IT
Rolle
Intern, angestellt

Umgesetzt in angestellter Rolle für einen internen Fachbereich, nicht als externes Beratungsmandat. Das Unternehmen wird nicht genannt.

0Herausgaben ohne Protokolleintragfail closed, kein Ersatzpfad
35Tests, alle grün
3Angebundene Systeme

Ausgangslage

Die Berechtigung, die ein lokales Administrator-Passwort zurückgibt, gilt mandantenweit. Einen Berechtigungsumfang „nur eigene Geräte“ gibt es schlicht nicht: Wer lesen darf, darf es technisch für jedes Gerät im Unternehmen. Genau dafür existiert diese Anwendung — sie kapselt die weitreichende Berechtigung in einem Dienst, der die Eigentümerprüfung selbst übernimmt.

Zweiter dokumentierter Punkt: Das native Verzeichnisprotokoll hält den Abruf zwar fest, weist aber die Anwendung als Handelnden aus, nicht den Menschen. Der Nachweis „wer, wann, warum“ fehlte.

Bemerkenswert selbstkritisch ordnet die Spezifikation das Portal ein: als Break-Glass-Weg ohne Zusatzlizenz. Bei häufigem Admin-Bedarf wäre ein spezialisiertes Produkt der bessere Hauptweg. Das steht so im Projekt — nicht als Verkaufsargument, sondern als Einordnung.

Was der Ordner nicht sagt: wie der Ablauf vorher konkret aussah. Ticket, Helpdesk-Anruf oder gar nicht — das ist nirgends dokumentiert und wird hier nicht rekonstruiert.

Ansatz

Eine Flask-Anwendung auf Azure App Service. Die Anmeldung übernimmt die plattformseitige Authentifizierung; die Identität des Aufrufers liest die Anwendung ausschließlich aus den vom Server eingefügten Kopfzeilen, nie aus Browserdaten. Gegenüber Microsoft Graph und der Datenbank authentisiert sie sich über eine verwaltete Identität — es liegen keine Zugangsdaten in der Anwendung.

Ablauf eines Abrufs: Die Oberfläche lädt die Geräte der angemeldeten Person und prüft je Gerät rein über Metadaten, ob überhaupt ein Passwort gesichert ist, ohne es zu lesen. Die Person wählt ein Gerät und gibt einen Grund an. Der Server löst die Eigentümerschaft daraufhin neu und live auf — die vom Browser geschickte Geräte-ID gilt nie als Berechtigung.

Geprüft wird mit gestaffelten Signalen: der zugewiesene Hauptbenutzer aus der Geräteverwaltung als starkes Signal, ersatzweise eine kürzliche interaktive Anmeldung und eingetragene Besitzerschaft im Verzeichnis. Geteilte Geräte sind ausgeschlossen, ein abweichender Hauptbenutzer führt zur Ablehnung. Erst danach holt der Server das Passwort. Im Browser lebt es kurz: kopieren, Countdown, automatisches Löschen.

Der Punkt, an dem es anders hätte laufen können

Ein Abruf, der nicht protokolliert werden kann, findet nicht statt.

In der Abruf-Route wird der Protokolleintrag geschrieben, bevor das bereits geholte Passwort an den Browser geht. Schlägt das Schreiben fehl, wird das Passwort verworfen und die Anfrage mit einem Fehler beendet. Im Code steht das als Kommentar: abgerufen, aber nicht protokolliert → Herausgabe verweigern.

Das ist eine echte Abwägung, die anders hätte ausgehen können. Ist die Protokolldatenbank nicht erreichbar, funktioniert die Funktion nicht mehr — obwohl das Passwort technisch schon vorlag. Verfügbarkeit wird der Nachweisbarkeit geopfert. Der naheliegende Gegenentwurf — herausgeben und ersatzweise ins Anwendungsprotokoll schreiben — wurde nicht gewählt.

Dieselbe Haltung durchzieht das System: Ein Fehler beim Verzeichnisdienst führt zur Ablehnung, eine nicht konfigurierte Zugriffsgruppe sperrt die Funktion für alle, statt sie zu öffnen.

Bewusst offen gelassen wurde dagegen die Ersatzregel für Geräte ohne Hauptbenutzer: abschaltbar konfiguriert, weil laut Spezifikation die Datenqualität im Gerätebestand über die richtige Strenge entscheidet — und die war zum Umsetzungszeitpunkt nicht bekannt. Eine Entscheidung vertagen und das sichtbar machen ist etwas anderes, als sie zu übersehen.

Ergebnis

Rund 4.400 Zeilen in 34 Dateien, sechs Endpunkte, drei angebundene Systeme. 35 Tests laufen grün — sie decken den Eigentümer-Gate samt Ablehnungsfällen und den Gruppenzugriff ab und laufen gegen einen eingebauten Mock-Modus, also ohne echten Mandanten.

Bewusst manuell geblieben: Die Vergabe der weitreichenden Berechtigung ist ein Skript, das laut Dokumentation ausdrücklich nur nach Governance-Freigabe laufen soll — nicht im Selbstgenehmigungsverfahren.

Als spätere Ausbaustufen ausgewiesen und nicht umgesetzt: automatischer Passwortwechsel nach dem Abruf, Blockade nicht regelkonformer Geräte, Auffälligkeitsalarme, Freigabe-Workflow. Und eine bekannte Lücke steht im README: Die Geräteliste zeigt nur Geräte mit zugewiesenem Hauptbenutzer, obwohl die Prüfung beim Abruf auch andere freigeben würde.

Eingesetzte Technik

  • Python / Flask
  • Microsoft Graph
  • Entra ID
  • Azure SQL
  • Managed Identity

Weitere Projekte

Konzern-Kundenservice, Bauchemie

2026
11Länder auf einer Plattform

Ein Contact Center für elf Länder — eine Plattform statt elf Inseln

Kundenservice in elf Ländern über Sprache und SMS, mit Daten aus SAP, Salesforce und dem Produktsystem direkt im Arbeitsplatz der Agenten. Länderunterschiede sind Konfiguration, keine eigene Installation.

  • Twilio Flex
  • Twilio TaskRouter
  • Twilio Studio
  • SAP

Konzern-Compliance, Bauchemie

2026
10.872Erzeugte Dokumente

10.872 EU-Konformitätserklärungen statt Copy-Paste

Für die neue EU-Verpackungsverordnung waren Konformitätserklärungen in 12 Sprachen für rund 900 Verpackungsmaterialien nötig. Statt sie einzeln zu füllen, erzeugt und verteilt eine Pipeline sie in einem Lauf.

  • Python
  • docxtpl / Jinja2
  • Microsoft Word COM
  • Microsoft Graph API

Vertrieb & Innendienst, Bauchemie

2026
1 + 3Orchestrator und Fachagenten

Ein Orchestrator, drei Fachagenten für Produktauskünfte

Statt eines Agenten mit drei Wissensquellen leitet ein übergeordneter Agent an drei spezialisierte weiter — je einer für ERP-Artikeldaten, Produktinhalte und SharePoint-Dokumente.

  • Microsoft Copilot Studio
  • Azure AI Search
  • Azure Functions
  • SharePoint

Ähnlicher Prozess bei Ihnen?

30 Minuten, kostenlos, ohne Verkaufsgespräch. Sie beschreiben, was Zeit kostet — ich sage Ihnen ehrlich, ob sich Automatisierung lohnt.