二、MongoDB安全

(一)在 mongoDB 中创建用户

在创建用户之前,必须先关闭 权限认证(参考第二步)

1、启动 mongodb
./mongod -f mongodb.conf
2、连接
./mongo 127.0.0.1:27017
3、创建用户

db.createUser({
user:"<name>",
pwd:"<password>",
customData:"any information",
roles:[{role:"<role>",db:"<database>"}]})

customData:提示信息
roles:是指这个用户的类型/角色
db:是这个用户是创建在哪个数据库上
role:内建类型(read,readWrite,dbAdmin,dbOwner,userAdmin)

  1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDat

案例:

db.createUser({
user:"root",
pwd:"root",
customData:"超级用户",
roles:[{role:"<role>",db:"<database>"}]})

(二)开启权限认证
修改配置文件,添加:

#开启权限认证
auth = true

重启 mongodb

(三)用户名密码登录

./mongo 127.0.0.1:27017 -u root -p root

(四)自定义用户角色
可以使用 createRole() 创建角色,比如:

db.createRole({
	_id:"myApp.appUser",
	role:"appUser",
	db:"myApp",
	privileges:[
		{resource:{db:"myApp",collection:""},
		 actions:["find","createCollection","dbStats","collStats"]},
		{resource:{db:"myApp",collection:"logs"},
		 actions:["insert"]},
		{resource:{db:"myApp",collection:"data"},
		 actions:["insert","update","remove","compact"]}
	],
	roles:[]
})

猜你喜欢

转载自blog.csdn.net/panchang199266/article/details/84961394
今日推荐