sql >> データベース >  >> NoSQL >> MongoDB

MongoDB:サーバーに起動警告があります''データベースのアクセス制御が有効になっていません''

    Mongodb v3.4

    安全なデータベースを作成するには、次のことを行う必要があります。

    プロセスを開始するユーザーに権限があり、ディレクトリが存在することを確認してください(/data/db この場合)。

    1)アクセス制御なしでMongoDBを起動します。

    mongod --port 27017 --dbpath /data/db
    

    2)インスタンスに接続します。

    mongo --port 27017
    

    3)ユーザー管理者を作成します(管理者認証データベース内)

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    

    4)アクセス制御を使用してMongoDBインスタンスを再起動します。

    mongod --auth --port 27017 --dbpath /data/db
    

    5)接続してユーザー管理者として認証します。

    mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
    

    6)展開に必要な追加のユーザーを作成します(例:テスト認証データベース)

    use test
    db.createUser(
      {
        user: "myTester",
        pwd: "xyz123",
        roles: [ { role: "readWrite", db: "test" },
                 { role: "read", db: "reporting" } ]
      }
    )
    

    7)myTesterとして接続して認証します。

    mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
    

    基本的に、公式ドキュメントの短いバージョンについては、https://docs.mongodb.com/master/tutorial/enable-authentication/

    で説明しました。

    1. mongoose正規表現とテキストを使用してmongodbを検索する

    2. MongoDB本番環境展開のセキュリティチェックリスト

    3. Redis-Shakeを使用してRedis™データを移行する方法

    4. MongoDBコレクションへの変更をリッスンする方法は?