sql >> Databasteknik >  >> NoSQL >> MongoDB

Vilka MongoDB-användarprivilegier behöver jag för att lägga till en användare i en ny/annan mongodatabas?

Felet som gjordes var att jag använde en userAdminAnyDatabase användare som INTE var i admin databas (se denna not). Så det MÅSTE vara en databas som heter admin på din server! Som dokumentationen säger för "AnyDatabase"-privilegierna:

Om du lägger till någon av dessa roller till ett användarbehörighetsdokument utanför administratörsdatabasen, kommer privilegiet inte att ha någon effekt.

Så du måste:

  • lägg till en userAdminAnyDatabase till admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • aktivera autentisering

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • anslut med den nya myadmin användare till vilken databas du vill och lägg till ytterligare användare:

    $ mongo another -u myadmin -p 1234
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    

    eller

    > use another
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    


  1. Bulk mongodb infoga i Meteor eller Node

  2. Distribuera ScaleGrid DBaaS för Redis™ i AWS Virtual Private Cloud (VPC)

  3. Driftsättning och underhåll av MongoDB med Ansible

  4. Hur hittar jag sessions-ID:t när jag använder express/connect och en sessionsbutik?