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