Sapherbox logoSapherboxBlog
Alle Artikel

Ordner mit Gruppen teilen, nicht mit einzelnen Personen

Ordnerzugriff Person für Person zu vergeben, wirkt genau, ist aber weder produktiv noch sicher. Mit Gruppen pflegen Sie eine einzige Mitgliederliste, und die Kryptografie folgt ihr.

Auch verfügbar auf English

Die meisten Zugriffsprobleme auf einer Dokumentenplattform beginnen nicht mit einem Angriff. Sie beginnen mit einer Tabelle, in der steht, wer was sehen darf. Gepflegt hat sie jemand, der vor zwei Jahren gegangen ist.

Eine neue Kollegin fängt in der Steuerabteilung an und braucht die zwölf Mandantenordner, in denen das Team arbeitet. Jemand mit den passenden Rechten nimmt sie in jeden Ordner auf, vergisst den dreizehnten, und eine Woche später fragt sie noch einmal nach. Endet ein Projekt, läuft der Einsatz eines externen Auftragnehmers aus oder wechselt jemand die Abteilung, muss die betreffende Person aus denselben zwölf Ordnern wieder entfernt werden. Niemand hat eine Liste, in welche Ordner diese Person je aufgenommen wurde. Also wird aus dem Gedächtnis aufgeräumt, und das bleibt lückenhaft.

So sieht es auf den meisten gemeinsamen Laufwerken aus. Deshalb können die meisten Organisationen die Frage „Wer hat Zugriff auf diesen Ordner?“ nur mit einer Prüfung beantworten. Mehr Sorgfalt löst das Problem nicht. Es löst sich erst, wenn Sie aufhören, mit Personen zu teilen.

Eine Festlegung statt vieler

Wenn Sie einen Ordner mit einer einzelnen Person teilen, entsteht eine Festlegung: Diese Person darf diesen Ordner öffnen. Bei zwölf Ordnern und acht Personen sind das sechsundneunzig solcher Festlegungen. Jede wird von Hand angelegt und von Hand gepflegt, und jede kann für sich allein in Vergessenheit geraten.

Teilen Sie einen Ordner dagegen mit einer Gruppe, entsteht eine andere Art von Festlegung: Dieser Ordner gehört diesem Team. Wer zum Team gehört, ist eine zweite, davon getrennte Festlegung. Diese acht Personen sind das Steuerteam. Jetzt gibt es zwölf Festlegungen zu Ordnern und eine Mitgliederliste. Kommt eine neunte Person dazu, ändert sich eine Liste. Verlässt jemand das Team, ändert sich ebenfalls nur diese Liste. Die Ordner müssen davon nichts wissen.

Der Produktivitätsgewinn liegt auf der Hand, und er ist handfest. Ein neues Teammitglied aufzunehmen ist ein Schritt statt zwölf. Und dieser Schritt ist zwangsläufig vollständig, denn was das Team öffnen kann, kann auch das neue Mitglied öffnen. Wer das Team verlässt, wird ebenso mit einem Schritt entfernt, und ebenso vollständig. Das wiegt sogar schwerer, denn unvollständig entzogene Zugriffe beim Ausscheiden sind der Fehler, den niemand bemerkt.

Der zweite Gewinn ist weniger offensichtlich. Die Mitgliederliste wird zu etwas, das man sich ansehen kann. „Wer ist im Steuerteam?“ lässt sich auf einer einzigen Seite beantworten. Die Liste pflegt die Gruppenleitung, und die weiß Bescheid. Auf die Frage „Wer hat Zugriff auf den Ordner Nordwind?“ lautet die Antwort dann: „das Steuerteam und diese zwei Personen mit direkter Freigabe“. Auch das ist eine Antwort. Teilt man mit einzelnen Personen, hat die zweite Frage nur insofern eine Antwort, als sie irgendwo in einer Datenbank steht.

Eine Frage der Sicherheit, nicht der Bequemlichkeit

