Atribuir identidade do ASP.NET ao grupo do AD para acessar o SQL Server remoto

2

Eu tenho um aplicativo ASP.NET 4.0 (IIS 7.5) em execução em um servidor (Windows Server 2008 R2 Standard), denominado WEBSERV, e um banco de dados SQL Server (2008) em outro servidor, denominado DATASERV. O SQL Server tem uma configuração de login como usuário para meu banco de dados com privilégios de leitura. Eu sou o proprietário do grupo AD associado ao logon do SQL Server, denominado READGROUP e usado para acessar o banco de dados usando a segurança integrada, que eu entendo como autenticação do Windows. A identidade do pool de aplicativos do aplicativo ASP.NET está definida como NetworkService. Autenticação anônima está habilitada. Representação do ASP.NET, Autenticação básica, Autenticação Digest, Autenticação de formulários, Autenticação do Windows, todos desabilitados. Eu posso habilitar isso, se necessário. Para eu dar a um usuário humano acesso de leitura ao banco de dados, eu os adiciono ao READGROUP.

Meu objetivo é adicionar um usuário não humano ao READGROUP para que o aplicativo ASP.NET possa consultar o banco de dados e exibir dados na tabela HTML. Eu tenho o código trabalhando na minha caixa dev, mas está operando com minhas credenciais, que tem acesso aos dados porque eu sou parte do READGROUP. Quando o aplicativo está sendo executado no WEBSERV, sua identidade do Windows é exibida como "NT AUTHORITY \ Network Service".

Eu não quero armazenar minha senha no WEBSERV como esta . Eu tenho que mudá-lo a cada 90 dias e isso é uma grande dor para manter, e as pessoas de TI desencorajam strongmente.

Existe alguma maneira de obter um usuário específico para o WEBSERV + ASP.NET + meu aplicativo adicionado ao meu grupo do AD?

    
por Rex NFX 11.03.2016 / 00:56

1 resposta

1

Você precisará adicionar a conta de computador para WEBSERV como um login do SQL.

Você pode fazer isso a partir do T-SQL:

CREATE LOGIN [WEBSERV$] FROM WINDOWS;

ou da GUI, criando um login como você normalmente, mas inserindo YOURDOMAIN\WEBSERV$ na caixa de diálogo de pesquisa ao pesquisar a conta do AD.

Depois disso, você pode mapear o usuário para o banco de dados como faria normalmente.

Pode ser desejável criar um usuário do AD para usar como a conta de serviço para a identidade do pool de aplicativos, fornecer uma senha extremamente longa e definir o sinalizador 'A senha nunca expira' na conta. Isso é mais seguro do que conceder acesso à conta do computador, mas isso depende da flexibilidade do seu departamento de TI na política de senhas para contas de serviço.

Usar sua própria conta do AD como conta de serviço é uma má ideia em qualquer caso.

    
por 11.03.2016 / 01:11