Autenticación de Windows IIS y SQL Server en una aplicación Django

Autenticación de Windows IIS y SQL Server en una aplicación Django

Estoy intentando ejecutar un sitio web de Django que se conecta a un servidor SQL, usando IIS con autenticación de Windows.

El servidor IIS y el servidor SQL están en diferentes máquinas bajo el mismo dominio, es decir,iis_machine.ejemplo.comysql_machine.ejemplo.com

Lo que estoy tratando de lograr:

  1. Suplantar al usuario remoto que accede al sitio web de Django alojado en IIS, de modo que sus credenciales de Windows se pasen a SQL Server para su autenticación.

Lo que intenté hasta ahora:

  1. Agregué esto a mi archivo web.config para suplantación

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

  2. Habilitó la autenticación de Windows y configuró el grupo de aplicaciones (django_web) para el sitio web de Django como se muestra a continuación

    Así es como se ve mi sitio web de Autenticación para Django en IIS

    Así es como se ve mi sitio web de grupo de aplicaciones para Django en IIS

  3. AgregadoGrupo de aplicaciones IIS\django_webal servidor SQLSeguridad\Inicios de sesión

Resultado:

  1. Cuando accedo al sitio web de Django, IIS solicita al usuario sus credenciales de Windows y puedo iniciar sesión correctamente.
  2. Si el usuario intenta acceder a SQL Server después de iniciar sesión

    Caso a. IIS y SQL Server están en diferentes máquinas: la autenticación del servidor SQL falla con "Error de inicio de sesión para el usuario 'dominio\MACHINENAME$'

    Caso b. IIS y SQL Server están en la misma máquina, la autenticación del servidor SQL es exitosa pero las credenciales de autenticación utilizadas sonGrupo de aplicaciones IIS\django_webnodominio\usuario_remoto

Entiendo que hay algunos trucos de Kerberos involucrados con esta configuración. Desafortunadamente, sólo soy programador y no estoy muy familiarizado con el funcionamiento de Kerberos. Si alguien con experiencia en este dominio pudiera arrojar algo de luz sobre cómo funcionaría esta configuración, sería muy apreciado. ¡Gracias!

Estoy usando:

  • IIS 10
  • Servidor SQL 2014
  • Django 2.0.7
  • Pitón 3.6.5
  • Ventanas 8/10

Respuesta1

Debe configurar la django_webcuenta para poder delegar en el servidor SQL. Supongo que, dado que es así, IIS APPPOOL\django_webes necesario configurarlo en la cuenta de la máquina en Active Directory. Alternativamente, puede crear una cuenta de servicio personalizada para ello.

información relacionada