我有一个带有用户表的 Cosmos 数据库系统。现在我正在开发一个客户端应用程序,通过cosmos sdk(iOS)直接连接到cosmos db。
我想添加一个安全层以确保用户无法访问其他用户记录,例如 select * from User c
有办法做到这一点吗?
谢谢!
最佳答案
据我们所知link ,Cosmos db 有两种类型的键:
根据您的需要,您需要放弃主 key
,而是使用资源 token
。它可以提供对特定文档的访问。
所以我的想法是:
当您创建每一行数据时,您需要生成映射该用户的资源 token 并将其存储为附加列。然后,当用户查询数据时,他应该提供他的资源 token (作为安全层)来验证他过滤数据的权限。不是每个人都使用主 key ,它无法控制数据隔离。请引用上面链接中列出的型号:
关于database - Azure Cosmos DB 中的行级安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57265579/