位置: 编程技术 - 正文

MongoDB安全及身份认证(实例讲解)(mongodb认证)

编辑:rootadmin

推荐整理分享MongoDB安全及身份认证(实例讲解)(mongodb认证),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb认证,mongodb认证,mongodb安全问题,mongodb常见问题,mongodb 安全,mongodb安全加固配置,mongodb安全性,mongodb安全性,内容如对您有帮助,希望把文章链接给更多的朋友!

前面的话

本文将详细介绍MongoDB安全相关的内容

概述

MongoDB安全主要包括以下4个方面

1、物理隔离

系统不论设计的多么完善,在实施过程中,总会存在一些漏洞。如果能够把不安全的使用方与MongoDB数据库做物理上的隔离,即通过任何手段都不能连接到数据库,这是最安全的防护。但,通常这是不现实的。一些重要的数据可能会保存下来,放置到物理隔离的机房中

2、网络隔离

许多公司的开发机处于内网环境中。即使数据库存在漏洞,外部环境也没有机会利用,因为根本无法访问内网

3、防火墙隔离

可以利用防火墙配置IP白名单,只允许某些IP访问数据库,也可以从一定程度上增加MongoDB的安全性

4、用户名密码鉴权

相对于以上3种方式,用户名密码鉴权机制是最常见的MongoDB安全措施。如果密码设置的比较简单,或者连接环境不是加密环境,很可能被第三方获取到用户名和密码,从而造成MongoDB数据库的危险

权限认证

mongodb存储所有的用户信息在admin数据库的集合system.users中,保存用户名、密码和数据库信息。mongodb默认不启用权限认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,需要更改配置文件参数authorization,也可以简写为auth。

然后,重启mongod。查看日志文件,发现权限认证已经开启

但是,不使用用户名和密码依然可以连接到数据库。这是因为,我们还没有创建用户。在用户创建,并且开启权限认证之后,如果不使用用户名和密码将不能够连接到数据库

角色管理

在进行用户管理之前,首先要先了解角色管理

MongoDB支持基于角色的访问控制(RBAC)来管理对MongoDB系统的访问。一个用户可以被授权一个或者多个:ref:角色 <roles> 以决定该用户对数据库资源和操作的访问权限。在权限以外,用户是无法访问系统的

数据库角色在创建用户中的role参数中设置。角色分为内建角色和自定义角色

【内建角色】

MongoDB内建角色包括以下几类

1、数据库用户角色

2、数据库管理员角色

3、集群管理角色

4、备份恢复角色

5、所有数据库角色

6、超级用户角色

7、内部角色

MongoDB安全及身份认证(实例讲解)(mongodb认证)

【自定义角色】

除了使用内建的角色之外,MongoDB还支持使用db.createRole()方法来自定义角色

[注意]只能在admin数据库中创建角色,否则会失败

role: 自定义角色的名称

privileges: 权限操作 

roles:继承的角色。如果没有继承的角色,可以设置为空数组 

用户管理

【创建用户】

使用createUser命令来创建用户

user: 用户名 pwd: 密码

customData: 对用户名密码的说明(可选项)

roles: {role:继承自什么角色类型,db:数据库名称}

1、创建管理员用户

MongoDB没有默认管理员账号,所以要先添加管理员账号。切换到admin数据库,添加的账号才是管理员账号

在admin数据库中,添加一个用户并赋予userAdminAnyDatabase角色

2、重新登录数据库,并验证权限

如果auth()方法返回0则代表授权失败,返回1代表授权成功

3、添加普通用户

一旦经过认证的用户管理员,可以使用db.createUser()去创建额外的用户。 可以分配mongodb内置的角色或用户自定义的角色给用户

[注意]需要在admin数据库下进行认证,否则认证不成功

由于该用户只有读权限,所以会写入数据失败

4、创建超级用户

【查看用户】

【删除用户】

【添加用户权限】

给在db1数据库中只读的x用户,添加写权限

【修改密码】

