MongoDB权限管理通过**角色(Role)和用户(User)**实现,核心操作如下:
内置角色
read(只读)、readWrite(可编辑)、dbAdmin(管理索引、统计等)、userAdmin(管理用户权限)。clusterAdmin(集群管理)、backup/restore(备份恢复)。root(拥有所有数据库的最高权限)。创建用户并分配权限
readWrite):use myDatabase; db.createUser({ user: "myUser", pwd: "password", roles: [{ role: "readWrite", db: "myDatabase" }] }); admin库创建,角色为root或userAdminAnyDatabase。自定义角色
db.createRole()定义特定权限(如仅允许对某集合的find和insert操作),再分配给用户。权限管理命令
db.getUser("用户名")。db.grantRolesToUser()(添加角色)、db.revokeRolesFromUser()(移除角色)。安全最佳实践
security.authorization: enabled,并重启服务。参考来源: