1 nome de usuário para todos os bancos de dados? [MYSQL]

2

Eu tenho 1 site que tem muitos bancos de dados, aproximadamente 7 a 8.

Devo usar 1 nome de usuário e senha para acessar todos os bancos de dados ou cada banco de dados tem seu próprio nome de usuário e senha?

    
por Mark Henderson 02.02.2010 / 03:25

5 respostas

2

Não há uma resposta certa para isso.

A segurança determina que você deve usar vários nomes de usuário e senhas, mas isso pode aumentar muito a configuração necessária do aplicativo.

A lógica determina que, a menos que haja uma razão específica pela qual alguém que tenha acesso a um banco de dados deva ter acesso negado a outro banco de dados, usar o mesmo nome de usuário / senha deve ser suficiente.

No entanto, se você quiser ter certeza de que um usuário que tenha acesso a um banco de dados NÃO tenha acesso a outro banco de dados, é claro, você deve usar vários nomes de usuários e senhas.

    
por 02.02.2010 / 04:10
2

Eu diria que não, e meu argumento deriva do modelo "ovos em uma cesta".

Com apenas uma conta, se sua conta for comprometida, você perderá 8 bancos de dados, onde, como se você tivesse um usuário por banco de dados, você está apenas fora de um banco de dados.

O outro argumento é que você deve colocar seus ovos em uma cesta, "depois de ter certeza de que você tem uma boa cesta". IMO, combinações de nome de usuário / senha do MySQL não são uma boa cesta.

Agora, se você quisesse vincular o mysql a 127.0.0.1 para que ninguém externo pudesse se conectar, você teria o início de uma política melhor. Claro, eu ainda atribuiria usuários diferentes a cada banco de dados. Defesa em profundidade.

    
por 02.02.2010 / 05:58
1

NÃO, você deve usar uma combinação diferente de nome de usuário e senha para cada banco de dados !!! Eu uso link para gerar minhas senhas de db. Funciona bem! Além disso, você deve dar ao "usuário" as permissões mais restritivas que puder e ainda assim conseguir realizar todas as suas tarefas.

    
por 02.02.2010 / 03:57
1

Primeiro, 7 ou 8 não é o que a maioria de nós consideraria muito. :)

Embora eu concorde com o Farseeker em que não há uma resposta real correta, eu pessoalmente prefiro um usuário separado para cada banco de dados. Apenas acrescenta uma camada sensata de separação.

Como normalmente há uma razão para ter vários bancos de dados, em vez de apenas adicionar mais tabelas a um único banco de dados, você descobrirá que a mesma lógica geralmente se aplica às contas usadas para acessar esses bancos de dados. Claro que existem sempre exceções.

    
por 02.02.2010 / 04:55
0

Eu diria que sim, e garanta que o nome de usuário / senha seja conhecido apenas por este aplicativo e nada mais. Qualquer outra pessoa que precise acessar os outros bancos de dados pode usar credenciais diferentes com permissões diferentes.

Você não disse se eles estavam em servidores separados ou não, mas isso não faz diferença.

Em qualquer caso, ter 7-8 bancos de dados não deve ser realmente um problema, desde que seus sistemas de teste estejam configurados de maneira semelhante, para que seus desenvolvedores possam liberar o código de trabalho.

    
por 02.02.2010 / 08:58