当前位置: 首页 > wzjs >正文

泉州商城网站开发设计网站推广和优化系统

泉州商城网站开发设计,网站推广和优化系统,有个在家做的客服网站,浙江政府网站建设哪家好MongoDB 分账号限制数据访问 在 MongoDB 中,可以通过几种方式实现不同账号只能访问特定数据的需求,类似于你在 PostgreSQL 中实现的功能。 1. 基于角色的访问控制 (RBAC) 创建用户并分配角色 // 创建只能读取特定数据库的用户 use admin db.createUs…

MongoDB 分账号限制数据访问

在 MongoDB 中,可以通过几种方式实现不同账号只能访问特定数据的需求,类似于你在 PostgreSQL 中实现的功能。

1. 基于角色的访问控制 (RBAC)

创建用户并分配角色

// 创建只能读取特定数据库的用户
use admin
db.createUser({user: "restricted_user",pwd: "secure_password",roles: [{ role: "read", db: "your_database" }]
})

创建自定义角色限制集合访问

use admin
db.createRole({role: "org_123_restricted_role",privileges: [{resource: { db: "your_database", collection: "hs_report_task" },actions: ["find"]},{resource: { db: "your_database", collection: "hs_recipel" },actions: ["find"]},{resource: { db: "your_database", collection: "hs_recipel_item" },actions: ["find"]}],roles: []
})// 将角色分配给用户
db.grantRolesToUser("restricted_user", ["org_123_restricted_role"])

2. 使用视图限制数据访问 (MongoDB 3.4+)

// 创建仅包含org_id=123数据的视图
use your_database
db.createView("restricted_hs_report_task", "hs_report_task", [{ $match: { org_id: 123 } }
])// 为用户授予视图访问权限
use admin
db.runCommand({grantRolesToUser: "restricted_user",roles: [{ role: "read", db: "your_database", collection: "restricted_hs_report_task" }]
})

3. 字段级加密 (MongoDB 4.2+ 企业版)

如果需要更高级的安全控制,可以使用客户端字段级加密:

// 创建加密模式
const schema = {"your_database.hs_report_task": {bsonType: "object",encryptMetadata: {keyId: [UUID("...")],algorithm: "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"},properties: {org_id: {encrypt: {bsonType: "int",algorithm: "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"}}}}
};// 创建具有特定访问权限的用户
db.createUser({user: "encrypted_user",pwd: "secure_password",roles: [{ role: "read", db: "your_database" }],authenticationRestrictions: [{clientSource: ["192.168.1.0/24"],serverAddress: ["mongodb1.example.com"]}]
})

4. 完全禁止访问特定集合

use admin
db.revokeRolesFromUser("restricted_user", [{ role: "read", db: "your_database", collection: "hs_disce" }
])

最佳实践

  1. 最小权限原则:只授予必要权限
  2. 使用自定义角色:而非直接分配内置角色
  3. 定期审计:检查用户权限
  4. 结合网络限制:使用authenticationRestrictions限制访问IP
  5. 启用认证:确保mongod启动时开启了认证(--auth参数)

验证设置

// 使用受限用户登录
mongo -u restricted_user -p secure_password --authenticationDatabase your_database// 在Mongo shell中测试
use your_database
db.hs_report_task.find()  // 应该能看到数据
db.hs_disce.find()       // 应该被拒绝

这样设置后,restricted_user用户将只能访问指定的三个集合,并且可以通过视图或查询修饰符进一步限制只能看到org_id=123的数据。

http://www.dtcms.com/wzjs/338206.html

相关文章:

  • 怎么做代购彩票网站吗企业类网站有哪些例子
  • 长沙城市建筑工程有限公司seo产品优化推广
  • 自己做图片的网站链接网络推广外包注意哪些
  • wordpress安装后查看站点失败百度seo优化排名
  • 漳州网站建设公司首选搜索引擎推广文案
  • 河南专业网站建设哪家好怎样优化标题关键词
  • 日本做的中国音乐网站免费建站哪个比较好
  • 做一个网站需要多久网络推广招聘
  • 基于jsp的社团组织网站建设百度竞价排名平台
  • 河南基安建设集团有限公司网站竞价托管咨询微竞价
  • 门户网站设计要点英雄联盟最新赛事
  • 宁波北京网站建设百度总部在哪里
  • 沈阳淘宝网站建设网站设计公司
  • 用腾讯云做淘宝客网站视频下载seo怎么优化效果更好
  • 建设局和住建局区别seo点击排名源码
  • 有哪些好用的网站seo排名影响因素主要有
  • 中国网站建设公司 排名产品推广思路
  • wordpress web.config广州网站营销seo费用
  • 站酷网图片seo技巧与技术
  • 找代理做网站网站域名归属谁做竞价推广这个工作怎么样
  • seo查询站长工具百度指数分析案例
  • wordpress轮播图广告seo引擎优化是做什么的
  • 昆明网站建设排名搜索app下载
  • 上海松江做网站建设免费正规的接单平台
  • 网站目录结构设计应注意的问题上海关键词优化方法
  • 教育培训机构十大排名青岛网络优化厂家
  • wordpress 制作小程序北京云无限优化
  • 管理平台北京搜索引擎关键词优化
  • 乐云seo网站建设公司百度一下首页官网百度
  • 中国做铁塔的公司网站制作网页链接