web-dev-qa-db-fra.com

MongoDB "root" utilisateur

Existe-t-il un utilisateur super UNIX comme "root" pour MongoDB? J'ai examiné http://docs.mongodb.org/manual/reference/user-privileges/ et j'ai essayé de nombreuses combinaisons, mais elles semblent toutes manquer dans un domaine ou un autre. Il y a sûrement un rôle qui est avant tout ceux énumérés ici.

58
No_name

MongoDb n’est pas authentifié, vous pouvez créer l’équivalent d’un superutilisateur en utilisant les rôles "quelconques" attribués à un utilisateur spécifique dans la base de données admin.

Quelque chose comme ça:

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

] } )

Mise à jour pour 2.6+

Bien qu'il y ait un nouvel utilisateur root dans la version 2.6, vous constaterez peut-être qu'il ne répond pas à vos besoins, car il comporte encore quelques limitations:

Fournit un accès aux opérations et à toutes les ressources des rôles readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase et clusterAdmin.

root n'inclut aucun accès aux collections commençant par le système. préfixe.

Mise à jour pour 3.0+

Utilisation db.createUser comme db.addUser a été éliminé.

Mise à jour pour 3.0.7+

root n'a plus les limitations énoncées ci-dessus.

La racine a l'action de privilège de validation sur le système. collections. Auparavant, root n'incluait aucun accès aux collections commençant par le système. préfixe autre que system.indexes et system.namespaces.

80
WiredPrairie

Le meilleur rôle de superutilisateur serait le racine . La syntaxe est la suivante:

use admin

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

Pour plus de détails, regardez rôles intégrés.

J'espère que cela t'aides !!!

73
JERRY

Gestion des utilisateurs Mongodb:

liste des rôles:

read
readWrite
dbAdmin
userAdmin
clusterAdmin
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase

créer un utilisateur:

db.createUser(user, writeConcern)

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

mettre à jour l'utilisateur:

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

supprimer l'utilisateur:

db.removeUser("user")

ou

db.dropUser("user")

voir les utilisateurs:

db.getUsers();

plus d'informations: https://docs.mongodb.com/manual/reference/security/#read

22
KARTHIKEYAN.A

Il existe un rôle de superutilisateur: racine , qui est un rôle intégré, peut répondre à vos besoins.

6
ahyong