Organisations-Isolation
Hat das Produkt, das Sie auf Fóir bauen, eigene Kunden, ist jeder von ihnen eine Organisation in Ihrem Projekt. Ihre Daten werden durch denselben Mechanismus getrennt gehalten, der Workspaces und Projekte trennt.
Von der Datenbank gestempelt und festgelegt
Kein Aufruf im SDK nimmt ein Organisations-Argument. Die Organisation stammt aus den Zugangsdaten, und wenn eine Zeile geschrieben wird, stempelt ein Datenbank-Trigger sie aus dem eigenen Claim des Aufrufers. Ein zweiter Trigger hindert einen Aufrufer innerhalb einer Organisation daran, eine Zeile in eine andere zu verschieben.
Lesezugriffe werden genauso gefiltert. Ein Aufrufer sieht die projektweit geteilten Zeilen, die Zeilen seiner eigenen Organisation und die der darunterliegenden Organisationen.
Auch die abgeleiteten Daten sind abgedeckt
Policies auf Organisationsebene gelten für Datensätze, Dateien, Nutzer, Notizen, Benachrichtigungen und Ereignisse sowie für die daraus abgeleiteten Daten: indexierte Feldwerte, Lookup-Schlüssel, Beziehungen, Geometrie, Embeddings und Zugriffsgewährungen. Ein Leser, der einen Datensatz nicht sehen kann, aber seine indexierten Werte oder sein Embedding, wurde nicht ferngehalten, weshalb diese Tabellen einbezogen sind. Die Suche läuft unter den eigenen Policies des Aufrufers, sodass nie ein Ergebnis für einen Datensatz zurückkommt, den der Aufrufer nicht hätte lesen können.
Zugangsdaten, die in einer Organisation stehen
Ein Schlüssel kann beim Erstellen auf eine Organisation begrenzt werden, und das lässt sich danach nicht ändern. Ein solcher Schlüssel liest seine eigene Organisation, die darunterliegenden und die geteilte Ebene und schreibt nur in seine eigene. Ein Projektschlüssel kann pro Anfrage eine Organisation nennen, und eine, die keine aktive Organisation dieses Projekts ist, wird abgelehnt.
Was Zugangsdaten ohne Organisation lesen
Zugangsdaten, die in keiner Organisation stehen, lesen die projektweit geteilten Zeilen und nichts, was zu einer Organisation gehört. Das Lesen über alle Organisationen gleichzeitig ist eine eigene, rein lesende Berechtigung, die ein öffentlicher Schlüssel nicht halten kann.
Der Cache
Zwischengespeicherte Antworten werden pro Organisation und pro Projekt abgelegt, sodass sich zwei Organisationen für einen Schlüssel, der auf eine begrenzt ist oder eine nennt, nie einen Eintrag teilen.
Details nachlesen
Die Organisationen-Anleitung zeigt die generierte Policy und geht jeden Weg durch, auf dem eine Anfrage in einer Organisation stehen kann.