Mit fremdem Hut durch Nextcloud

Mit fremdem Hut: Über das Impersonate-Plugin in Nextcloud

Es gibt Momente im Berufsleben eines Administrators, da wünscht man sich die Fähigkeit, kurz in die Haut eines anderen zu schlüpfen. Nicht aus Eitelkeit oder Neugier, sondern aus schierer Verzweiflung. Der Nutzer aus der Buchhaltung ruft an, zum dritten Mal diese Woche, und etwas an seiner Oberfläche funktioniert nicht. „Bei mir geht das nicht“, sagt er, und man selbst sieht auf dem eigenen Bildschirm nur einwandfrei laufende Nextcloud-Module. Man könnte jetzt ferndiagnostizieren, was gern in Endlos-Schleifen aus Screenshots und Missverständnissen mündet. Oder man nutzt ein Werkzeug, das in der Nextcloud-Welt noch immer unterschätzt wird: die Benutzer-Verkleidung, im Fachjargon Impersonation genannt, oder schlicht „Impersonate“.

Dabei zeigt sich schnell, dass dieses Plugin weit mehr kann, als nur den Support zu erleichtern. Es ist ein mächtiges Scharnier zwischen Administration, Fehlersuche und Testbetrieb. Aber es ist auch ein Werkzeug, das Missbrauch Tür und Tor öffnen kann, wenn man es nicht mit Bedacht einsetzt. Ein Streifzug durch die Möglichkeiten, Tücken und ethischen Abgründe einer Funktion, die manche als Allheilmittel feiern und andere am liebsten nie wieder erwähnen würden.

Der Anfang war ein guter Zweck

Nextcloud ist als Open-Source-Plattform eine Art Schweizer Taschenmesser für die digitale Zusammenarbeit. Dateien, Kalender, Kontakte, Office, Chat – all das lässt sich in einer eigenen Instanz betreiben, hinter der man selbst die Kontrolle behält. Doch je größter eine Installation wird, desto unübersichtlicher wird der Alltag. Genau hier setzt das Impersonate-App an, die ursprünglich vom europäischen Kernforschungszentrum CERN entwickelt wurde. Ja, richtig gehört: Die Leute, die den Large Hadron Collider betreiben, haben sich Gedanken über das Benutzer-Management ihrer Cloud gemacht. Das beruhigt ungemein.

Ursprünglich ging es darum, Support-Mitarbeitern zu ermöglichen, sich als ein anderer Benutzer auszugeben, um dessen Probleme direkt an dessen Arbeitsplatz nachzuvollziehen. Nicht, indem man das Passwort des Kollegen erfragt, was ein Sicherheitsrisiko und eine schlechte Angewohnheit ist, sondern indem man eine temporäre Identität übernimmt. Das ist ein gewaltiger Unterschied zur simplen Passwort-Übernahme. Man sieht die Welt mit den Augen des Anderen, man verlässt den Account aber nicht dauerhaft und muss nicht das Passwort ändern. Und der betroffene Nutzer bleibt in der Regel unberührt – er merkt nicht einmal, dass gerade jemand in seinem Account arbeitet. Zumindest nicht sofort.

Technisch betrachtet ist das kein Hexenwerk, aber es erfordert eine saubere Implementierung. Nextcloud verfügt über ein ausgeklügeltes Rechtesystem, und genau daran muss ein Plugin wie Impersonate ansetzen. Es reicht nicht, die Session-ID auszutauschen oder den Benutzernamen in der Datenbank zu überschreiben – das würde das System in einen undefinierten Zustand versetzen und womöglich die Datenbank korrumpieren. Stattdessen manipuliert das Plugin die Session auf eine raffinierte Art und Weise: Es wechselt die aktive Benutzerkennung innerhalb der bestehenden Session, ohne dass der gesamte Speicher- oder Cache-Mechanismus neu aufgebaut werden müsste.

