Berechtigungen in Multi‑Tenant‑SaaS: Organisationen, Teams und Rollen verständlich erklärt
Multi‑Tenant‑SaaS‑Berechtigungen verständlich erklärt mit einfachen Regeln zu Organisation, Teams, Rollen und Besitz sowie Checklisten und Beispielen, die sicher skalieren.

Warum SaaS-Berechtigungen so schnell verwirrend werden
Berechtigungsprobleme fangen meist als kleine Ärgernisse an. Ein Ticket kommt rein: „Ich bin Admin, sehe aber die Rechnungen nicht.“ Ein anderes: „Warum kann mein Kollege Einstellungen bearbeiten?“ Leute klicken herum, raten und teilen manchmal einen einzigen "Owner"-Login, weil das schneller erscheint, als den Zugriff sauber zu regeln.
Dann häufen sich Workarounds. Teams erfinden Rollen wie "Admin 2" oder "Manager (no delete)". Entwickler fügen einmalige Prüfungen hinzu wie "wenn Nutzer in Sales ist, Export erlauben", weil das den heutigen Bug behebt. Einen Monat später kann niemand mehr sagen, welche Regeln Absicht sind und welche Unfälle.
Es wird schlimmer, sobald du mehr Kunden hinzufügst. Eine Regel, die für einen Account ok wirkte ("Admins sehen alle Daten"), bricht, wenn du hunderte Orgs mit unterschiedlichen Erwartungen hast. Ein Kunde will strikte Trennung zwischen Abteilungen. Ein anderer möchte einen gemeinsamen Workspace. Manche brauchen, dass ein Externer nur an einem Projekt arbeiten kann. Wenn dein Modell nicht klar ist, wird jeder neue Kunde zur Ausnahme.
Das Ziel ist simpel: vorhersagbare Zugriffsregeln, die du in einer Minute erklären kannst. Zum Beispiel: „Eure Organisation besitzt die Daten. Teams gruppieren Personen. Rollen definieren Aktionen. Ressourcen gehören zu einer Org und manchmal zu einem Team. Teilen folgt ein paar Standardregeln.“ Wenn du das nicht einfach sagen kannst, wird es schwer zu bauen, zu testen und zu ändern.
Ein lohnendes Versprechen: weniger Rollen, klarerer Besitz, sichere Defaults. Starte mit wenigen Rollen, die echten Aufgaben entsprechen, mache Besitz für jede Ressource offensichtlich und setze die Voreinstellung auf minimalen Zugriff. Erlaube Teilen bewusst, nicht versehentlich.
Klartext-Übersicht: Orgs, Teams, Nutzer und Ressourcen
Wenn deine App mehrere Kunden bedient, ordne zuerst das gedankliche Modell, bevor du Regeln schreibst. Die meiste Verwirrung bei Multi‑Tenant‑SaaS-Berechtigungen kommt von schwankenden Definitionen, bei denen dasselbe Wort in verschiedenen Produktteilen Verschiedenes bedeutet.
Wähle eine Bedeutung für die Tenant-Grenze und bleibe dabei. Viele Produkte nutzen „Organization“ als Tenant: alle Daten leben innerhalb einer Org, und nichts überschreitet diese Grenze, außer du baust explizites Teilen.
Ein einfaches Vokabular, das beim Wachsen klar bleibt:
- Organization (Tenant): das Kundenkonto und die harte Daten-Grenze.
- User (Identity): eine Person mit einem Login.
- Membership: die Verknüpfung, die besagt, dass ein Nutzer zu einer Org gehört, plus seine Rolle(n).
- Team (optional): eine Gruppierung innerhalb einer Org für die tägliche Arbeit.
- Resource: alles, was geschützt werden muss (Projekte, Rechnungen, Tickets, API‑Keys).
"Eine Person, viele Orgs" ist normal. Ein Berater kann zu drei Kunden‑Orgs gehören, jeweils mit anderer Rolle. Darum müssen "User" und "Membership" getrennt sein. Prüfungen beziehen sich meist auf die Membership, nicht auf den User.
Teams helfen, wenn sie reale Gruppierungen wie „Support“ oder „Finance“ widerspiegeln. Sie stören, wenn sie zum zweiten Berechtigungssystem werden. Ein einfacher Test: Kannst du das Team in einem Satz erklären, ohne eine Feature-Regel zu nennen?
Beispiel: Maria meldet sich einmal an und wechselt dann zwischen Org A und Org B. In Org A ist sie im Finance-Team und kann Rechnungen einsehen. In Org B ist sie Viewer und darf nur Projekte lesen. Gleicher Nutzer, unterschiedliche Memberships, konsistente Ressourcentypen, klare Grenzen.
Rollen, Berechtigungen und Bereiche ohne Fachchinesisch
Multi‑Tenant‑SaaS-Berechtigungen bleiben verständlich, wenn du drei Dinge trennst:
- Rollen: ein Label, das Verantwortung beschreibt.
- Berechtigungen: was jemand tun darf.
- Scope (Bereich): wo er es tun darf.
RBAC in klarem Deutsch
RBAC (role-based access control) heißt: Du gibst einem Nutzer eine Rolle, und diese Rolle gewährt Aktionen. Rollennamen sollten Verantwortung beschreiben, nicht Status. „Billing Admin“ ist klar. „Power User" führt meist zu Diskussionen.
Behandle Berechtigungen wie Verben und halte sie im Produkt konsistent:
- View (lesen)
- Create (erstellen)
- Edit (bearbeiten)
- Delete (löschen)
- Manage (einladen, Einstellungen, Export und andere Sonderaktionen)
Füge dann den Scope hinzu, damit dasselbe Verb an verschiedenen Orten gilt. So vermeidest du 20 leicht unterschiedliche Rollen.
Gängige, leicht lesbare Scopes:
- Org‑weit
- Nur Team
- Eigene Objekte
- Zugewiesen
Wenn Besitz eine neue Rolle ersetzt
Wenn du dabei bist, Rollen wie "Project Editor" und "Project Editor (Own)" zu schaffen, ist das meist ein Scope‑Problem, nicht ein Rollen‑Problem.
Beispiel: In einem CRM darf der „Sales Rep“ Deals erstellen und bearbeiten, aber beschränke das auf „eigene Objekte“. Der „Sales Manager“ behält ähnliche Verben mit „team‑only“ oder „org‑wide“ Scope. Du bekommst weniger Rollen, klarere Regeln und weniger Überraschungen, wenn jemand das Team wechselt.
Eine solide Default‑Regel: Rollen gewähren Verben, und Besitz (oder Assignment) begrenzt, wo diese Verben wirken.
Ein einfaches Regelset, das auf Hunderte Orgs skaliert
Wenn dein Modell für einen Kunden funktioniert, aber bei zehn bricht, hast du vermutlich "wer kann sehen" mit "wer kann tun" und "wer besitzt" vermischt. Trenne diese und das System bleibt vorhersehbar.
Ein Regelset, das skaliert:
- Jeder Datensatz (Projekt, Rechnung, Ticket, API‑Key) hat genau eine Home‑Organization.
- Ein Nutzer darf nur Daten sehen für Orgs, bei denen er aktive Mitgliedschaft hat. Ist er kein Mitglied, sollten UI und API so tun, als gäbe es die Org nicht.
- Rollen steuern Aktionen (create, edit, delete, export), aber nur innerhalb der Orgs, die der Nutzer bereits sehen kann.
- Besitz ist ein Tiebreaker. Er kann zusätzliche Rechte innerhalb eines erlaubten Scopes geben (Eigene Entwürfe bearbeiten, eigenen API‑Token verwalten), ohne den Zugriff auf andere Daten zu erweitern.
- Adminzugang ist eine enge, explizite Ausnahme. Definiere, was „Admin“ darf, und halte Admin‑Rollen knapp.
Beispiel: Sam gehört zu Org A und Org B. In Org A ist Sam Member und kann eigene Reports erstellen und bearbeiten, aber keine Abrechnung ändern. In Org B ist Sam Billing Manager und kann Zahlungsmethoden aktualisieren und Rechnungen herunterladen, sieht aber keine privaten Projekte, sofern seine Membership diesen Bereich nicht einschließt.
Das macht Wachstum langweilig im besten Sinne. Eine neue Org hinzuzufügen heißt nur Memberships und Rollen hinzufügen. Die Kernregeln bleiben gleich.
Schritt für Schritt: Entwerfe dein Berechtigungsmodell auf einer Seite
Schreibe eine einzelne Seite, die ein Kollege in zwei Minuten lesen kann. Wenn du Berechtigungen erklären kannst, ohne im Code zu wühlen, bist du gut aufgestellt.
1) Schreib die Eingaben vor die Regeln
Halte die Teile absichtlich klein:
- Wähle vier Nutzertypen, die du erklären kannst: Owner, Admin, Member, Viewer.
- Liste 3–6 Ressourcen, die Leute täglich nutzen (Projekte, Kunden, Reports, Billing).
- Für jede Ressource liste 2–4 Aktionen (view, create, edit, delete, invite, export).
- Entscheide, was ein neuer Mitglied standardmäßig bekommt (meist Viewer oder Member, nicht Admin).
- Entscheide, was „Team" ändert. Beschränke es auf Sichtbarkeit, Assignment und Reporting, nicht auf überraschende Befugnisse.
2) Stell die Regeln in einer einfachen Tabelle dar
Nutze Scope, um Rollenexplosion zu vermeiden. Viele Produkte brauchen nur drei Scopes: own, team, org.
| Role | View | Edit | Invite users | Billing | Scope note |
|---|---|---|---|---|---|
| Owner | Yes | Yes | Yes | Yes | Org‑weit, kann Ownership übertragen |
| Admin | Yes | Yes | Yes | No/Yes | Org‑weit, keine Ownership‑Änderungen |
| Member | Yes | Limited | No | No | Own + Team (wo zugewiesen) |
| Viewer | Yes | No | No | No | Read‑only im zugewiesenen Scope |
Sanity‑Check: Zeig diese Seite einem nicht‑technischen Kollegen und frag: „Kann ein Support‑Member einen Sales‑Report editieren?“ Zögert die Person, ist Scope oder Team‑Definition nicht klar.
Regeln zum Ressourcenbesitz und Teilen, die überschaubar bleiben
Um Berechtigungen verständlich zu halten, entscheide, wer jede Ressource besitzt, und halte die Teiloptionen limitiert.
Standardmodell für Besitz
Mach die meisten Ressourcen org‑owned. Kunden denken meist in Firmenbegriffen: Rechnungen, Projekte, Kontakte, Tickets und Automationen gehören der Organisation, nicht einer einzelnen Person.
Teams sind nützlich, aber betrachte ein Team als Workflow‑Label für Routing und Sichtbarkeits‑Defaults, nicht als geheime Sicherheitslogik. Ein Team‑Tag kann Filter, Dashboards, Benachrichtigungen oder Queues antreiben, während der Zugriff weiterhin durch Rollen und Scope kommt.
User‑owned Ressourcen sollten die Ausnahme sein, reserviert für wirklich persönliche Dinge: Entwürfe, private Notizen, gespeicherte Views, API‑Tokens oder persönliche Einstellungen. Wenn ein Nutzer geht, entscheide, was passiert: löschen, übertragen oder privat behalten.
Eine kleine Menge an Share‑Regeln, die lesbar bleibt:
- Org‑owned by default: speichere Items unter einer organization_id.
- Team‑tagged für Workflows: tagge für ein Team zur Weiterleitung, nicht als harte Zugriffskontrolle.
- User‑owned für persönliche Items: privat, sofern nicht explizit geteilt.
- Sharing‑Levels nur: Private (Owner), Team, Org. Vermeide frühe, per‑Item ACLs.
- Trenne „assigned to" von „can access": Assignment ist Verantwortung, nicht Berechtigung.
Teilen, das einfach bleibt
Wenn jemand sagt „Ich brauche Zugriff“, frag, auf welcher Ebene: privat, Team oder gesamte Org. Passt es nicht in diese drei, ist das oft ein Zeichen für unklare Scopes, nicht für einen neuen Sharing‑Modus.
Beispiel: Ein Support‑Ticket kann org‑owned sein (damit Manager über alle Tickets berichten können), team‑getaggt auf Support (damit es in die richtige Queue fällt) und Jordan zugewiesen sein (Verantwortung). Assignment sollte andere berechtigte Rollen nicht vom Ansichtsrecht ausschließen.
Einladungen, Membership‑Änderungen und Org‑Wechsel
Berechtigungen brechen oft bei „Personen‑Events“: Jemand einladen, zwischen Teams verschieben oder entfernen. Diese Flows entscheiden, ob dein Modell vorhersehbar bleibt.
Einladungen
Behandle eine Einladung als Anfrage, eine Membership zu erstellen, nicht als direkten Zugriff. Die Einladung sollte Org, Team (optional) und die Rolle nennen, die bei Annahme gewährt wird.
Halte die Regeln strikt:
- Nur bestimmte Rollen dürfen einladen (z. B. Owner und Admin). Falls du Team‑Leads unterstützt, beschränke sie auf Einladungen in ihr eigenes Team.
- Einladende dürfen nur Rollen vergeben, die auf oder unter ihrem eigenen Level liegen.
- Abgelaufene Einladungen bewirken nichts.
- Hat die E‑Mail bereits ein Konto, hängt die Annahme sie an die Org. Hat sie keins, erstellt die Annahme das Konto und hängt es dann an.
Temporärer Zugriff passt hier gut: Statt einer „temp user“-Rolle, erlaub eine Rollenzuweisung mit Enddatum. Nach Ablauf fällt der Zugriff automatisch weg und die Audit‑Spur bleibt sauber.
Austreten und bleiben ohne Besitzverlust
Wenn jemand eine Org verlässt, rate nicht, was mit seinen Ressourcen passieren soll. Wenn deine Regel „Ressourcen gehören der Org“ lautet, bleib dabei. Die Person kann weiterhin als Ersteller bestehen bleiben für die Historie, aber die Org bleibt Owner.
Hast du user‑owned Ressourcen, erzeuge vor der Entfernung eine Übertragungsanforderung für alles Sensible (Projekte, Dokumente, API‑Keys).
Sicher zwischen Orgs wechseln
Ein Login kann zu vielen Orgs gehören, aber die App muss immer eine eindeutige „aktuelle Org“ haben. Mach das in der UI deutlich und scope jede Aktion auf diese Org.
Deaktivierung schlägt meist Löschung: Sie entzieht jetzt den Zugriff, erhält aber vergangene Aktionen zur Nachvollziehbarkeit.
Häufige Fehler und Fallen, die du vermeiden solltest
Die meisten Berechtigungsmodelle scheitern, weil sie schneller wachsen als die Regeln. Schütze die Grundlagen (Tenant‑Grenze, Besitz, Scope) und behandle alles andere als Detail.
Rollenexplosion ist die klassische Falle. Ein Randfall taucht auf und du erstellst eine neue Rolle statt einer klareren Berechtigung oder eines Scopes. Nach ein paar Monaten weiß niemand mehr, was „Manager Plus" bedeutet. Wird ein Spezialfall oft gebraucht, mach ihn zur Erstklass‑Berechtigung. Wird er selten gebraucht, nutze einen temporären Grant mit Ablauf.
Permission Drift ist leiser, aber schlimmer. Jemand fügt "nur eine Ausnahme" hinzu und vergisst, das Ein‑Seiten‑Modell zu aktualisieren. Ein Jahr später stimmen das Dokument und das tatsächliche System nicht mehr überein. Aktualisiere zuerst das Modell, dann implementiere.
Teams als falsche Sicherheitsgrenzen sorgen für ständige Verwirrung. Wenn Ressourcen teamübergreifend geteilt werden können, sag es deutlich. Wenn nicht, erzwinge es im Code, nicht im Namen.
Frühwarnzeichen:
- Ein „Super Admin“, der standardmäßig Daten aller Kunden sieht
- Nur UI‑Schutz (versteckte Buttons) statt serverseitiger Prüfungen
- API‑Keys oder Service‑Accounts, die Membership‑Regeln umgehen
- Rollen, die nach Jobtiteln und nicht nach Aktionen definiert sind
- Ausnahmen, die sich nicht in einem Satz erklären lassen
Wenn der Support einem Kunden helfen muss, ist „Gib ihm globalen Admin für eine Minute“ eine Tenant‑Leck‑Einladung. Bevorzuge expliziten, geloggten Zugriff mit engem Scope (eine Org, begrenzte Zeit, konkrete Aktionen).
Schnelle Prüfungen, bevor du Berechtigungen auslieferst
Jede Anfrage sollte zuerst die aktive Organisation auflösen (aus Subdomain, Header, Session oder Route) und alles ablehnen, das nicht passt.
Nach dem Org‑Kontext halte Prüfungen in konsistenter Reihenfolge: Membership zuerst (gehört er zu dieser Org?), dann Rolle (was darf er hier?), dann Besitz oder Teilen (hat er Zugriff auf diesen Datensatz?). Führst du Besitzprüfungen vor Membership durch, kannst du Informationen darüber leaken, was existiert.
Führe eine kleine Menge End‑to‑End‑Tests mit echten Accounts aus, nicht nur Unit‑Tests:
- Brandneues Mitglied versucht zu viewen, zu erstellen und zu exportieren
- Team‑Lead versucht, nur sein Team zu verwalten, nicht die ganze Org
- Org‑Admin ändert Rollen und versucht dann eine sensible Aktion (löschen, export)
- Entfernter Nutzer hat noch einen offenen Tab und probiert Aktionen erneut
- Eingeladener (nicht angenommener) Nutzer folgt altem Invite und versucht Zugriff
Füge Basis‑Audit‑Events für Aktionen hinzu, die Macht verändern oder Daten verschieben: Rollenänderungen, Membership‑Entfernungen, Exporte, Löschungen, Einstellungen. Es muss nicht von Tag eins perfekt sein, aber es muss beantworten können: "Wer hat was wann gemacht?"
Überprüfe Defaults. Neue Orgs und neue Mitglieder sollten mit dem geringsten nötigen Zugriff starten. Eine kurze interne Berechtigungs‑FAQ für Support und Sales hilft ebenfalls, mit Beispielen wie „Kann ein Team‑Lead andere Teams sehen?“ und „Was passiert mit Zugriff nach Entfernung?"
Beispiel: von einer Org zu Hunderten ohne Neuentwurf
Starte mit einem kleinen, echten Setup: einem Kundenunternehmen (eine Org) mit zwei Teams, Sales und Ops. Alle melden sich einmal an und wählen dann die Org, zu der sie gehören. Sales braucht Kundendaten und Angebote. Ops braucht Billing und interne Einstellungen.
Stage 1: eine Org, zwei Teams
Behandle Teams als Gruppierung und Workflow, nicht als Hauptberechtigungsumschaltung. Sie können Defaults und Routing beeinflussen, sollten aber nicht das einzige Tor sein.
Stage 2: stabile Rollen, vorhersehbare Scopes
Wähle eine kleine Rollemenge und halte sie stabil, während Features kommen: Admin, Member, Viewer. Die Rolle beantwortet „Was kannst du in dieser Org?“. Der Scope beantwortet „Wo kannst du es tun?".
Stage 3: Besitz macht Bearbeitungsentscheidungen einfach
Füge eine Besitzregel hinzu: Jede Ressource hat eine Org und einen Owner (oft den Ersteller). Bearbeiten ist erlaubt, wenn du Admin bist oder wenn du Owner bist und deine Rolle „edit own" einschließt. Lesen ist erlaubt, wenn deine Rolle „view" für diesen Ressourcentyp einschließt.
Beispiel: Ein Sales‑Member erstellt ein Angebot. Ein anderer Sales‑Member kann es ansehen, darf es aber nicht editieren, es sei denn, es wurde mit dem Team geteilt oder neu zugewiesen. Ein Ops‑Viewer sieht es nur, wenn die Regeln erlauben, dass Ops Sales‑Ressourcen einsehen darf.
Stage 4: 200 Orgs, gleiche Regeln
Wenn du 200 Kunden‑Orgs onboardest, verwendest du dieselben Rollen und Besitzregeln. Du änderst Memberships, nicht das Modell.
Support‑Anfragen wie „Können Sie Zugriff auf X gewähren?“ werden eine Checkliste: Org und Ressource bestätigen, Rolle des Nutzers in dieser Org prüfen, Besitz und Teilen prüfen, dann Rolle ändern oder Ressource teilen. Vermeide Ein‑Klick‑Ausnahmen und hinterlasse eine Audit‑Notiz.
Nächste Schritte: implementieren, testen und sicher iterieren
Behandle dein Ein‑Seiten‑Modell als Vertrag. Implementiere nur Regeln, die du in jedem API‑Call und auf jedem UI‑Screen durchsetzen kannst, sonst driftet Berechtigung in ein „kommt drauf an".
Starte klein: ein paar Rollen, klare Scopes und einfacher Besitz. Kommt eine neue Anfrage („Können wir eine Editor‑Manager‑Rolle hinzufügen?“), versuche zuerst Besitz oder Scope zu verschärfen. Neue Rollen sollten selten sein.
Für jede neue Ressource, die du hinzufügst, mache die Basics konsistent:
- Speichert
org_id(undteam_id, wenn Teams gelten) - Hat eine Sichtbarkeitsregel (private, team, org)
- Protokolliert Audit‑Ereignisse für sensible Aktionen (Einladungen, Rollenänderungen, Exporte)
- Wird in jeder Abfrage nach Scope gefiltert (nicht nur in der UI)
- Hat vorhersehbare Defaults (wer sieht es direkt nach Erstellung)
Teste reale Flows, bevor du Edge‑Cases polierst: Einladungen, Org‑Wechsel, Admin‑Seiten und was passiert, wenn jemand mitten in der Sitzung den Zugang verliert.
Wenn du mit einem chatbasierten App‑Builder arbeitest, hilft es, das Berechtigungsmodell zuerst in einfacher Sprache zu schreiben und es neben die Produktspezifikation zu legen. Auf Koder.ai bieten Planning Mode sowie Snapshots und Rollback einen praktischen Weg, diese Szenarien auszuprobieren und zu bestätigen, dass sich die Regeln auf Web, Backend und Mobile gleich verhalten.
FAQ
Was ist eine Organisation in einer mandantenfähigen SaaS-App?
Eine Organisation ist das Kundenkonto und die klare Grenze für seine Daten. Ordnen Sie jeden geschützten Datensatz einer Organisation zu und prüfen Sie dann die Mitgliedschaft, bevor Sie ihn anzeigen oder ändern.
Warum sollten Benutzer und Mitgliedschaften getrennt sein?
Ein Benutzer ist eine Person mit einem Login. Eine Mitgliedschaft hält die Rolle dieser Person in einer bestimmten Organisation fest, sodass dieselbe Person in verschiedenen Kundenkonten unterschiedliche Zugriffsrechte haben kann.
Wann sollte ich Teams erstellen?
Nutzen Sie Teams für die tägliche Gruppierung, Zuweisung und Berichterstattung innerhalb einer Organisation. Ein Team sollte nicht zu einem zweiten, unerklärten Berechtigungssystem werden.
Was ist der Unterschied zwischen einer Rolle, einer Berechtigung und einem Geltungsbereich?
Rollen beschreiben Verantwortlichkeiten, Berechtigungen beschreiben Aktionen und der Geltungsbereich begrenzt, wo diese Aktionen gelten. Ein Vertriebsmitarbeiter darf zum Beispiel eigene Deals bearbeiten, während ein Manager die Deals des Teams bearbeiten darf.
Mit wie vielen Rollen sollte ein SaaS-Produkt starten?
Beginnen Sie mit einer kleinen Auswahl wie Inhaber, Admin, Mitglied und Betrachter. Fügen Sie Geltungsbereiche wie eigene, Team- oder organisationsweite hinzu, bevor Sie eine weitere Rolle einführen.
Wem sollten Ressourcen in der App gehören?
Ordnen Sie die meisten Geschäftsdaten der Organisation zu, darunter Projekte, Rechnungen, Tickets und Kontakte. Reservieren Sie Benutzerbesitz für wirklich persönliche Elemente wie Entwürfe, gespeicherte Ansichten und API-Tokens.
Wie sollte die Freigabe von Ressourcen funktionieren?
Halten Sie die Freigabestufen einfach: privat, Team und Organisation. Betrachten Sie die Zuweisung als Arbeitsverantwortung, nicht als automatische Berechtigung, jeden zugehörigen Datensatz anzuzeigen oder zu bearbeiten.
Was sollte passieren, wenn ich jemanden einlade?
Erstellen Sie den Zugriff erst, nachdem die eingeladene Person eine Einladung angenommen hat, in der Organisation, Rolle und optionales Team genannt werden. Einladende sollten nur Rollen auf oder unter ihrer eigenen Ebene vergeben dürfen, und ungenutzte Einladungen sollten ablaufen.
Was passiert, wenn jemand eine Organisation verlässt?
Entfernen oder deaktivieren Sie die Mitgliedschaft sofort und bewahren Sie die bisherigen Aktionen der Person in der Audit-Historie auf. Übertragen Sie sensible, benutzereigene Elemente vor der Entfernung, statt zu raten, wer sie erhalten soll.
Welche Prüfungen sollte jede Berechtigungsanfrage durchführen?
Lösen Sie zuerst die aktuelle Organisation auf und prüfen Sie dann Mitgliedschaft, Rolle und schließlich Besitz oder Freigabe. Setzen Sie dieselbe Reihenfolge bei jeder API-Anfrage durch, nicht nur in der Benutzeroberfläche.