集合级访问控制
在本页面
集合级访问控制使 Management 员可以授予用户特定于特定集合的特权。
Management 员可以通过user-defined roles实施集合级别的访问控制。通过使用privileges创建作用于特定数据库中特定集合的角色,Management 员可以为用户提供在集合级别授予特权的角色。
特权和范围
特权由actions和resources组成,允许对其执行操作;即资源定义了该特权的动作范围。
通过在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 用户和角色。