阅读量:2
在MongoDB中,访问控制列表(Access Control List,ACL)允许您为数据库用户定义特定角色和权限
- 首先,确保您已登录MongoDB服务器并连接到管理数据库(通常是
admin数据库)。
use admin
- 创建用户并分配角色。以下示例创建一个名为
myUser的用户,该用户具有在mydb数据库上读取、写入和执行查询的权限:
db.createUser(
{
user: "myUser",
pwd: "myUserPassword",
roles: [
{ role: "readWrite", db: "mydb" },
{ role: "dbAdmin", db: "mydb" }
]
}
)
- 为用户创建访问控制列表。以下示例为
myUser创建一个ACL,允许其在特定集合(例如myCollection)上执行特定操作:
db.createACL(
{
user: "myUser",
db: "mydb",
collection: "myCollection",
roles: [
{ role: "readWrite", db: "mydb" },
{ role: "dbAdmin", db: "mydb" }
]
}
)
- 如果您需要为用户分配多个角色,可以使用数组将多个角色分开。例如,以下示例为
myUser分配了readWrite和dbAdmin角色:
roles: [
{ role: "readWrite", db: "mydb" },
{ role: "dbAdmin", db: "mydb" }
]
- 如果您需要为用户分配多个数据库的权限,可以在
roles数组中使用多个对象,每个对象表示一个数据库及其相关角色。例如:
roles: [
{ role: "readWrite", db: "mydb" },
{ role: "dbAdmin", db: "mydb" },
{ role: "readOnly", db: "otherDB" }
]
- 如果您需要为用户分配多个集合的权限,可以在
roles数组中使用多个对象,每个对象表示一个集合及其相关角色。例如:
roles: [
{ role: "readWrite", db: "mydb", collection: "myCollection" },
{ role: "dbAdmin", db: "mydb" },
{ role: "readOnly", db: "otherDB", collection: "anotherCollection" }
]
通过以上步骤,您可以为MongoDB用户设置访问控制列表,以便他们能够执行特定操作。
以上就是关于“MongoDB访问控制列表如何设置权限”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm