2013年8月23日金曜日

MongoDBの認証設定まとめ


MongoDBのインスタンスに認証機能を有効にするには、"mongod --auth"でインスタンスを起動する

$> mongod --auth

MongoDBはデータベース単位での認証が可能

"admin"データベースに"userAdmin"ロールを持ったユーザがいなければ、localhostから認証なしでアクセスできる

"userAdmin"ロールを持ったユーザの作成方法

1. mongodに接続

$> mongo 

2. "admin"データベースに切り替える

$> db = db.getSiblingDB("admin")

3. ユーザの作成

$> db.addUser( { user: "username", pwd: "password", roles: [ "userAdmin" ] } ) 

4. mongodの再起動 

$> mongod --auth 

・認証する 

$> mongo 

$> use dbname 

$> db.auth("username", "password") 

$> show collections 

・ユーザを確認する 

$> db.system.users.find()