Configurando o MongoDB para autenticação multi-db

1

Eu tenho um MongoDB que tem a configuração de autenticação regular, então você precisa de um nome de usuário e senha para se conectar ao banco de dados ( auth=true nas configurações). O problema que estou correndo é que eu tenho alguns scripts que precisam se conectar a esse banco de dados e, em seguida, criar um novo, copiar alguns dados e depois remover o banco de dados em algum momento. A questão é que o usuário do banco de dados primário não parece ser capaz de criar um novo.

Eu examinei a documentação deles, mas ainda não consegui encontrar nada. Eu compararia o que estou procurando para dar a um usuário do MySQL a capacidade de create database e drop database .

    
por Steven Surowiec 04.08.2013 / 01:32

2 respostas

4

Isso parece precisar de vários diferentes privs.

  • clusterAdmin : dropDatabase , que permite remover qualquer banco de dados.
  • Any Database Roles : readWriteAnyDatabase, que permite ler e gravar em qualquer banco de dados; necessário para operar em bancos de dados criados dinamicamente.

Eu ainda não descobri o que você precisa para criar um banco de dados, mas esse direito pode herdar diretamente de readWriteAnyDatabase.

    
por 04.08.2013 / 02:28
2

Você deve ter um usuário "root" (como no MySQL) e usá-lo para tarefas administrativas / operacionais:

db.addUser({user: "root", pwd: "123456", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ]})) // change PW

Este usuário poderá fazer qualquer coisa:

  • criar / alterar usuários
  • criar / soltar DBS
  • despejar / restaurar

Por favor, note que você também deve adicionar:

setParameter = enableLocalhostAuthBypass=0

para impedir que usuários locais sejam "root" ao se conectar a partir do host local.

Usuários normais (não administradores) devem ter, no máximo, os seguintes privilégios:

"read", "readWrite", "dbAdmin"

Mais informações podem ser encontradas aqui: link

Edit: clusterAdmin é para criar bancos de dados ...

    
por 04.08.2013 / 13:17

Tags