集合级访问控制

在本页面

集合级访问控制使 Management 员可以授予用户特定于特定集合的特权。

Management 员可以通过user-defined roles实施集合级别的访问控制。通过使用privileges创建作用于特定数据库中特定集合的角色,Management 员可以为用户提供在集合级别授予特权的角色。

特权和范围

特权由actionsresources组成,允许对其执行操作;即资源定义了该特权的动作范围。

通过在resource document中同时指定数据库和集合以获取特权,Management 员可以将特权操作仅限制为特定数据库中的特定集合。角色中的每个特权操作都可以划分为不同的集合。

例如,用户定义的角色可以包含以下特权:

privileges: [
  { resource: { db: "products", collection: "inventory" }, actions: [ "find", "update", "insert" ] },
  { resource: { db: "products", collection: "orders" },  actions: [ "find" ] }
]

第一个特权将其操作范围限制为products数据库的inventory集合。第二特权将其操作范围限定为products数据库的orders集合。

Additional Information

有关用户定义的角色和 MongoDB 授权模型的更多信息,请参阅基于角色的访问控制。有关创建用户定义角色的教程,请参见Management 用户和角色