以上这篇MongoDB安全及身份认证(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

基于MongoDB数据库索引构建情况全面分析 前面的话本文将详细介绍MongoDB数据库索引构建情况分析概述创建索引可以加快索引相关的查询,但是会增加磁盘空间的消耗,降低写入性能。这时,就

Mongodb实现的关联表查询功能【population方法】 本文实例讲述了Mongodb实现的关联表查询功能。分享给大家供大家参考,具体如下:PopulationMongoDB是非关联数据库。但是有时候我们还是想引用其它的文

解决MongoDB 排序超过内存限制的问题 对集合执行一个大排序操作(如聚合),出现以下错误:(测试版本:MongoDB3.0.6)db.bigdata.aggregate({$group:{_id:"$range",total:{$sum:1}}},{$sort:{total:-1}});#...aggregat

标签: mongodb认证

本文链接地址:https://www.jiuchutong.com/biancheng/312657.html 转载请保留说明!

上一篇:Ubuntu16.04手动安装MongoDB的详细教程(ubuntu16安装教程)

下一篇:基于MongoDB数据库索引构建情况全面分析(mongodb使用案例)

  • 外经证预缴税款征收率
  • 个体工商户的纳税人类型怎么选
  • 当期所得税是否是当期缴纳的所得税
  • 以前年度损益结转到未分配利润
  • 赞助支出和广告支出的区别
  • 增值税税控系统技术维护费怎么做账
  • 装修费用如何入账
  • 个体工商户税收标准2023年
  • 怎么知道对方的支付宝账号
  • 纳税人性质怎么改
  • 残保金漏报的财务怎么办
  • 小微企业利息收入增值税
  • 银行如何做存款
  • 会计账簿的定义及其作用
  • 电话费开专票可抵扣吗
  • 银行承兑汇票到期后多长时间失效
  • 跨地区经营汇总纳税企业所得税
  • 公司收到残联补助如何开票
  • 生产车间的费用会计分录
  • 鸿蒙智能充电模式怎么用
  • 年底公司抵税
  • 上月材料入库会计分录
  • 模具维修费做什么费用
  • php实现断点续传
  • 会计分录错误用什么方法更正
  • mysql 数据源
  • 企业向股东发放现金股利
  • 施工企业工程结算
  • 调入的无形资产记入哪里
  • 增值税常见账务处理方法
  • 明细分类账余额借贷怎么填
  • 物业公司管理制度及工作要求
  • 微信手机充值怎么自定义金额
  • 给客户开的发票,在邮寄过程中丢了怎么办?
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 腾讯产品面经
  • yii框架入门
  • 注销企业账面大量现金如何处理
  • 会计科目设置怎么操作
  • 哪个网站可以免费学电脑
  • 免征增值税的货物
  • 管理费用借贷方不平
  • 合并会计报表编制实例
  • 多计提的个税能退回给员工吗
  • 一般纳税人在任何情形下都可以领购使用增值税专用发票
  • 如何在Access中设置有效性规则必须大于等于0
  • 年终奖可以不计入社保基数吗
  • 技术服务费可以计入成本吗
  • 已付款发票未到怎么做分录
  • 事业单位劳务派遣工能长期干下去吗
  • 流转税怎么核算
  • 购买汽车轮胎的注意事项
  • 房地产业营改增税收政策与企业应对策略课后测试
  • 原材料采用实际成本法,在会计核算上应设置的账户是
  • 被投资企业注销,确认投资损失需
  • 收到的专票必须当月认证吗
  • 实收资本是什么公司
  • mysql如何导出数据
  • linux服务器查找文件命令
  • 怎么在bios关闭软驱
  • win10系统预览版
  • xp系统怎么关闭更新系统
  • 苹果Mac OS X 10.13系统怎么调整设置窗口透明度?
  • rtlrack.exe - rtlrack是什么进程 有什么用
  • win7系统误删文件可以恢复吗
  • perl use vars pragma使用技巧
  • 触摸按钮失灵怎么回事
  • cmd命令基础
  • jquery遍历li
  • 网管系统怎么用
  • 怎么配置nodejs的环境
  • python连接Oracle数据库
  • 企业如何注册电子税务局账号
  • 总局公告2011年第34号
  • 税控盘抄报反写工作难度
  • 纳税人对税务机关做出的征税行为不服的,必须
  • 小汽车碰撞游戏视频
  • 政府采购合同模板
  • 零申报的企业残保金怎么申报
  • 个人有关事项核查情况的报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设