Python,Pymongo:为具有只读权限

时间:2018-03-02 00:27:19

标签: python pymongo

我正在尝试为数据库创建一个具有只读访问权限的用户 我尝试了以下

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'}]}

这似乎表明用户已正确创建。 我应该怎么做才能创建和验证只读用户会看到他的插入请求被拒绝?

1 个答案:

答案 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