| 権限 | 説明 |
|---|---|
| read | 任意のDBの読取権限 |
| readWrite | 任意のDBの読書権限 |
| dbAdmin | 任意のDBの管理権限 |
| userAdmin | 任意のDBのユーザー管理権限 |
| dbOwner | readWrite,dbAdmin,userAdminの複合権限 |
| clusterAdmin | クラスタの管理権限 |
| clusterManager | クラスタの監視権限 |
| clusterMonitor | MMS監視ツールへの読取権限 |
| hostManager | サーバーの管理・監視権限 |
| backup | データバックアップの権限 |
| restore | データリストアの権限 |
| readAnyDatabase | すべてのDBの読取権限 |
| readWriteAnyDatabase | すべてのDBの読書権限 |
| dbAdminAnyDatabase | すべてのDBの管理権限 |
| userAdminAnyDatabase | すべてのDBのユーザー管理権限 |
| root | readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdminの複合権限 |
はじめに非認証で起動してadminデータベースに管理ユーザーを作る。
$ mongo
$ use admin
$ db.createUser(
{
user: "root",
pwd: "pass",
roles:
[
{
role: "root",
db: "admin"
}
]
}
)
管理ユーザーを作成後、–authオプションを付加して再起動する。
$ ulimit -n 1024 $ mongod --dbpath /path/to/database_directory --auth
管理ユーザーでログインする。
adminデータベースの指定が必用な点に注意。
$ mongo -u root -p pass --authenticationDatabase admin
$ mongo -u root -p pass --authenticationDatabase admin
$ use admin
$ db.createUser(
{
user: "test",
pwd: "test",
roles:
[
{
role: "readWriteAnyDatabase",
db: "admin"
}
]
}
)
$ mongo -u root -p pass --authenticationDatabase admin
$ use admin
$ db.updateUser(
"test",
{
roles :
[
{
role : "readWrite",
db : "admin"
}
]
}
)