Tabellen-Berechtigungen
Pro Tabelle gibt es drei mögliche Berechtigungsstufen: kein Zugriff, Lesen oder Schreiben. Sie lassen sich sowohl direkt an einem Benutzer als auch an einer Gruppe einstellen (derselbe Editor an beiden Stellen).
Ermittlung der tatsächlich geltenden Berechtigung für einen Viewer, in dieser Reihenfolge:
- Eine individuelle Überschreibung direkt am Benutzer – falls vorhanden, gewinnt sie immer.
- Sonst die höchste Berechtigung über alle Gruppen des Benutzers.
- Sonst der Standard: Lesen für jeden angemeldeten Viewer.
Ein Admin übergeht diese ganze Prüfung – er hat immer vollen Schreibzugriff, egal was hier eingestellt ist.
Öffentlicher Lesezugriff
Zusätzlich zur User-/Gruppen-Berechtigung oben lässt sich jede Tabelle einzeln auf öffentlich lesbar stellen – über das Dropdown in der Spalte „Zugriff" in der Tabellenübersicht einer Datenquelle (Einstellungen → Datenquellen → Tabelle auswählen).
Das betrifft ausschließlich die lesenden Datenendpunkte dieser Tabelle: Datensätze abrufen (einzeln oder als Liste), CSV-Export, Tabellenschema, gespeicherte Ansichten, Werte für Auswahllisten und Dateianhänge. Ist eine Tabelle so markiert, sind genau diese Endpunkte ganz ohne Anmeldung erreichbar – praktisch, um IllusionDB z.B. als Backend für einen öffentlichen Blog zu nutzen, dessen Inhalte direkt (ohne Login) ausgeliefert werden sollen.
Ausdrücklich nicht betroffen:
- Schreibzugriffe auf diese Tabelle (Datensatz anlegen/ändern/löschen, Anhänge hochladen) – bleiben wie gewohnt an die User-/Gruppen-Berechtigung oben gebunden.
- Schema-Änderungen (Spalten, Ansichten anlegen, Öffentlich-Zugriff selbst umschalten) – bleiben admin-only.
- Alle anderen, nicht tabellenbezogenen Endpunkte (Benutzerverwaltung, Gruppen, Audit-Log, Datenquellen-Verwaltung usw.).
Der öffentliche Lesezugriff ist rein additiv: er ändert nichts an der oben beschriebenen User-/Gruppen-Berechtigungsauflösung für angemeldete Benutzer, sondern erlaubt zusätzlich unangemeldeten Zugriff auf genau diese Tabelle.
Felder aus anderen Tabellen
Lookup-, Rollup-, Links- und Kind-Datensätze-Felder zeigen Daten aus einer anderen Tabelle. Darf der Aufrufer diese andere Tabelle nicht lesen, ist das Feld für ihn ausgeblendet – in der Oberfläche wie in der API (Spaltenliste, Datensätze, Export). Filtern, Sortieren, Gruppieren und Summen über so ein Feld werden abgelehnt, als gäbe es das Feld nicht. Dasselbe gilt für Formeln, die ein ausgeblendetes Feld benutzen, und für Ketten (z. B. ein Lookup auf einen Lookup, der in eine gesperrte Tabelle greift).
Ein Fremdschlüssel in eine nicht lesbare Tabelle bleibt sichtbar – er gehört zur eigenen Tabelle –, zeigt dann aber nur die rohe ID statt des Anzeigewerts der Zieltabelle; auch ein Filter vergleicht dann mit der ID.
„Lesen dürfen“ heißt: Admin, Leserecht über Benutzer oder Gruppe – oder, ohne Anmeldung, eine öffentlich lesbare Zieltabelle. Für eine öffentliche Tabelle mit einem Lookup in eine nicht öffentliche Tabelle sehen Besucher ohne Anmeldung das Lookup-Feld also nicht.