MongoDB安全认证

本文详细介绍了MongoDB的安全认证过程,包括创建管理员和普通用户、修改密码、分配角色、启动授权服务以及验证用户权限。还讨论了不同角色的权限,如read、readWrite、dbAdmin等,并展示了在分片集群中实施安全认证的步骤。此外,强调了用户管理和权限控制在防止数据泄露和黑客攻击中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安全认证概述

        MongoDB 默认是没有账号的,可以直接连接,无须身份验证。实际项目中肯定是要权限验证的,否则后果不堪设想。从2016年开始 发生了多起MongoDB黑客赎金事件,大部分MongoDB安全问题 暴露出了安全问题的短板其实是用户,首先用户对于数据库的安全不重视,其次用户在使用过程中可能没有养成定期备份的好习惯,最后是企业可能缺乏有经验和技术的专业人员。所以对MongoDB进行安全认证是必须要做的。

2、用户相关操作

(1)切换到admin数据库对用户的添加

use admin;
db.createUser(userDocument):用于创建 MongoDB 登录用户以及分配权限的方法

db.createUser(
    {
        user: "账号",
        pwd: "密码",
        roles: [
                    { role: "角色", db: "安全认证的数据库" },
                    { role: "角色", db: "安全认证的数据库" }
                ]
    }
)
  • user:创建的用户名称,如 admin、root 、lagou
  • pwd:用户登录的密码
  • roles:为用户分配的角色,不同的角色拥有不同的权限,参数是数组,可以同时设置多个
  • role:角色,MonngoDB 已经约定好的角色,不同的角色对应不同的权限 后面会对role做详细解释
  • db:数据库实例名称,如 MongoDB 4.0.2 默认自带的有 admin、local、config、test 等,即为哪个数据库实例设置用户

举例:

db.createUser(
        {
                user:"root",
                pwd:"123321",
                roles:[{role:"root",db:"admin"}]
        }
)

(2)修改密码

db.changeUserPassword('用户名','新密码');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠然予夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值