Für den Administrator bedeutet das: Er öffnet die Nutzerverwaltung, sucht den betroffenen Account, klickt auf „Als Benutzer anmelden“ – und befindet sich plötzlich in der Oberfläche des Anderen. Er sieht die persönlichen Dateien, die geteilten Ordner, die Einstellungen, die zuletzt bearbeiteten Dokumente. Kein Wunder, dass viele Admins diese Funktion als eine Art Geheimwaffe betrachten. Man muss sich nur einmal vorstellen, wie oft die klassische Fernwartung an komplizierten Einwahlverfahren, Firewall-Problemen oder schlicht an fehlenden Rechten scheitert – hier fällt das alles weg. Die Fehlersuche wird radikal vereinfacht, weil man nicht mehr raten muss, was der Nutzer „wirklich“ sieht.

Doch Vorsicht, das ist kein Spielzeug für den schnellen Blick in fremde E-Mails. Die Verantwortung, die mit dieser Funktion einhergeht, ist immens. Wer sich als anderer Benutzer ausgibt, der bewegt sich in dessen Privatsphäre – und das nicht im übertragenen Sinne. Nextcloud speichert nicht nur Bürodokumente, sondern oft auch private Fotos, Gesundheitsdaten oder den Schriftverkehr mit dem Betriebsrat. Ein Administrator, der ohne triftigen Grund die Identität wechselt, macht sich unter Umständen strafbar – und das nicht nur nach deutschem Datenschutzrecht, das in solchen Fällen hohe Bußgelder vorsieht.

Es braucht also technische Vorkehrungen und einen klaren Prozess. Das Plugin selbst bietet zum Glück einige Sicherheitsmechanismen, die man nicht außer Acht lassen sollte. Zum einen lässt sich die Funktion auf bestimmte Benutzergruppen beschränken. Es ist ein Unding, allen Administratoren automatisch das Recht einzuräumen, sich als jeder beliebige Nutzer auszugeben. Besser ist es, eine eigene Gruppe „Impersonate-Berechtigte“ anzulegen und dort nur geschulte Personen aufzunehmen. Zum anderen gibt es die Möglichkeit, die Impersonation auf bestimmte Nutzergruppen zu begrenzen – so kann man etwa festlegen, dass sich ein Support-Mitarbeiter nur in Accounts der Abteilung „Vertrieb“ einklinken darf. Das klingt banal, ist aber in der Praxis ein enormer Gewinn an Kontrolle.

Ein interessanter Aspekt ist auch die unterschiedliche Handhabung in den verschiedenen Versionen von Nextcloud. Die Entwicklung des Impersonate-Plugins verlief nicht immer gradlinig. War es lange Zeit eine separate App, die man über den App-Store installieren konnte, wurde es später in den Kern der Plattform integriert – zumindest teilweise. Manche Funktionen wanderten in das große Nextcloud-Enterprise-Angebot, andere blieben der freien Community erhalten. Das sorgt gelegentlich für Verwirrung, weil die Dokumentation nicht immer klarstellt, welche Funktionen in welcher Edition verfügbar sind. Ein Faktor, den man als Administrator ernst nehmen und vor dem Einsatz genau prüfen sollte.

Dabei zeigt sich ein grundsätzliches Problem der Open-Source-Welt: Funktionen, die aus einem konkreten Bedarf großer Forschungseinrichtungen entstanden sind, finden ihren Weg in den Mainstream – aber eben nicht immer mit der nötigen Benutzerfreundlichkeit und Dokumentation. Ein klassischer Fall, bei dem man als Anwender selbst aktiv werden und sich in die Quelltexte stürzen muss, wenn man mehr über die Funktionsweise erfahren will. Wobei sich die Mühe lohnt, denn die Architektur dahinter ist durchdacht und zeigt, was mit sauberer PHP-Programmierung möglich ist.

