Autenticação entre o IIS e o SQL Server para o aplicativo de carga balanceada

3

Estou procurando usar essa string de conexão, mas não tenho certeza de como configurá-la:

Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;

Anteriormente, nossa string de conexão SQLNCLI10 usava um Uid & Pwd. Agora, movemos servidores e configuramos o Active Directory, procurando alguma ajuda sobre como configurar a segurança entre o IIS & MSSQL.

No IIS 7.5, há uma opção para especificar uma conta de usuário nas configurações básicas de um site ou apenas usar a autenticação de passagem. Eu presumo que se a passagem está definida, ele usa a conta configurada para o pool de aplicativos?

Por padrão, o pool de aplicativos está sendo executado como ApplicationPoolIdentity. Apenas os sites desse pool de aplicativos devem ter acesso a esse banco de dados. Além disso, há vários servidores da Web usando uma configuração compartilhada, cada um se conectando ao mesmo servidor de banco de dados (ou servidores como eles são espelhados usando o Espelhamento de Banco de Dados MSSQL)

Atualmente, quando o script é executado, esta é a mensagem de erro (o MSSQL está em um servidor diferente no mesmo domínio): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

Qual identidade devo criar para o pool de aplicativos e como devo configurar essa conta no MSSQL?

Espero que tudo faça sentido e obrigado novamente!

Tenho a sensação de que esta página é relevante, embora eu não a compreenda realmente: link

    
por Marcus 01.03.2012 / 23:38

2 respostas

0

A solução foi criar um novo usuário de domínio com direitos de acesso limitados. Adicione este novo usuário como um login para MSSQL apenas para o banco de dados específico para apenas as permissões que você precisa (por exemplo, ler e escrever somente).

Em seguida, configure o site do IIS para se conectar com esse novo usuário de domínio. Você poderia pensar que configurar isso como a Identidade do Pool de Aplicativos funcionaria, mas isso não acontece! Para fazê-lo funcionar, você também deve atribuir o computador com direitos de delegação no AD (Confie neste usuário para delegação a qualquer serviço (somente Kerberos)).

Em vez disso, basta abrir as configurações básicas do site e clicar na opção Connect As... e inserir os detalhes de login aqui.

Esse método não exige que você especifique o nome de usuário e / ou a senha na cadeia de conexão, tudo é gerenciado no IIS.

    
por 04.03.2012 / 20:01
2

Crie uma conta para o sql usar, seja uma conta do windows ou do sql, e especifique isso na string de conexão. Por motivos de segurança, você também deve criptografar o web.config depois de fazer isso usando o comando:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -prov "RsaProtectedConfigurationProvider" -pef connectionStrings "[PathToWeb.Config]"  

Essa conta deve ter as permissões necessárias para o banco de dados, como db_DataReader e db_DataWriter.

    
por 01.03.2012 / 23:59