我创建了一个角色,并仅分配了查找和插入。我不希望用户自己创建新集合。 因此,我撤消了CreateCollection,但是用户仍然可以创建集合。
1. Login to the app database.
2. Created a role with insert and find Privileges only.
3. Created a user and assigned the role to the user.
App database
1. Logged into app database
2. tried to create collection,
3. Collection created.
我们非常感谢您的帮助
答案 0 :(得分:1)
根据documentation,create collection特权适用于createCollection方法。该文档没有说它可以防止隐式集合创建作为插入的一部分。
因此,建议您测试用户是否能够显式执行createCollection
。
另一种可能性是,create collection特权旨在允许创建集合但不能插入,而具有insert特权隐式地授予了集合创建,包括用于显式createCollection
调用。
由于MongoDB会根据需要自动创建集合,因此您要通过拒绝授予允许插入数据的用户的特权来尝试实现什么?