MongoDB的权限验证

本文介绍如何在MongoDB中配置和使用用户认证,包括设置认证、创建和管理用户等关键步骤,并展示了Spring Boot应用如何连接带有认证的MongoDB实例。

开启验证

需要在mongod.conf需要开启认证

  • 在启动的时候需要加入–auth开启认证
# 1在启动的时候需要加入--auth开启认证
mongod -f /etc/mongod.conf --auth
  • 配置文件里配置
security: 
  #开启授权认证
  authorization: enabled

创建用户:

db.createUser({user:"myroot",pwd:"123456",roles:[ { "role" : "root", "db" : "admin" } ]})
# 解释: 给用户名为myroot的用户设定密码为123456,角色是root,本权限只在admin库里面有用。
----------------------------------------------------------------------------
# 删除用户
db.dropUser("myadmin") 
# 查看用户
db.system.users.find()
# 修改密码 
db.changeUserPassword("myroot", "123456")
-----------------------------------------------------------------------------
# 切换到admin 
use admin 
# 验证
db.auth("myroot","123456")
# 创建普通用户
db.createUser({user: "xiaohua", pwd: "123456", roles: [{ role: "readWrite", db: "articledb" }]})
解释:给xiaohua用户设定密码为123456,用户权限为读和写,权限所在的数据库为articledb
注意这里:xioahua必须交进入到articledb下面才能验证。

springboot的验证配置

spring: 
  #数据源配置 
  data: 
    mongodb: 
    # 主机地址 #
    host: 180.76.159.126 
    # 数据库 # 
    database: articledb 
    # 默认端口是27017 # 
    port: 27017 
    #帐号 
    # username: bobo 
    #密码 
    # password: 123456
    #单机有认证的情况下,也使用字符串连接 
    uri: mongodb://bobo:123456@180.76.159.126:27017/articledb

集群情况下需要使用keyfile了

通过OpenSSL进行证书生成

openssl rand -base64 90 -out ./mongo.keyfile 
# 限制文件的读写权限 注意 必须要有读的权限,不然不能进行验证
chmod 400 ./mongo.keyfile 

将文件放置项目中,可以放在conf下,同一个机器中使用一个keyfile就行。

# 放在27017下
cp mongo.keyfile /mongodb/replica_sets/myrs_27017 

在配置文件中加入安全验证

security: 
  #KeyFile鉴权文件 
  keyFile: /mongodb/replica_sets/myrs_27017/mongo.keyfile 
  #开启认证方式运行 
  authorization: enabled

这样集群间的权限就配置好了,然后进入主节点生成用户即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值