Die Installation gestaltet sich je nach Installationsart unterschiedlich. Wer bei der Nextcloud-Installation auf Docker setzt, was sich heutzutage immer größerer Beliebtheit erfreut, der hat es manchmal leichter gesagt als getan. Das Plugin muss in den Container, was zusätzliche Schichten in der Docker-Compose-Datei oder einen eigenen Build erfordert. Bei einer klassischen Installation mit einem Webserver und PHP auf einem eigenen Server ist es nur eine Frage der Konfiguration. Grundsätzlich gilt: Das Impersonate-Plugin setzt auf die vorhandenen App-APIs von Nextcloud auf und sollte mit allen aktuellen Versionen funktionieren – solange der PHP-Version-String das hergibt. Insofern ist die Installation meist unspektakulär.

Unspektakulär, aber nicht trivial. Denn nach der Installation ist der eigentliche Prozess des Einklinkens noch nicht erledigt. Das Plugin ist kein Allheilmittel, das alle Fehler behebt, sondern ein Werkzeug, das an der Oberfläche arbeitet. Man sieht die Dateien, die Einstellungen, aber man sieht nicht, was im Hintergrund passiert. Zahlreiche Probleme treten nicht in der Benutzeroberfläche auf, sondern in den Protokolldateien, in der Datenbank oder im Zusammenspiel mit externen Anwendungen. Verwaltungsaufgaben, die ein Administrator normalerweise über die Kommandozeile erledigt, lassen sich nicht ohne weiteres im Impersonate-Modus ausführen. Man kann nicht einfach ein `occ`-Kommando ausführen, während man als anderer Benutzer angemeldet ist – das würde zu Zirkelschlüssen führen und womöglich die Rechteverwaltung verwirren.

Ein Praxisbeispiel: Stellen Sie sich vor, ein Vertriebsmitarbeiter klagt über fehlende Zugriffsrechte auf einen freigegebenen Ordner, der vom Chef angelegt wurde. Der Administrator nutzt die Impersonate-Funktion, wechselt die Identität und sieht: Der Ordner ist tatsächlich nicht sichtbar. Das liegt nicht an mangelnden Rechten – es liegt daran, dass die Freigabe auf einer Gruppenzugehörigkeit basiert, die in der Zwischenzeit geändert wurde. Der Admin kann das jetzt sofort sehen, aber er kann es nicht beheben, ohne die Identität wieder zu verlassen und die Gruppenverwaltung in den normalen Admin-Ansichten zu öffnen. Ein kleiner Umweg, aber einer, der die Effizienz des Workflows deutlich erhöht, weil man die Ursache gefunden hat, ohne stundenlange E-Mail-Wechsel zu führen.

Nicht zuletzt ist da das Thema der Nachvollziehbarkeit. Jede Impersonation ist ein audit-relevanter Vorgang. Nextcloud protokolliert normalerweise Logins und Logouts, Datei-Aktionen und Änderungen an Einstellungen. Das Impersonate-Plugin erweitert diese Logdaten um wichtige Einträge – zumindest in der Theorie, denn nicht jede Version ist gleich gründlich. Man sollte sicherstellen, dass die Logs an einem sicheren Ort gespeichert werden, der nicht von kompromittierten Benutzerkonten erreicht werden kann. Ein Angreifer, der sich über ein Admin-Konto Zugang verschafft und dann die Impersonation für seine Zwecke nutzt, hinterlässt zwar Spuren, aber nur dann, wenn die Logs vorher richtig konfiguriert wurden. Das ist eine jener administrativen Aufgaben, die gerne aufgeschoben werden, bis sie im Ernstfall schmerzlich fehlen.

Wer sich für das Impersonate-Plugin interessiert, wird sich früher oder später mit den Konfigurationsdateien herumschlagen. In Nextcloud gibt es die bekannte `config.php`, in der globale Einstellungen festgelegt werden. Dort lässt sich die App konfigurieren, etwa um die Liste der Gruppen zu bestimmen, die von der Erweiterung erfasst werden. Auch die genannten Einschränkungen auf bestimmte Benutzergruppen lassen sich über Konfigurationsparameter setzen. Es ist keineswegs so, dass man nach der Installation sofort alle Möglichkeiten hat – im Gegenteil, die Standardeinstellungen sind bewusst restriktiv gehalten, was man dem Plugin hoch anrechnen muss. Man muss also explizit festlegen, welche Benutzer die Funktion nutzen dürfen und auf welche Zielgruppen sie angewendet werden kann. Erst dann steht sie im Administration-Menü zur Verfügung.

