组织隔离
如果你在 Fóir 上构建的产品有自己的客户,他们每一位都是你项目内的一个组织。他们的数据通过与隔离工作区和项目相同的机制保持分离。
由数据库盖章并固定
SDK 中没有任何调用接受组织参数。组织来自凭据,行写入时,数据库触发器会根据调用方自己的 claim 为其盖上组织章。第二个触发器会阻止某个组织内的调用方把一行移到另一个组织。
读取以同样的方式过滤。调用方可以看到项目中共享的行、自己组织的行,以及其下组织的行。
派生数据同样被涵盖
组织级策略适用于记录、文件、用户、备注、通知和事件,也适用于由它们派生的数据:已建立索引的字段值、查找键、关系、几何数据、嵌入向量和访问授权。如果读取者看不到一条记录,却能看到它被索引的值或它的嵌入向量,那就没有被挡在外面,这正是这些表也被包含在内的原因。搜索在调用方自己的策略下运行,因此绝不会返回调用方本无法读取的记录的结果。
处于组织中的凭据
密钥可以在创建时被限定在一个组织内,之后无法更改。这样的密钥读取它自己的组织、其下的组织以及共享层,并且只写入自己的组织。项目密钥可以在每个请求中指明一个组织,指明的组织如果不是该项目的活跃组织,请求会被拒绝。
不处于组织中的凭据读取什么
不处于任何组织的凭据,读取项目中共享的行,不读取任何属于组织的内容。一次读取所有组织是另一项只读权限,公开密钥无法持有。
缓存
缓存的响应按组织以及按项目分别存储,因此对于被限定在某个组织或指明了某个组织的密钥,两个组织的答案绝不会共用同一个条目。