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