Der Restriktionsmechanismus ist allerdings nicht immer intuitiv. Es gibt zwei Hauptparameter: denjenigen, der festlegt, wer die Impersonation ausführen darf, und denjenigen, der die Zielgruppen definiert. Das ist ein Unterschied, der manchmal übersehen wird. Ein Benutzer mit entsprechenden Rechten kann sich nur dann als ein anderer Benutzer ausgeben, wenn die Zielgruppe des anderen Benutzers in seiner eigenen Zielgruppen-Liste enthalten ist. Das klingt verschachtelt, macht aber Sinn: Man kann so eine Art Delegations-Prinzip aufbauen, bei dem etwa ein Teamleiter die Identität seiner Teammitglieder annehmen darf, nicht aber die der Geschäftsleitung.

Ein weiterer Punkt, der in der Praxis gern vernachlässigt wird: die Benachrichtigung. Macht sich ein Administrator als ein Benutzer aus, sollte dieser Benutzer idealerweise darüber informiert werden. Nextcloud bietet standardmäßig die Möglichkeit, solche Aktionen als Logeintrag zu speichern, aber sichtbar ist das für den betroffenen Benutzer nicht. Manche Unternehmen haben deshalb interne Richtlinien, die besagen, dass der verkleidete Zugriff immer angekündigt werden muss oder dass der betroffene Benutzer nachträglich informiert wird. Das ist ein guter Prozess, der das Vertrauen der Belegschaft in die IT-Abteilung bewahrt. Ohne solche Maßnahmen kann schnell das Gefühl von Überwachung und Misstrauen entstehen – und das ist das Letzte, was eine IT-Abteilung braucht, die eigentlich als Dienstleister wahrgenommen werden will.

Dabei zeigt sich ein interessanter Aspekt: die Reaktion der Benutzer. Manche sind erleichtert, wenn ein Problem endlich direkt gelöst wird, andere fühlen sich ertappt und kontrolliert. Das hängt maßgeblich davon ab, wie die IT die Impersonate-Funktion kommuniziert und in die internen Prozesse einbettet. Ein guter Ansatz ist es, den Einsatz der Funktion nicht als Überwachungsinstrument zu präsentieren, sondern als Bestandteil des Support-Angebots. „Wir können Ihnen helfen, indem wir uns temporär in Ihr Konto einwählen“ – klingt nach Service, nicht nach Ausspähung. Ein Sprachproblem, das man nicht unterschätzen sollte.

Abgesehen von der Kommunikation ist es jedoch ratsam, das Impersonate-Plugin nicht als Ersatz für die Benutzerberatung zu sehen. Nicht jedes Problem lässt sich technisch lösen, manchmal ist es auch eine Schulungsfrage. Ein Benutzer, der nicht versteht, wie er eine Freigabe anlegt, wird auch nach einer Impersonation nicht schlauer. Die Funktion ist also kein Instrument zur Wissensvermittlung, sondern zur Fehlerdiagnose. Das sollte man als Administrator im Hinterkopf behalten, um nicht in die Versuchung zu geraten, alles selbst zu machen und dabei die eigentliche Ursache – mangelnde Schulung – zu ignorieren.

Ein weiterer Faktor, der in den letzten Jahren an Bedeutung gewonnen hat: die Cloud-basierte Nextcloud-Installation bei Providern. Wer sich eine Managed-Nextcloud mietet, hat oft keinen Zugriff auf die Konsolenebene und kann keine zusätzlichen Apps installieren. In diesen Fällen ist das Impersonate-Plugin entweder bereits im Paket enthalten oder schlicht nicht verfügbar. Das ist etwas, das man vor dem Vertragsabschluss klären sollte, denn gerade bei einer extern gehosteten Lösung ist die Unterstützung durch den Provider entscheidend. Ein Provider, der die Impersonate-Funktion nicht unterstützt, wird einem im Supportfall nur die Fernwartung anbieten – oder man wird eben vertröstet.

