1. ホーム
  2. authentication

[解決済み] ユーザー名とパスワードでMongoDBを保護する方法

2022-03-25 18:48:51

質問

MongoDBインスタンスにユーザー名とパスワードの認証を設定し、リモートアクセス時にユーザー名とパスワードを要求されるようにしたいのですが、どうすればよいでしょうか? MongoDBのサイトにあるチュートリアルを試してみたところ、以下のようなことができました。

use admin
db.addUser('theadmin', '12345');
db.auth('theadmin','12345');

その後、一旦終了して再度mongoを起動しました。 そして、アクセスするのにパスワードは必要ありません。リモートでデータベースに接続しても、ユーザー名&パスワードの入力を要求されない。


アップデイト 私が最終的に使用した解決策は次のとおりです。

1) At the mongo command line, set the administrator:

    use admin;
    db.addUser('admin','123456');

2) Shutdown the server and exit

    db.shutdownServer();
    exit

3) Restart mongod with --auth

  $ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/

4) Run mongo again in 2 ways:

   i) run mongo first then login:

        $ ./mongodb/bin/mongo localhost:27017
        use admin
        db.auth('admin','123456');

  ii) run & login to mongo in command line.

        $ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456

ユーザー名とパスワードの指定は、以下の場合と同じです。 mongodumpmongoexport .

解決方法は?

を起動する必要があります。 mongod と共に --auth オプションは、ユーザーを設定した後に使用します。

MongoDBサイトより。

データベース(mongodプロセス)の実行は --auth オプションで のセキュリティを確保することができます。事前にadmin dbにユーザーを追加しておく必要があります。 でサーバを起動します。 --auth を追加するか、最初のユーザーを localhostインターフェイスを使用します。

MongoDB認証