Isolamento delle organizzazioni

Se il prodotto che costruisci su Fóir ha clienti propri, ognuno di essi è una organizzazione dentro il tuo progetto. I loro dati sono tenuti separati dallo stesso meccanismo che separa workspace e progetti.

Marcata e fissata dal database

Nessuna chiamata dell'SDK prende un argomento organizzazione. L'organizzazione viene dalla credenziale, e quando una riga viene scritta un trigger del database la marca a partire dal claim del chiamante. Un secondo trigger impedisce a un chiamante dentro un'organizzazione di spostare una riga in un'altra.

Le letture sono filtrate allo stesso modo. Un chiamante vede le righe condivise nel progetto, quelle della propria organizzazione e quelle delle organizzazioni sotto di essa.

Anche i dati derivati sono coperti

Le policy a livello di organizzazione si applicano a record, file, utenti, note, notifiche ed eventi, e ai dati derivati da essi: valori di campo indicizzati, chiavi di lookup, relazioni, geometria, embedding e concessioni di accesso. Un lettore che non può vedere un record ma può vedere i suoi valori indicizzati o il suo embedding non è stato tenuto fuori, ed è per questo che quelle tabelle sono incluse. La ricerca viene eseguita con le policy del chiamante, quindi non torna mai un risultato per un record che il chiamante non avrebbe potuto leggere.

Credenziali che stanno in un'organizzazione

Una chiave può essere confinata a una organizzazione quando viene creata, e questo non si può cambiare dopo. Una chiave così legge la propria organizzazione, quelle sotto di essa e il livello condiviso, e scrive solo la propria. Una chiave di progetto può indicare un'organizzazione per ogni richiesta, e una che non è un'organizzazione attiva di quel progetto viene rifiutata.

Cosa legge una credenziale senza organizzazione

Una credenziale che non sta in nessuna organizzazione legge le righe condivise nel progetto e nulla di ciò che appartiene a un'organizzazione. Leggere in tutte le organizzazioni insieme è un permesso separato, in sola lettura, che una chiave pubblica non può avere.

La cache

Le risposte in cache sono salvate per organizzazione oltre che per progetto, quindi le risposte di due organizzazioni non condividono mai una voce per una chiave confinata a una di esse o che ne indica una.

Leggi il dettaglio

La guida alle organizzazioni mostra la policy generata e illustra ogni modo in cui una richiesta può stare in un'organizzazione.