MongoDB - grantRolesToUser被回滚?

时间:2016-09-26 14:03:34

标签: mongodb roles database

Replicaset - Mongo版本3.2.4,我在某些情况下使用bash脚本来更新mongo权限,例如:

mongo <<EOF
  db["grantRolesToUser"]("someone", ["readWriteAnyDatabase"]);
  print(JSON.stringify(db.getUsers()));
EOF

基本上,将readWriteAnyDatabase角色添加到“某人”。

它有效,打印显示具有新角色的用户。 但是,2-3秒后。它消失了!!

关于可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:0)

该问题与MMS / OpsManager在复制集中的用户自动同步有关。

从OpsManager手册:

If you want Ops Manager to ensure that all deployments in a group have the same database users, use only the Ops Manager interface to manage users.

If you want certain deployments in a group to possess users not set at the group level, you can add them through direct connection to the MongoDB instances.

因此,您既可以在OpsManager中控制用户,也可以从mongo shell本身控制用户,但不能同时控制两者。