...

...

Eu tenho 2 servidores Windows 2008. Um é um servidor web (IIS7). O outro é um servidor de banco de dados (SQL Server 2008). A instância do SQL Server 2008 está configurada para usar autenticação de modo misto. Nenhum deles está associado a um domínio do Active Directory.

Como os aplicativos ASP.NET no servidor web devem fazer login nos bancos de dados no servidor de banco de dados? Testei com a conta SA, mas obviamente preciso mudar isso.

Estou confuso sobre o que usar: conta do SQL Server, contas do Windows configuradas em cada máquina ou "Funções do aplicativo", das quais não tenho um bom entendimento.

A conta só precisa ser capaz de ler e gravar dados e executar procedimentos armazenados. O que devo fazer e como configurá-lo?

...

Em vez de apenas uma resposta rápida, dê-me instruções sobre como configurar isso. Obrigado.

Responder1

O método mais seguro usa a autenticação do Windows. Isso permitirá que você escreva seu aplicativo sem uma senha incluída em nenhuma string de conexão ou arquivo de configuração.

Em cada sistema você criará uma conta de usuário. Esta não deve ser uma conta de administrador, apenas uma conta de usuário normal. Um dos dois sistemas cria o usuário com o mesmo nome e senha.

Agora, em seu sistema IIS, edite as configurações do pool de aplicativos. Altere a identidade para ser executada como a conta de usuário que você acabou de criar. Neste ponto você precisará digitar a senha do usuário.

No servidor SQL, crie uma conta de login associada à conta de uso do Windows que você criou. Você pode usar as permissões normais do SQL Server para conceder/negar as ações exigidas pelo seu aplicativo.

Agora, em seu aplicativo, conecte-se ao servidor SQL usando segurança integrada. O usuário do pool de aplicativos será usado ao fazer a conexão SQL.

Sem senha na sua configuração ou aplicativo e uma conexão de banco de dados segura!

Responder2

O método mais comum a ser usado seria um Login SQL. Crie um Login SQL com uma senha forte. Adicione-o como usuário ao banco de dados que seu aplicativo usará. Crie uma função de banco de dados no banco de dados e torne seu usuário membro dessa função. Conceda à função de banco de dados acesso aos objetos aos quais ela precisa acessar.

Você desejará conceder à função apenas os direitos necessários.

O motivo da função de banco de dados é para que você possa restaurar o banco de dados em outro servidor e poder conceder facilmente os direitos exatos a outro usuário para garantir que tudo esteja funcionando corretamente.

informação relacionada