Aber selbst bei einer eigenen Installation gibt es Stolpersteine. Das Zusammenspiel mit anderen Apps ist nicht immer kompatibel. Zwei-Faktor-Authentifizierung zum Beispiel: Diese ist in Nextcloud weit verbreitet und gilt als wichtiger Baustein für die Sicherheit. Wenn nun ein Benutzer eine Zwei-Faktor-Authentifizierung aktiviert hat und ein Administrator sich per Impersonate einklinkt, dann springt womöglich die Zwei-Faktor-Abfrage für den Administrator nicht an – oder sie verhindert den Zugang komplett, was die Funktion makeln lässt. Das hängt auch hier von der Konfiguration und den verwendeten Versionen ab. Man sollte vor dem Einsatz prüfen, ob die Impersonation in einer solchen Umgebung zuverlässig funktioniert.

Nicht zuletzt ist das Thema Performance nicht ganz unerheblich. Jede Impersonation erzeugt eine zusätzliche Last auf dem Server. Das ist insofern zu beachten, als man bei mehreren parallelen Impersonationen – etwa wenn ein Admin gleichzeitig mehrere Nutzer nachstellt, um Probleme im Team zu beheben – den Datenbank-Cache und die Webserver-Prozesse in Mitleidenschaft ziehen kann. Speziell bei großen Installationen mit mehreren hundert oder tausend Benutzern sollte man die Lastspitzen im Auge behalten. Ein Tool, das im Support-Fall helfen soll, darf nicht selbst zur Ursache von Ausfällen werden.

Eine faszinierende Facette der Impersonate-Funktion ist die Möglichkeit, Schulungen und Workshops realistischer zu gestalten. Man kann als Trainer einen eigenen Wokshop-Ordner anlegen, die Kursteilnehmer in eine bestimmte Gruppe einordnen und so leichter in deren Oberflächen navigieren – um zum Beispiel zu sehen, wie ein Neuling die Oberfläche wahrnimmt. Das ist ein Einsatzgebiet, das oft übersehen wird, aber gerade in Onboarding-Phasen wertvoll sein kann. Man merkt sofort, ob sich ein Mitarbeiter nach der Einrichtung seines Kontos zurechtfindet oder ob er sich in den Menüs verliert.

Die Kehrseite der Medaille ist offensichtlich: Wenn jemand die Impersonation missbraucht, um vertrauliche Daten auszuspähen, kann der Schaden groß sein. Die Täter sind meist nicht die externen Hacker, sondern die eigenen Mitarbeiter – das ist eine unangenehme Wahrheit, die vielerorts unter den Teppich gekehrt wird. Nextcloud hat darauf mit einer verbesserten Audit-Fähigkeit reagiert: Einige Pakete bieten erweiterte Prüfungsmöglichkeiten, die jede Impersonation lückenlos dokumentieren, inklusive des verwendeten Zugriffswegs und der IP-Adresse. Für Unternehmen mit strengen Compliance-Anforderungen ist das nebenbei bemerkt ein entscheidender Faktor.

Ein anderes Thema ist die Abwärtskompatibilität. Nextcloud entwickelt sich rasant, und Apps, die in der einen Version exzellent funktionieren, werden in der nächsten Version gerne vernachlässigt. Das Impersonate-Plugin hat in den letzten Jahren einige Umbaumaßnahmen erlebt, und nicht jede Änderung war zum Vorteil. Wer also eine ältere Nextcloud-Instanz betreibt, sollte genau darauf achten, welche Version der Impersonate-App kompatibel ist. Nicht jede Webseite, die im Internet solche Konfigurationen beschreibt, ist auf dem aktuellen Stand. Auch hier zeigt sich: Open Source ist kein Selbstläufer, sondern verlangt stetige Pflege.

