Isolamento de organização

Se o produto que você constrói no Fóir tem clientes próprios, cada um deles é uma organização dentro do seu projeto. Os dados deles são mantidos separados pelo mesmo mecanismo que separa workspaces e projetos.

Carimbada e fixada pelo banco de dados

Nenhuma chamada do SDK recebe um argumento de organização. A organização vem da credencial, e quando uma linha é gravada um trigger do banco a carimba a partir do claim do próprio chamador. Um segundo trigger impede que um chamador dentro de uma organização mova uma linha para outra.

As leituras são filtradas do mesmo modo. Um chamador vê as linhas compartilhadas em todo o projeto, as da sua própria organização e as das organizações abaixo dela.

Os dados derivados também estão cobertos

As políticas de nível de organização se aplicam a registros, arquivos, usuários, notas, notificações e eventos, e aos dados derivados deles: valores de campo indexados, chaves de lookup, relações, geometria, embeddings e concessões de acesso. Um leitor que não pode ver um registro, mas pode ver seus valores indexados ou seu embedding, não foi barrado, e por isso essas tabelas estão incluídas. A busca roda sob as políticas do próprio chamador, então um resultado nunca volta para um registro que o chamador não poderia ter lido.

Credenciais situadas em uma organização

Uma chave pode ser confinada a uma organização quando é criada, e isso não pode ser alterado depois. Essa chave lê a sua própria organização, as que estão abaixo dela e o nível compartilhado, e grava apenas na sua. Uma chave de projeto pode nomear uma organização por requisição, e uma que não seja uma organização ativa desse projeto é recusada.

O que lê uma credencial sem organização

Uma credencial que não está em nenhuma organização lê as linhas compartilhadas em todo o projeto e nada que pertença a uma organização. Ler todas as organizações de uma vez é uma permissão separada, somente leitura, que uma chave pública não pode ter.

O cache

As respostas em cache são armazenadas por organização além de por projeto, então as respostas de duas organizações nunca compartilham uma entrada para uma chave que esteja confinada a uma delas ou nomeie uma.

Leia os detalhes

O guia de organizações mostra a política gerada e percorre cada forma como uma requisição pode se situar em uma organização.