【问题标题】:How to create users and define their permissions in MongoDB? [duplicate]如何在 MongoDB 中创建用户并定义他们的权限? [复制]
【发布时间】:2019-09-29 20:12:41
【问题描述】:

如果您想向 MongoDB 数据库添加身份验证以仅允许允许的用户访问它,并且每个用户都具有特定的权限。如何开始?

【问题讨论】:

    标签: javascript mongodb authentication nosql


    【解决方案1】:

    这是创建第一个用户并将其附加到管理员角色的方法。

    在创建用户时,将第三个参数添加为角色名称数组。在 shell 中查看以下内容:

    sudo mongod --auth
    

    在新终端中运行以下命令:

    mongo
    use admin
    db.createUser({user: "myname", pwd: "mypass", roles: ["userAdminAnyDatabase"]})
    

    然后用户可以使用我们刚刚使用以下表达式注册的凭据登录:

    db.auth("myname", "mypass")
    

    或者ypu可以使用以下方法登录:

    mongo -u myname -p mypass --authenticationDatabase admin
    

    如果您想创建一个用户来访问一个特定的数据库,请遵循以下表达式: 进入数据库

    use mydb
    

    创建用户并分配角色

    db.createUser({user: "yourname", pwd: "yourpass", roles: ["readWrite"]})
    

    现在从第一个管理员用户注销

    db.logout()
    

    使用新用户登录

    mongo -u yourname -p yourpass --authenticationDatabase mydb
    

    进入mydb数据库

    use mydb
    

    然后就可以对mydb数据库进行读写操作了

    db.mycollection.insertOne({name: "Vinit Khandelwal"})
    

    这是一个奖励:更新用户角色和数据库访问权限

    1. 注销并使用 admin 数据库的管理员登录
    2. 进入 mydb 数据库

    然后运行以下命令:

    db.updateUser("mydb", {roles: ["readWrite", {role: "readWrite", db: "yourdb"}]})
    

    这使用户拥有readWrite 访问mydb 以及yourdb 数据库的权限

    【讨论】:

    • MongoDB 允许创建第一个用户而无需来自本地主机的身份验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2018-04-29
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    相关资源
    最近更新 更多