2017-07-22 4 views
1

を挿入することができ、読み取りの役割とモンゴでユーザーを作成しは私がrobomongoにログインしたときのみ、 は、私は挿入しても、TEST2データベースに新しいコレクションを作成することができます読み取りアクセス権を持つこのデータベースのモンゴでユーザーを作成しました

どうかしましたか?

use test2 
db.createUser(
    { 
    user: "user", 
    pwd: "123", 
    roles: [ "read"] 
    } 
) 

答えて

2

あなたのmongodでまだ認証を有効にしていないと思います。 ユーザーの権限に基づいてユーザーを制限するには、認証を有効にする必要があります。 documentation(emphasis mine)から:

MongoDBデプロイメントでアクセスコントロールを有効にすると、認証が強制され、ユーザーは自分自身を識別する必要があります。 アクセス制御が有効になっているMongoDBデプロイメントにアクセスすると、ユーザーは自分の役割によって決定されたアクションのみを実行できます。だから、

、あなたはmongod--authフラグを追加して、それを起動し、あなたがRoboMongoまたはシェルまたはどこでも他経由で接続したときに、ユーザーが唯一のtest2のアクセス(および他のシステムを読んだことがあるかどうreadがアクセスを許可するデータベース)。 mongodを実行している間、そのフラグを有効にしたままにしておきたい場合は、--authフラグを指定して実行する前に、そのドキュメントに指定されている管理者ユーザーを作成することをお勧めします。

+0

複数の役割とユーザー、試行錯誤の方法を3日間で作成して読み、テストした後、私の質問に答えて時間を節約していただき、ありがとうございます。 乾杯! –

+0

ヒーロー!レプリカセットのすべてのメンバーで有効にしていなかったことを忘れてしまった –

関連する問題

 関連する問題