====== ユーザー管理 ======
===== ユーザー権限 =====
^ 権限 ^ 説明 ^
|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"
}
]
}
)