mongodb:列出可用数据库需要哪些最小角色?

时间:2013-10-17 15:51:28

标签: mongodb

所以,我有一个mongo db的用户,具有以下角色:

% mongo --username userw --password password --authenticationDatabase admin --host host
...
> use admin
switched to db admin
> show users
{
    "_id" : ObjectId("525d880dcd6e5e57f9431e16"),
    "user" : "userw",
    "pwd" : "****************",
    "roles" : [
        "readWriteAnyDatabase",
        "listDatabases"
    ]
}

用户可以成功读写任何数据库,但如果我这样做:

> show dbs
Thu Oct 17 08:46:27.523 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46

我似乎错过了一个让我列出数据库的角色。我需要哪个角色? (clusterAdmin解决了这个问题,但似乎有点矫枉过正。)

1 个答案:

答案 0 :(得分:3)

根据the documentation,必须为用户授予clusterAdmin权限的listDatabases角色