2022
我们一起努力

MongoDB用户权限设置:添加用户并限制访问

在MongoDB中,用户是通过用户名和密码进行身份验证的。为了更好地管理数据库的安全性,您可以设置不同的用户权限。本文将介绍如何在MongoDB中添加用户并限制其访问权限。

1. 创建管理员用户

首先,我们需要创建一个管理员用户来管理数据库。在MongoDB shell中,使用以下命令创建管理员用户:

```
> use admin
> db.createUser({
user: "admin",
pwd: "password",
roles: ["root"]
})
```

在上面的示例中,我们创建了一个名为“admin”的用户,并将其密码设置为“password”。该用户被授予了“root”角色,这意味着它具有管理整个MongoDB服务器的权限。

2. 添加普通用户

现在,我们将创建一个普通用户并将其限制为只能访问特定的数据库。在MongoDB shell中,使用以下命令添加用户:

```
> use mydb
> db.createUser({
user: "user",
pwd: "password",
roles: ["readWrite"]
})
```

在上面的示例中,我们创建了一个名为“user”的用户,并将其密码设置为“password”。该用户被授予了“readWrite”角色,这意味着它可以读取和写入特定的数据库。

3. 限制用户访问

现在,我们已经创建了一个普通用户,但是它仍然可以访问到整个MongoDB服务器。为了限制其访问权限,我们需要创建一个角色并将其分配给用户。

在MongoDB shell中,使用以下命令创建一个名为“mydbuser”的角色:

```
> use mydb
> db.createRole({
role: "mydbuser",
privileges: [{
resource: {
db: "mydb",
collection: ""
},
actions: ["find", "insert", "update"]
}],
roles: []
})
```

在上面的示例中,我们创建了一个名为“mydbuser”的角色,并将其限制为只能在“mydb”数据库中执行“find”、“insert”和“update”操作。

现在,我们将该角色分配给普通用户:

```
> use mydb
> db.grantRolesToUser("user", ["mydbuser"])
```

现在,“user”用户只能在“mydb”数据库中执行“find”、“insert”和“update”操作,而不能对其他数据库或**进行操作。

赞(0)
文章名称:《MongoDB用户权限设置:添加用户并限制访问》
文章链接:https://www.fzvps.com/253104.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!