sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvilke MongoDB-brugerprivilegier har jeg brug for for at tilføje en bruger til en ny/en anden mongo-database?

Fejlen var, at jeg brugte en userAdminAnyDatabase bruger, der var IKKE i admin database (se denne note). Så der være en database kaldet admin på din server! Som dokumentationen siger for "AnyDatabase"-rettighederne:

Hvis du føjer nogen af ​​disse roller til et brugerprivilegiumsdokument uden for admindatabasen, har privilegiet ingen effekt.

Så du skal:

  • tilføje en userAdminAnyDatabase til admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • slå godkendelse til

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • opret forbindelse ved hjælp af den nye myadmin bruger til enhver database, du ønsker, og tilføje yderligere brugere:

    $ 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. Opret forbindelse til AWS ElastiCache med In-Transit Encryption + Auth fra anden klient end redis-cli+stunnel

  2. MongoDB aggregering med Java-driver

  3. MongoDB $sekund

  4. ved hjælp af en variabel i mongodb update