繁体   English   中英

MongoDB-向用户添加数据库和集合级别角色

[英]MongoDB - Adding db and collection level roles to user

我花了几个小时才进入MongoDB。 我无法弄清楚特定的角色/特权集(也需要了解差异)

这是我的问题:

给定数据库db_xyz

用户ABCD可以;

  1. 创建一个或多个集合
  2. 读/写/更新/删除/查找仅对ABCD创建的集合的访问
  3. 可以删除ABCD创建的收藏集
  4. 不能以任何方式访问db_xyz中的其他集合或执行任何其他操作。

我将通过Mongo提示符并使用pymongo来混合这些操作。

MongoDB的允许我们创建“用户定义角色” ,使用db.createRole()欲了解更多有关db.createRole() 看这里

以下代码用于创建一个具有读取/写入/更新/删除/查找选项的名为role_1的角色

use db_xyz
db.createRole(
   {
     role: "role_1",
     privileges: [
       { resource: { db: "db_xyz", collection: "" }, actions: [ "find", "update", "insert", "remove" ] },
     ],
     roles: []
   }
)

创建角色后,请使用db.grantRolesToUser()有关db.grantRolesToUser()更多信息, 请参见此处

下面显示的代码是将新创建的role_1分配给我们的用户ABCD

use db_xyz
db.grantRolesToUser(
    "ABCD",
    [
      { role: "role_1", db: "db_xyz" }
    ]
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM