MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Какви потребителски привилегии на MongoDB са ми необходими, за да добавя потребител към нова/друга база данни на Mongo?

Допуснатата грешка беше, че използвах userAdminAnyDatabase потребител, който НЕ в админа база данни (вижте тази бележка). Така че има ТРЯБВА да бъде база данни, наречена admin на вашия сървър! Както се казва в документацията за привилегиите "AnyDatabase":

Ако добавите някоя от тези роли към документ за потребителски права извън базата данни на администратора, привилегията няма да има ефект.

Така че трябва:

  • добавете userAdminAnyDatabase до admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • включете удостоверяването

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • свържете се с новия myadmin потребител към всяка база данни, която искате, и добавете още потребители:

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

    или

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Задайте изчакване на Mongo в Spring Boot

  2. Как да спрете изграждането на Runaway Index в MongoDB

  3. Голанг получава празни предмети

  4. Как да свържете отдалечен mongodb с pymongo

  5. MongoDB $type Оператор на заявка