database - Azure Cosmos DB 中的行级安全性

标签 database azure-cosmosdb database-security

我有一个带有用户表的 Cosmos 数据库系统。现在我正在开发一个客户端应用程序,通过cosmos sdk(iOS)直接连接到cosmos db。
我想添加一个安全层以确保用户无法访问其他用户记录,例如 select * from User c
有办法做到这一点吗?

谢谢!

最佳答案

据我们所知link ,Cosmos db 有两种类型的键:

enter image description here

根据您的需要,您需要放弃主 key ,而是使用资源 token 。它可以提供对特定文档的访问。

所以我的想法是:

当您创建每一行数据时,您需要生成映射该用户的资源 token 并将其存储为附加列。然后,当用户查询数据时,他应该提供他的资源 token (作为安全层)来验证他过滤数据的权限。不是每个人都使用主 key ,它无法控制数据隔离。请引用上面链接中列出的型号:

enter image description here

关于database - Azure Cosmos DB 中的行级安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57265579/

相关文章:

MySQL 到 PostgreSQL 转换和数据同步

scala - Spark 和 Azure-Cosmosdb 的跨版本冲突

c# - 如何在 CosmosSDK v3+ 的 FeedResponse 中提供模拟值?

database - 发送数据库文档 ID(安全)

json - PostgreSQL:防止多重插入上的 SQL 注入(inject)

database - sqlite接口(interface)错误: Error binding parameter 0 - probably unsupported type

mysql - 复杂的 MySQL 查询给出了不正确的结果

MySQL escaped_strings VS。参数化查询

mysql - 针对架构不断变化的大型数据库的策略

java - 现有应用程序从 Cassandra DB 迁移到 Cosmos DB