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

mongodb認証を正しく取得する方法

    mongodbをセットアップするときはいつでも、ロールuserAdminAnyDatabaseを持つ管理者ユーザーを作成する必要があります。mongodが--authで開始されているかどうかに関係なく、このユーザーを作成できます。以下のコマンドでこのユーザーを作成できます。

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

    この後、認証がオンになっていない場合は、-authフラグを指定してmongodを実行するか、mongod.confで認証をオンにして、mongodサーバーを再起動します。

    次に、管理者ユーザーを使用して以下のコマンドでmongoシェルにログインします

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

    データベースに移動し、読み取り/書き込み権限を持つユーザーを作成します。

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

    これで、myTesterユーザーを使用してmyapplicationデータベースの読み取り/書き込みが可能になり、新しいデータベースを作成するたびに、myUserAdminユーザーでmongoシェルを起動し、新しいデータベースの新しいユーザーを作成できます。

    mongodbでは、単一のユーザーを作成して、すべてのデータベースに対するすべてのアクセス許可をユーザーに与えることもできますが、そうすべきではありません。

    さらに調査したい場合は、以下のリンクを確認してください。 https://docs.mongodb.com/v3.2/tutorial/ enable-authentication /

    誤ってmongodbをロックした場合は、mongod.confファイルからの認証をオフにして、データにアクセスできます。




    1. mongodbレプリカセットに奇数の投票ノードが必要なのはなぜですか?

    2. サブドキュメントMongoDBのキーの個別の値(1億レコード)

    3. 埋め込まれたドキュメントのmongodb制限

    4. atlasmongoデータベースに接続する