Wie sieht nun die Zukunft aus? Es gibt Tendenzen, das Impersonate-Konzept tiefer in die Oberfläche von Nextcloud einzubetten, sodass man nicht mehr auf ein separates Plugin angewiesen ist. Einige Funktionen sind in den Enterprise-Versionen bereits enthalten, andere sollen folgen. Man kann nur hoffen, dass die Entwickler die Balance wahren zwischen Einfachheit für den Support und den notwendigen Sicherheitsvorkehrungen. Es wäre schade, wenn eine so mächtige Funktion entweder verwässert oder zu komplex in der Bedienung würde.

Ein Vorschlag am Rande: Wer regelmäßig Support-Fälle bearbeitet, sollte sich angewöhnen, das Impersonate-Plugin nicht einfach nur zu verwenden, sondern auch den kompletten Prozess zu dokumentieren. Wann wurde die Funktion eingesetzt, welcher Administrator war beteiligt, welche Schritte wurden unternommen, und welches Ergebnis wurde erzielt? Das hilft nicht nur bei der Nachverfolgung von Fehlerfällen, sondern ist auch ein probates Mittel gegen unbefugte Nutzung. Eine gute Dokumentation ist der beste Schutz gegen unangenehme Rückfragen von Betriebsrat, Datenschutzbeauftragten oder im schlimmsten Fall der Staatsanwaltschaft.

Wer nun glaubt, mit dem Impersonate-Plugin sei alles gesagt, der irrt. Nextcloud hat in den letzten Jahren eine Reihe von Tools hervorgebracht, die in eine ähnliche Richtung zielen: etwa die „Bulk-Freigabe“, mit der man vielen Benutzern auf einmal Zugriff auf Ordner geben kann, oder das „Delegation“-System, das eine Unterverwaltung ohne volle Admin-Rechte erlaubt. Das Entscheidende ist jedoch, dass diese Werkzeuge nicht isoliert betrachtet werden sollten. Eine durchdachte Administration benutzt sie kombinier: Man soll den Benutzer dort abholen, wo er steht, und ihm helfen, seine Aufgaben effizient zu erfüllen. Die Impersonation ist dabei das Werkzeug für den Blick in die Details, nicht für die große Fläche.

Zurück zur Ausgangsfrage: Was bringt das Impersonate-Plugin wirklich? Es bringt Zeit, wenn es um die Fehlersuche geht. Es bringt Klarheit, weil man nicht mehr über Symptome rätseln muss. Und es bringt ein gutes Gefühl, wenn man eine heiße Support-Situation souverän lösen kann. Doch es bringt auch Verantwortung, und genau das sollten Administratoren nicht unterschätzen. Es ist ein Werkzeug für Profis, die die Konsequenzen ihres Handelns kennen – und das ist am Ende eine Charakterfrage.

Ein letztes Beispiel, das die Ambivalenz des Werkzeugs verdeutlicht: Da ist der Administrator, der sich als Mitarbeiter der Personalabteilung ausgibt, um zu prüfen, warum eine Bewerbungsmappe nicht freigegeben wurde. Er findet den Fehler, ein geänderter Dateipfad ist schuld, und freut sich über die schnelle Lösung. Hätte er den Personalchef angerufen, wäre das vielleicht nicht so schnell gegangen. Doch dann schaut er, ungewollt und kurz, auf die Gehaltsliste, die in dem Ordner liegt – und plötzlich steht er vor einem Datenschutzproblem, das er nicht mehr zurückdrehen kann. Diese Grauzone ist der Preis für die Effizienz, und man sollte sich ihrer immer bewusst sein.

Die Praxis zeigt, dass das Impersonate-Plugin in der Nextcloud-Administration längst angekommen ist. Die einen nutzen es täglich, die anderen haben es bewusst deaktiviert, weil sie die Risiken scheuen. Beide Parteien haben gute Gründe, aber keines der beiden Extreme ist wirklich zufriedenstellend. Die Lösung liegt irgendwo in der Mitte: klare Regeln, restriktive Berechtigungen, saubere Logs – und ein verantwortungsvoller Umgang mit der Macht, die man hat. Dann ist die Verkleidung kein Trojanisches Pferd, sondern ein schlichtes Werkzeug, das eben manchmal Wunder wirkt.