mongodb 安全配置

来源:互联网 发布:在淘宝上开店靠谱吗 编辑:程序博客网 时间:2024/06/07 21:45

mongodb 启用权限认证

本文基于mongodb版本:3.4.7

//---------------------------------------------------------// 启用权限认证 // Enable Auth// https://docs.mongodb.com/manual/tutorial/enable-authentication///---------------------------------------------------------// 操作步骤// 首先在去访问控制模式下,添加管理员用户,然后启动访问控制;// 1、无访问控制下启动mongodbmongod --config D:\Dev\mongodb-3.4.7\mongo.config// 2、连接实例mongo 127.0.0.1:30000// 3、创建管理员用户use admindb.createUser({user:"mongo",pwd:"myPassword",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});// 4、重启mongodb,启用权限认证mongod --auth --config D:\Dev\mongodb-3.4.7\mongo.config// 5、使用管理员连接并认证// 5.1、连接时认证mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin"// 5.2、连接后认证mongo 127.0.0.1:30000use admindb.auth("mongo","myPassword")// 6、根据开发需要创建用户use ehr_analyzedb.createUser({user:"ehr",pwd:"myPassword",roles:[{role:"readWrite",db:"ehr_analyze"}]})// 7、使用新用户登录// 7.1、连接时认证mongo 127.0.0.1:30000 -u "ehr" -p "myPassword" --authenticationDatabase "ehr_analyze"// 7.2、连接后认证mongo 127.0.0.1:30000use ehr_analyzedb.auth("ehr","myPassword")db.mpi.find()//---------------------------------------------------------// 创建mongostat运行角色// https://docs.mongodb.com/manual/tutorial/manage-users-and-roles///---------------------------------------------------------// 1.使用管理员登录admin数据库mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin"// 2.创建mongostat角色use admindb.createRole(    {        role:"mongostatRole",        privileges:[            {resource:{cluster:true},actions:["serverStatus"]}        ],        roles:[]    });// 授予管理员mongo权限db.grantRolesToUser("mongo",[{role:"mongostatRole",db:"admin"}])//---------------------------------------------------------// 为现有用户添加权限//---------------------------------------------------------// 1.使用管理员登录admin数据库mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin"// 2.确认用户角色与权限// 查看用户的角色db.getUser("userName");// 查看具有读写权限的用户db.getRole("readWrite",{showPrivileges:true})// 3.权限授予与撤销// 如果用户需要额外的权限,需要将指定权限的角色授予用户。如果角色不存在时,需要重建包含权限的角色;// 如果需要从某个角色中,撤销部分权限,则需要:首先撤销原有角色,然后将包含特定权限的角色授予用户。如果角色不存在则创建;// 4.修改用户权限// 撤销角色db.revokeRolesFromUser(    "userName",    [        {role:"readWrite",db:"accounts"}    ])// 授予角色db.grantRolesToUser(    "userName",    [        {role:"read", db:"accounts"}    ])//---------------------------------------------------------// 修改用户密码//---------------------------------------------------------// 1.使用管理员登录admin数据库mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin"// 2.修改密码db.changeUserPassword("userName","123456")

mongodb配置文件

mongo.config

dbpath=D:\Dev\mongodb-3.4.7\data\dblogpath=D:\Dev\mongodb-3.4.7\data\log\mongo.logport=30000bind_ip=127.0.0.1
原创粉丝点击