azure - 在 Azure CosmosDB 中设置 PermissionModes
问题描述
您好,我正在使用 Azure CosmosDB 开发一个简单的应用程序。现在我想使用资源令牌来提供对数据库中文档和集合的特定访问。在权限模式中有 PermissionMode.Read 和 PermisssionMode.All。所以我假设 PermissionMode.All 允许用户读取、写入、删除和发布。如果我的假设是正确的,我特别不希望我的用户删除或发布到某个集合中。我如何实现这一目标?为了更好地理解,我的数据库包含一个名为 users 的容器,其中包含用户信息以及他们的帖子以及每个帖子的点赞数和内容。现在我允许我的所有用户阅读(查看其他用户的帖子)和写作(给予喜欢或增加喜欢的字段),但我想只允许文档的用户发布和删除文档。
解决方案
分配权限的最佳粒度是分区键值,因此授予每个文档权限的唯一方法是您的文档 ID 也是分区键。如果您的分区键是 userId 并且用户配置文件和帖子等都共享相同的分区键,那么这应该适合您。这是一个为用户创建分区键权限的示例。
推荐阅读
- sql - 如何在 postgresql 中创建只读视图,类似于 oracle?
- javascript - Tabulator JS:自动完成选项有问题,在第一次点击时不起作用
- azure-machine-learning-studio - 将数据从 MongoDB atlas 导入 Azure Machinelearning
- machine-learning - PyTorch:动态冻结网络中的层?
- spring - 如何将 swagger 2 与 Spring Security 集成
- tesseract - tesseract 参数以减少图像中的噪声
- html - 一行中的 Span 元素不会包含在 Chrome 浏览器的 Bootstrap 容器中
- c++ - 使用 boost buffer 序列化和使用 UDP 协议发送
- c# - 将来自几个文本框的输入作为数组存储到一个字段
- java - AWS SQS 和 SES 依赖库相互影响