MongoDBセキュリティ設定

本業で忙しかったので、間が大分空いてしまいました。

前回、Warningが出たまま放っておいたので、まずは修正。参考にしたURLのとおりなので、改めて書く必要はないでしょう。

https://qiita.com/SOJO/items/dc5bf9b4375eab14991b

Warningを消すとともに、データベースセキュリティの強化を実施して、sampleユーザを追加。

管理者ユーザで入り直して、次を実行します。

use sample

db.createUser({user:"sample",pwd:"sample",roles:[{role:"readWrite",db:"sample"}]})

Successfully added user: {
	"user" : "sample",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "sample"
		}
	]
}

一旦、コンソールから抜けたあと、普通に入りなおします。

$ mongo

MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("05af0f9a-3414-460f-8559-1deb478a9221") }
MongoDB server version: 4.0.3

まず、そのままで利用可能か確認してみます。

> use sample
switched to db sample
> show collections
Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

期待通り、Warningが出ます。次に認証してから同じことをしてみます。

> db.auth("sample","sample")
1
> show collections
>

authの引数にユーザ、パスワードを設定して、結果が1なら正常に認証されました。まだ、コレクションを作成していないので、分かり難いですが、show collectionsを実行しても先ほどのようなWarningはでなくなりました。