web-dev-qa-db-ja.com

MongoDB「root」ユーザー

MongoDBの「root」ユーザーのようなスーパーUNIXはありますか?私は http://docs.mongodb.org/manual/reference/user-privileges/ を見て、多くの組み合わせを試しましたが、それらはすべて、あるエリアまたは他のエリアに欠けているようです。確かにそこにリストされているものよりも上の役割があります。

58
No_name

初期状態では、MongoDbには認証がありませんが、adminデータベースに対する特定のユーザーに「any」ロールを使用することで、ルート/スーパーユーザーに相当するものを作成できます。

このようなもの:

use admin
db.addUser( { user: "<username>",
          pwd: "<password>",
          roles: [ "userAdminAnyDatabase",
                   "dbAdminAnyDatabase",
                   "readWriteAnyDatabase"

] } )

2.6以降のアップデート

2.6には新しい root ユーザーがいますが、まだいくつかの制限があるため、ニーズに合わない場合があります。

ReadWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdminロールを組み合わせた操作とすべてのリソースへのアクセスを提供します。

ルートには、システムで始まるコレクションへのアクセスは含まれません。プレフィックス。

3.0以降のアップデート

db.createUserが削除されたため、db.addUserを使用します。

3.0.7+の更新

root には、上記の制限がなくなりました。

ルートには、システム上で権限の検証アクションがあります。コレクション。以前は、ルートにはシステムで始まるコレクションへのアクセスは含まれていません。 system.indexesおよびsystem.namespaces以外のプレフィックス。

80
WiredPrairie

最適なスーパーユーザーロールは root です。構文は次のとおりです。

use admin

db.createUser(
{
    user: "root",
    pwd: "password",
    roles: [ "root" ]
})

詳細については、 組み込みの役割 をご覧ください。

お役に立てれば !!!

73
JERRY

Mongodbユーザー管理:

役割リスト:

read
readWrite
dbAdmin
userAdmin
clusterAdmin
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase

ユーザーの作成:

db.createUser(user, writeConcern)

db.createUser({ user: "user",
  pwd: "pass",
  roles: [
    { role: "read", db: "database" } 
  ]
})

ユーザーの更新:

db.updateUser("user",{
  roles: [
    { role: "readWrite", db: "database" } 
  ]
})

drop user:

db.removeUser("user")

または

db.dropUser("user")

ユーザーの表示:

db.getUsers();

詳細:https://docs.mongodb.com/manual/reference/security/#read

22
KARTHIKEYAN.A

スーパーユーザーの役割があります: root (組み込みの役割)は、あなたのニーズを満たすかもしれません。

6
ahyong