美文网首页
mongo(十八:安全架构)

mongo(十八:安全架构)

作者: supremecsp | 来源:发表于2021-08-03 15:48 被阅读0次

    MongoBD安全架构:认证鉴权审计加密

    MongoDB 用户认证方式

    MongoDB 集群节点认证

    传输加密

    落盘加密

    字段级加密



    https://docs.mongodb.com/v4.2/core/security-client-side-encryption/
    https://docs.mongodb.com/v4.2/core/security-explicit-client-side-encryption/

    审计
    企业版功能


    MongoDB 鉴权 – 基于角色的权限机制

    • MongoDB 授权基于角色的权限控制,不同的权限的用户对数据库的操作不同
    • 例如 DBA 可以创建用户;应用开发者可以插入数据;报表开发者可以读取数据。


    MongoDB提供了10几种内置的角色
    https://docs.mongodb.com/manual/reference/built-in-roles/
    https://blog.csdn.net/xixingzhe2/article/details/82826173
    自定义角色db.createRole

    对sampledb库里的表可以读,对sampledb库里的sample表可做update操作
    定义角色,要起作用还要绑定在用户上
    具备用户管理权限的用户进行创建
    roles继承权限

    接下来简单实践下MongoDB鉴权

    docker run --name m1 -p 27017:27017 -d mongo --auth
    docker exec -it m1 bash
    mongo
    db.test.insert({count:1})//发现失败没有权限
    use admin;
    db.createUser({
    ... user:"test",
    ... pwd:"123456",
    ... roles:["userAdminAnyDatabase"]
    ... })//创建超级管理员
    mongo -u "test" -p "123456" --authenticationDatabase "admin"
    //authenticationDatabase 验证登录的数据库,不是在默认的test库创建就需要加上
    use admin
    db.auth("test","123456")//为1则为用户校验成功
    db.createUser(
    ... {
    ... user: "db",
    ... pwd: "123",
    ... roles: [ { role: "readWrite", db: "test" } ]
    ... }
    ... )
    db.auth("db","123")//切换用户
    use test
    db.test.insert({count:1})//数据插入成功




    参考:极客时间MongoDB高手课

    相关文章

      网友评论

          本文标题:mongo(十八:安全架构)

          本文链接:https://www.haomeiwen.com/subject/lyxwmltx.html