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

mongodbで安全なデータベースを作成する

    MongoJavaチュートリアルから

    MongoDBは、データベースへのアクセスが名前とパスワードの認証によって制御されるセキュアモードで実行できます。このモードで実行する場合、クライアントアプリケーションは、操作を実行する前に名前とパスワードを提供する必要があります。 Javaドライバーでは、接続されたmongoオブジェクトを使用して次の操作を行うだけです:

    boolean auth = db.authenticate(myUserName, myPassword);
    

    名前とパスワードがデータベースに対して有効である場合、authはtrueになります。そうでなければ、それは偽になります。可能な場合は、MongoDBログで詳細を確認する必要があります。

    ほとんどのユーザーは、信頼できる環境で認証なしでMongoDBを実行します。

    認証とセキュリティの構成

    認証は、各データベースのsystem.usersコレクションに保存されます。たとえば、データベースprojectxでは、projectx.system.usersにユーザー情報が含まれます。

    最初に、dbサーバープロセス全体の管理者ユーザーを構成する必要があります。このユーザーは、特別な管理者データベースに保存されています。

    admin.system.usersでユーザーが構成されていない場合、認証せずにローカルホストインターフェイスからデータベースにアクセスできます。したがって、データベースを実行しているサーバー(したがってローカルホスト上)から、データベースシェルを実行し、管理ユーザーを構成します。

    $ ./mongo
    > use admin
    > db.addUser("theadmin", "anadminpassword")
    

    これで、データベース管理者用に作成されたユーザーができました。 admin.system.usersにユーザーがいるため、以前に認証したことがない場合は、さらに操作を実行する必要があることに注意してください。

    > db.auth("theadmin", "anadminpassword")
    

    次のコマンドを使用して、データベースの既存のユーザーを表示できます。

    > db.system.users.find()
    

    次に、別のデータベースの「通常の」ユーザーを構成しましょう。

    > use projectx
    > db.addUser("joe", "passwordForJoe")
    

    最後に、読み取り専用ユーザーを追加しましょう。 (1.3.2+でのみサポートされます)

    > use projectx
    > db.addUser("guest", "passwordForGuest", true)
    


    1. ImportError:parseという名前のモジュールがありません

    2. 高速書き込みの一時的な行ストレージソリューションのためのMongoDB対Redis対Cassandra

    3. Nodejs Mongooseは、コレクションから2つのモデルをレンダリングします

    4. NodeJSサーバーが同時リクエストでMongoDBの検索クエリをハングアップする