Autenticação IIS e SQL Server Windows em um aplicativo Django

Autenticação IIS e SQL Server Windows em um aplicativo Django

Estou tentando executar um site Django que se conecta a um SQL Server, usando IIS com autenticação do Windows.

O servidor IIS e o servidor SQL estão em máquinas diferentes no mesmo domínio, ou seja,iis_machine.exemplo.comesql_machine.exemplo.com

O que estou tentando alcançar:

  1. Personifique o usuário remoto que acessa o site Django hospedado no IIS, para que suas credenciais do Windows sejam passadas ao SQL Server para autenticação.

O que eu tentei até agora:

  1. Adicionado isso ao meu arquivo web.config para representação

    <system.web> <identity impersonate="true" /> </system.web>

  2. Autenticação do Windows habilitada e configuração do pool de aplicativos (Django_web) para o site Django conforme mostrado abaixo

    Esta é a aparência do meu site de autenticação para Django no IIS

    Esta é a aparência do meu site de pool de aplicativos para Django no IIS

  3. AdicionadoAPPPOOL do IIS\django_webpara SQL ServerSegurança\Logins

Resultado:

  1. Quando acesso o site do Django, o IIS solicita ao usuário suas credenciais do Windows e posso fazer login com sucesso
  2. Se o usuário tentar acessar o SQL Server após efetuar login

    Caso um. IIS e SQL Server estão em máquinas diferentes: a autenticação do SQL Server falha com "Falha no login do usuário 'domain\MACHINENAME$'

    Caso b. IIS, SQL Server estão na mesma máquina, a autenticação do SQL Server foi bem-sucedida, mas as credenciais de autenticação usadas sãoAPPPOOL do IIS\django_webnãodomínio\usuário_remoto

Entendo que há alguns truques do Kerberos envolvidos nesta configuração. Infelizmente, sou apenas um programador e não estou muito familiarizado com o funcionamento do Kerberos. Se alguém com experiência neste domínio pudesse esclarecer como essa configuração funcionaria, ficaria muito grato. Obrigado!

Estou usando:

  • IIS10
  • Servidor SQL 2014
  • Django2.0.7
  • Pitão 3.6.5
  • Janelas 8/10

Responder1

Você deve configurar a django_webconta para poder delegar ao servidor SQL. Acho que é isso que IIS APPPOOL\django_webvocê realmente precisa configurá-lo na conta da máquina no Active Directory. Como alternativa, você pode criar uma conta de serviço personalizada para ele.

informação relacionada