Zugriffskontrolle kann in zwei Richtungen versagen. Entweder fehlt jemandem ein Zugriff, den er braucht, oder jemand hat einen Zugriff, den er nicht haben sollte. Das Erste ist ein Produktivitätsproblem und wird schnell behoben, weil sich die betroffene Person beschwert. Das Zweite ist ein Sicherheitsproblem und wird gar nicht behoben, weil keiner der Betroffenen davon weiß.

Wer mit einzelnen Personen teilt, erzeugt den zweiten Fehler ganz routinemäßig. Jede ausgeschiedene Person, die in einem Ordner vergessen wurde, ist eine dauerhafte Ausnahme, die niemand im Blick hat. Jeder Externe, der „vorerst“ in einen Projektordner aufgenommen wurde, ist immer noch drin. Die Ausnahmen häufen sich, jede für sich klein. In der Summe entsteht ein Geflecht von Berechtigungen, das keiner Entscheidung mehr entspricht, die heute noch jemand so treffen würde.

Mit Gruppen findet das Entfernen an der einen Stelle statt, an der es mit Sicherheit passiert. Verlässt jemand die Organisation, wird das Konto deaktiviert und die Person aus ihren Gruppen entfernt. Beides erledigen Personalabteilung, IT oder Teamleitung ohnehin, weil es naheliegt. Jemanden aus dem Steuerteam zu entfernen ist ein einziger Schritt, und die Gruppenleitung erledigt ihn an dem Tag, an dem es entschieden wird. Die Ordner folgen, und zwar alle, auch die, an die die Gruppenleitung nie gedacht hat.

Dasselbe gilt für alles, was zwischen Eintritt und Austritt passiert. Wechselt jemand von der Steuerabteilung in die Prüfungsabteilung, ist das ein Entfernen und ein Hinzufügen. Endet ein Projekt, wird eine Gruppe gelöscht. Verlängert ein externer Auftragnehmer seinen Einsatz um drei Monate, bleibt er so lange in der Gruppe und wird danach ein einziges Mal entfernt. In keinem dieser Fälle muss sich jemand eine Liste von Ordnern merken.

Der Reiter „Groups“ unter „Users & Groups“: eine Gruppe „Tax team“ mit einem Mitglied in der Rolle „Group admin“ und die Schaltfläche „Create group“

Was die Gruppe in Sapherbox leistet

Auf einer Ende-zu-Ende-verschlüsselten Plattform muss eine Gruppe mehr tun, als eine Liste zu führen. Der Server kann nämlich keine Schlüssel in ihrem Namen verteilen. Wir haben bereits beschrieben, warum das Entfernen einer Person aus einem Ordner bedeutet, die Schlüssel des Ordners zu erneuern. Eine Berechtigung zu löschen reicht nicht. Für Gruppen gilt dieselbe Anforderung, und die Architektur ergibt sich daraus.

Jede Gruppe hat ein eigenes Schlüsselpaar mit klassischem und Post-Quanten-Anteil. Einen Ordner mit der Gruppe zu teilen ist eine einzige Freigabe. Dabei werden die Schlüssel des Ordners für den öffentlichen Schlüssel der Gruppe versiegelt, und die teilende Person signiert die Freigabe. Jedes Mitglied hat den privaten Schlüssel der Gruppe, versiegelt für die eigene Identität. Öffnet ein Mitglied einen Ordner über die Gruppe, entsiegelt sein Browser zweimal hintereinander. Der Server sieht zwei Freigaben, die er nicht lesen kann.

Kommt ein Mitglied hinzu, versiegelt der Browser der Gruppenleitung den privaten Schlüssel der Gruppe für den öffentlichen Schlüssel des neuen Mitglieds. Kein Ordner wird dabei angefasst, denn die Ordner waren nie mit der Person geteilt. Sobald die Versiegelung gespeichert ist, kann das neue Mitglied alles öffnen, was die Gruppe öffnen kann.

