Descripción general de los permisos de IIS7: ApplicationPoolIdentity
Recientemente actualizamos a IIS7 como servidor web central y necesito una descripción general en términos de permisos. Anteriormente, cuando necesitaba escribir en el sistema de archivos, le daba al usuario de AppPool (servicio de red) acceso al directorio o archivo.
En IIS7 veo que, de forma predeterminada, el usuario de AppPool está configurado en ApplicationPoolIdentity
. Entonces, cuando reviso el administrador de tareas, veo que una cuenta de usuario llamada WebSite.example
está ejecutando el proceso IIS (' Website.example
' siendo el nombre del sitio web en IIS)
Sin embargo, esta cuenta de usuario no existe si intento usarla para otorgar permisos. Entonces, ¿cómo determino a qué usuario otorgarle permisos también?
Consulte a continuación el problema en la captura de pantalla. Nuestro sitio web ( www.silverchip.co.uk ) se ejecuta con el nombre de usuario SilverChip.co.uk. Sin embargo, cuando agrego permisos, ¡este usuario no existe!
Ver imagen de AppPool:
ApplicationPoolIdentity es en realidad la mejor práctica para usar en IIS7+. Es una cuenta sin privilegios creada dinámicamente. Para agregar seguridad al sistema de archivos para un grupo de aplicaciones en particular, consulte "Identidades de grupos de aplicaciones" de IIS.net . La versión rápida:
Si el grupo de aplicaciones se llama "DefaultAppPool" (simplemente reemplace este texto a continuación si tiene un nombre diferente)
- Abra el Explorador de Windows
- Seleccione un archivo o directorio.
- Haga clic derecho en el archivo y seleccione "Propiedades"
- Seleccione la pestaña "Seguridad"
- Haga clic en el botón "Editar" y luego en "Agregar".
- Haga clic en el botón "Ubicaciones" y asegúrese de seleccionar la máquina local . ( No es el dominio de Windows si el servidor pertenece a uno).
- Ingrese " IIS AppPool\DefaultAppPool " en el cuadro de texto "Ingrese los nombres de los objetos para seleccionar:". (No olvide cambiar "DefaultAppPool" aquí por el nombre que haya asignado a su grupo de aplicaciones).
- Haga clic en el botón "Verificar nombres" y haga clic en "Aceptar".
Recuerde utilizar el nombre local del servidor, no el nombre de dominio, al resolver el nombre.
IIS AppPool\DefaultAppPool
(sólo un recordatorio porque esto me hizo tropezar un poco):
Dar acceso al usuario IIS AppPool\YourAppPoolName puede no ser suficiente con las configuraciones predeterminadas de IIS.
En mi caso, todavía tenía el error HTTP Error 401.3 - No autorizado después de agregar el usuario AppPool y se solucionó solo después de agregar permisos al usuario IUSR .
Esto es necesario porque, de forma predeterminada, el acceso anónimo se realiza mediante IUSR . Puede configurar otro usuario específico, el grupo de aplicaciones o continuar usando IUSR, pero no olvide configurar los permisos adecuados.
Créditos a esta respuesta: Error HTTP 401.3: no autorizado