momgodb的认证和授权

1. 概念

    如果需要mongodb对客户端连接进行认证,首先必须建立用户(user),用db.createUser()建立用户。

建立用户的时候,可以为用户分配一个或多个角色(role),角色用于区分用户的权限。

第一个建立的用户必须是一个用户管理员,他具有管理其他所有用户的权限。

用户一定属于某个数据库(称为该用户的认证数据库),不同的数据库中即使用户名相同,也是不同的用户,也就是说数据库和用户名的组合唯一标识了一个用户。

数据库A的用户如果被赋予了数据库B的某个访问权限,那么该用户就可以访问数据库B。

客户端在练级数据库进行认证时,必须指定该用户所在的认证数据库。

mongodb把所有用户的用户名,密码和认证数据库信息都保存在admin数据库的system.users集合中。

2. 内部认证

如果使用了副本集或者分片集群,那么在集群成员的内部互相认证称为内部认证,如果启用内部认证,则同时也启用了客户端认证。

内部认证可以使用Keyfiles或x.509方式。

如果使用Keyfiles方式,那么keyfile不能有group和other权限。

所有组内成员的keyfile内容必须相同。

3. 角色(role)

角色属于数据库。

每个数据库都有内置的多个user和administration角色,除此之外,admin数据库还有其它的内置角色。

数据库的user类角色包括:read和readWrite

数据库的administration类角色包括:dbAdmin, dbOwner和userAdmin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值