Pergunta

O que é a melhor maneira de centralizar e proteger as conexões cordas usadas por aplicativos? No meu ambiente, temos muitas aplicações internas. Cada aplicação requer um ou mais seqüências de conexão para acessar o banco de dados. Temos um objetivo de centralizar todas essas cadeias de conexão (particularmente logins SQL e senhas) para que pudéssemos alterar senhas em um só lugar, em vez de em 35 ficheiros.config diferentes, entradas de registro etc.

Atualmente estamos usando um componente adulto casa, que puxa as informações seqüência de conexão a partir de um banco de dados de acesso, este cumpre o requisito de centralização, mas não é particularmente seguro. Além disso, temos aplicações escritas em linguagens de asp clássico, VB6, Delphi, C ++, .NET para que a solução teria de ser utilizável por todos esses aplicativos.

Alguém tem uma idéia de como fazer isso melhor, ou precisamos de reformular toda a nossa abordagem à forma como os nossos aplicativos acessar o banco de dados.

Foi útil?

Solução

Você pode usar o servidor Windows para criar os usuários que têm permissão para acessar seu banco de dados SQL Server. Então você pode usar integrada do Windows Identifique-se em seqüências de conexão.

BTW Armazenar senhas em MDB público torna irelevant. Mesmo que eles não existem.

Outras dicas

A empresa que eu trabalho para tem usado uma situação semelhante através de um banco de dados SQL Server em vez. Nós acabamos criando um COM-compliant .net dll para simplificar e garantir a API para o banco de dados e para garantir que a mesma lógica é usada entre asp clássico, .net e pacotes DTS. Tem funcionado bem para nós para o ano e, embora existam alguns itens de refatoração um monte de nós gostaria de fazer com ele, tem sido ótimo para abordar questões como as migrações de servidores ou renomeações.

Eu acho que você está no caminho certo; no entanto, eu recomendaria as seguintes alterações:

  • Tente mover para um servidor de banco de dados verdadeiros. O acesso é ótimo para MS Office, mas não para algo desta escala.
  • Criar um console administrativo que permite a auditoria de quem é adicionar e editar informações (seguro quem tem acesso a quais configurações também).
  • Criar uma DLL COM-compliant para que ele possa ser consumido por outros sistemas de uma forma segura e consistente.

EDIT:

Algo que eu tenho notado depois de anos trabalhando em um sistema como este é que ele amarra as mãos ligeiramente em algumas soluções. Muitas ferramentas lá fora (ou seja nHibernate, Elmah, etc. no mundo Net) realmente são limitados quando a seqüência de conexão não está mais nos arquivos de configuração é. Muitos podem ser facilmente modificados para usar seu API; no entanto, é algo que leva mais tempo para investigar se você quiser usá-lo. Apenas um FYI sobre isso.

Não é possível mover a janela Segurança Integrada nas cadeias de conexão, então você não tem que se preocupar com o aspecto de segurança tanto (a menos que você precisa para garantir a localização real da conexão eu acho).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top