我正在尝试为数据库创建一个具有只读访问权限的用户 我尝试了以下
from pymongo import MongoClient
mongo=MongoClient()
mongo.test.command("createUser", "testing", pwd="testing", roles=["read"])
然后我验证
mongo.test.authenticate('testing', 'testing')
但是,如果我尝试插入文档,它实际上会插入:
mongo.test.test.insert_one({'name':'vincent'})
命令mongo.test.command("usersInfo")
返回
{'ok': 1.0,
'users': [{'_id': 'test.testing',
'db': 'test',
'roles': [{'db': 'test', 'role': 'read'}],
'user': 'testing'}]}
这似乎表明用户已正确创建。 我应该怎么做才能创建和验证只读用户会看到他的插入请求被拒绝?
答案 0 :(得分:1)
Restart your mongo instance with access control
mongod --auth --config <config_path>
或在配置文件中启用security.authorization
。
security:
autorization: enabled
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1