Ob die Architektur trägt, zeigt sich beim Entfernen eines Mitglieds. Das Schlüsselpaar der Gruppe wird rotiert. Es entsteht ein neues Paar, das für jedes verbleibende Mitglied versiegelt wird. Jede Freigabe, die für das alte Paar versiegelt war, wird für das neue Paar neu versiegelt. Außerdem bekommt jeder Ordner, der mit der Gruppe geteilt war, in derselben Transaktion neue Schlüssel. Das entfernte Mitglied könnte nämlich die Schlüssel dieser Ordner bei der Arbeit zwischengespeichert haben. Am Ende hat die entfernte Person Schlüssel zu einer Gruppe, die es so nicht mehr gibt, und zu Ordnern, deren Schlösser ausgetauscht sind. All das geschieht im Browser der Gruppenleitung und kommt beim Server als eine einzige atomare Änderung an. Schlägt ein Teil davon fehl, wird nichts übernommen.

Zum Vergleich: Eine Person einzeln aus zwölf Ordnern zu entfernen bedeutet zwölf getrennte Schlüsselwechsel, einen pro Ordner. Das sind zwölf Transaktionen und zwölf Audit-Einträge. Und der eine Ordner, an den niemand gedacht hat, behält seine alten Schlüssel und sein altes Mitglied.

Der Dialog „Add members“ eines Ordners mit dem Reiter „Group“: ausgewählt ist die Gruppe „Tax team“, darunter der Hinweis, dass eine Freigabe alle Mitglieder abdeckt und später Hinzukommende automatisch Zugriff erhalten, dazu die Rolle „Viewer“

Was Gruppen nicht tun

Über eine Gruppe bekommt niemand einen Zugriff, den er sonst nicht bekäme. Wer einen Ordner mit einer Gruppe teilen will, braucht für diesen Ordner dieselbe Rolle wie zum Teilen mit einer Person. Eine Gruppenleitung ist ein Mitglied, das zusätzlich die Mitgliederliste pflegen darf. Sie öffnet, was jedes Mitglied öffnet, und kann keinen Ordner teilen, den sie selbst nicht öffnen kann.

Eine Gruppenmitgliedschaft hebt auch keine direkte Freigabe auf. Hat eine Person einzeln Zugriff auf einen Ordner bekommen und wird sie später aus einer Gruppe entfernt, die ebenfalls Zugriff hat, bleibt die direkte Freigabe bestehen, und das ist richtig so. Die direkte Freigabe war eine eigene Entscheidung und braucht einen eigenen Entzug. Die Mitgliederliste des Ordners zeigt beides an, und dort fällt es auf.

Und Gruppen ersetzen nicht den prüfenden Blick. Auch Mitgliederlisten veralten. Sie tun es langsamer als Ordnerlisten, aber sie tun es. Der Unterschied liegt woanders. Es gibt weniger Listen, jede hat eine verantwortliche Person, und eine Liste mit acht Namen sieht sich eine Gruppenleitung tatsächlich jedes Quartal an. Sechsundneunzig Ordnerfreigaben sieht sich niemand an.

Ein praktischer Einstieg

Sind Ihre Ordner bisher Person für Person geteilt, ist die Umstellung reine Fleißarbeit. Legen Sie für jedes tatsächliche Team und jedes Projekt eine Gruppe an. Teilen Sie jeden Ordner mit der Gruppe, mit der Rolle, die das Team braucht. Entfernen Sie dann die Einzelfreigaben, die jetzt durch die Gruppe abgedeckt sind. Behalten Sie nur die, die bewusste Ausnahmen waren. Die Mitgliederliste jedes Ordners schrumpft auf einen Gruppennamen und eine Handvoll Personen. Diese kurze Liste lohnt es sich zu lesen.

Ab dann gilt eine einfache Regel. Ordner werden mit Gruppen geteilt, Personen werden in Gruppen aufgenommen. Der Name einer Person steht nur dann direkt an einem Ordner, wenn jemand das bewusst so entschieden hat.

Fragen?

Wenn Sie den Umstieg von Einzelfreigaben auf Gruppen planen und die Struktur mit uns durchsprechen möchten oder die technische Beschreibung der Gruppenschlüssel und ihrer Rotation brauchen, schreiben Sie uns an hello@sapherbox.com.