centos

centos mongodb权限管理实践

小樊
41
2025-08-16 15:20:35
栏目: 云计算

CentOS MongoDB权限管理实践

  1. 启用认证
    编辑配置文件 /etc/mongod.conf,添加 security.authorization: enabled,重启服务生效:

    sudo systemctl restart mongod  
    
  2. 创建管理员用户
    连接MongoDB,切换至admin库,创建具有root权限的管理员:

    use admin  
    db.createUser({  
      user: "admin",  
      pwd: "强密码",  
      roles: ["root"]  
    })  
    
  3. 创建普通用户并分配权限

    • 读写权限(针对特定数据库):
      use mydb  
      db.createUser({  
        user: "myuser",  
        pwd: "密码",  
        roles: [{ role: "readWrite", db: "mydb" }]  
      })  
      
    • 只读权限
      roles: [{ role: "read", db: "mydb" }]  
      
    • 限制集合权限
      roles: [{ role: "read", db: "mydb", collection: "特定集合" }]  
      
  4. 权限验证与管理

    • 查看用户权限:
      use mydb  
      db.getUser("myuser")  
      
    • 修改密码:
      db.changeUserPassword("myuser", "新密码")  
      
    • 删除用户:
      db.dropUser("myuser")  
      
  5. 安全优化实践

    • 最小权限原则:仅分配完成任务所需的最低权限,避免滥用rootdbAdmin角色。
    • 定期审计:通过db.getUsers()定期检查用户权限,清理冗余账户。
    • 访问控制:结合防火墙限制MongoDB端口(默认27017)的访问来源。
    • 加密连接:在配置文件中启用SSL/TLS,确保数据传输安全。

参考来源

0
看了该问题的人还看了