MongoDBにユーザを追加する


はじめに

MongoDB(Community Edition) をユーザを追加するためのメモ。

MongoDBは、SSPLで公開されているOSSのドキュメント指向データベースです。

環境

$ hostnamectl status
   Static hostname: ---
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ---
           Boot ID: ---
    Virtualization: kvm
  Operating System: Ubuntu 20.04.3 LTS
            Kernel: Linux 5.4.0-99-generic
      Architecture: x86-64

管理者ユーザを作成

MongoDBに接続。

$ mongo 127.0.0.1:27017

管理者ユーザに切り替え。

> use admin

管理者ユーザにパスワードを設定。 下記の ****************部分を任意のパスフレーズに変更して実行。

> db.createUser({
  user:"admin",
  pwd:"****************",
  roles:[role:"root"]
})

パスワードが正しく設定できた場合、下記が出力される。

Successfully added user: { "user" : "admin", "roles" : [ "root" ] }

一旦、接続を終了。

> exit

パスワードを必須にするには、/etc/mongod.conf に下記設定の追加が必要。

$ sudo vim /etc/mongod.conf

security:のセクションのコメントアウトを消して、下記内容に変更。

security:
  authorization: enabled

上記設定を有効化させるためにMongoDBを再起動。

$ sudo systemctl restart mongod

DBを作成

データベースに接続。

$ mongo 127.0.0.1:27017

管理者ユーザに切り替えるための認証を実施。

> use admin
> db.auth("admin", "****************")

作成したいデータベース名を useの引数にして指定。下記の場合は作成されるデータベース名が appとなる。

> use app

データベースを作成後、コレクションを追加

> db.createCollection('users');

データベース一覧を確認。

> show dbs
admin   0.000GB
app     0.000GB
config  0.000GB
local   0.000GB

appデータベースのコレクション一覧を表示。

> show collections
users

参考

MongoDBのユーザ管理

MongoDBコマンド一覧(自分用メモ)

MongoDB ユーザー認証設定は必ずしましょう