Cómo configurar la identidad de proceso para la cuenta ASPNET en ASP.NET 1.1 cuando utiliza el modo de aislamiento de IIS 5 en IIS 6.0 en Windows Server 2003

Seleccione idioma Seleccione idioma
Id. de artículo: 895967 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

este artículo describe cómo configurar la identidad de proceso para la cuenta ASPNET. Puede utilizar esta configuración para ejecutar tareas que no funcionen como se esperaba en una instalación predeterminada.

En este artículo describe cómo hacer lo siguiente:
  • configurar la identidad del proceso en el código.
  • utilizar Access Control Lists para conceder permisos a files. de escribir
  • Conectar a Microsoft SQL Server y a bases de datos de Microsoft Access utilizando la cuenta ASPNET.
  • Utilice la cuenta ASPNET en un controlador de dominio.
el artículo también explica cómo utilizar los contadores de rendimiento, depuradores y las tecnologías de Microsoft como (WMI) y servicio de directorio Active Directory. Además, este artículo describe el problema que puede experimentar si desinstalar o reinstalar ASP.NET.

Aunque este artículo describe cómo configurar la cuenta ASPNET para tener elevados permisos y derechos de usuario, los permisos predeterminados y derechos de usuario de la cuenta ASPNET son adecuados para las aplicaciones Web la mayoría.

INTRODUCCIÓN

Este artículo describe cómo configurar la identidad de proceso para la cuenta ASPNET en Microsoft ASP.NET 1.1 cuando utiliza el modo de aislamiento de Microsoft Internet Information Services (IIS) 5 en IIS 6.0 en un equipo que ejecuta Microsoft Windows Server 2003.

notas
  • Windows Server 2003 sólo se utiliza la cuenta ASPNET para modo de aislamiento de IIS 5.
  • Modo de aislamiento de IIS 5 es una característica de compatibilidad. De forma predeterminada, esta característica está instalada pero no habilitada, cuando instala IIS 6.0.
En Microsoft Windows Server 2003, una instalación predeterminada de ASP.NET ejecuta código de aplicación Web en un proceso de trabajo. Si utiliza el modo de aislamiento de procesos de trabajo, todas las aplicaciones de basado en Windows integradas en Microsoft .NET Framework se ejecutan en un proceso de trabajo W3wp.exe de IIS 6.0.

Nota Cuando las aplicaciones de Windows se ejecutan en el proceso de trabajo W3wp.exe, la identidad de proceso predeterminada es NetworkService. Puede configurar la identidad de proceso predeterminada en el nivel de grupo de aplicación.

En IIS 5, el proceso de trabajo Aspnet_wp.exe se ejecuta bajo la cuenta ASPNET local. En versiones beta de ASP.NET, la identidad del proceso de trabajo Aspnet_wp.exe utiliza la cuenta del sistema. La cuenta del sistema es una cuenta administrativa en el equipo local. Esta cuenta incluye muchos permisos y derechos de usuario en el equipo. De forma predeterminada, el proceso de trabajo utiliza la cuenta ASPNET en la versión de ASP.NET. Esta configuración crea una instalación predeterminada con menos privilegios. La cuenta ASPNET tiene menos permisos y derechos de usuario. Sin embargo, la cuenta ASPNET es aún apropiada para la mayoría de aplicaciones Web.

Más información

IIS 6.0 en el modo de aislamiento de procesos de trabajo

Cuando utiliza el modo de aislamiento de procesos de trabajo en IIS 6.0, puede configurar la identidad de proceso predeterminada para el proceso de trabajo. Para obtener más información acerca de las cuentas de Windows integradas y los privilegios de predeterminada están asociados con cada cuenta, visite el siguiente sitio Web de Microsoft:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/3648346f-e4f5-474b-86c7-5a86e85fa1ff.mspx

Modo de aislamiento de IIS 5

En IIS 6, la cuenta de usuario ASPNET integrada es se utiliza para ejecutar el proceso de trabajo de ASP.NET en modo de aislamiento de IIS 5.0.

Identidad de proceso

Puede configurar la identidad del proceso en la sección processModel del archivo Machine.config cuando IIS se ejecuta en modo de aislamiento de IIS 5.

Nota Cuando ASP.NET se ejecuta en modo de aislamiento de procesos de trabajo de IIS 6.0, se omiten los valores en la sección processModel . Para configurar la identidad del proceso, reciclaje u otros valores de modelo de proceso, utilice el Administrador de IIS para configurar el proceso de trabajo para la aplicación de IIS.

El archivo Machine.config se encuentra en la carpeta siguiente:
%systemroot%\WINDOWS\Microsoft.NET\Framework\ Version \Config
Nota Version representa la versión de .NET Framework.

El atributo userName y el atributo password controlan la identidad del proceso. Los valores predeterminados para estos atributos son los siguientes.
processModel userName="machine" password="AutoGenerate"/
El valor de equipo y el valor AutoGenerate indicar a ASP.NET para utilizar la cuenta ASPNET integrada. Además, estos valores indican a ASP.NET para utilizar una contraseña aleatoria sólidamente. Esta contraseña se almacena en la autoridad de seguridad local (LSA) para la cuenta ASPNET.

Si desea utilizar un proceso que tiene más permisos y derechos de usuario, puede establecer el atributo userName a sistema . Cuando se utiliza la cuenta del sistema, el proceso de trabajo ASP.NET se ejecuta utilizando la misma identidad como el proceso Inetinfo.exe.

De forma predeterminada, el proceso Inetinfo.exe se ejecuta como la identidad sistema. Configurar el proceso de trabajo de ASP.NET para utilizar la identidad sistema, el proceso de trabajo de ASP.NET puede tener acceso a la mayoría de los recursos en el equipo local. En un equipo que está ejecutando Windows Server 2003, la cuenta del sistema tiene los mismos permisos y derechos de usuario como la cuenta de equipo. Por lo tanto, la cuenta del sistema puede acceso a los mismos recursos de red como la cuenta de equipo.

Para configurar el proceso para ejecutarse como la identidad sistema, cambie el atributo userName en la sección processModel al siguiente.
processModel userName="SYSTEM" password="AutoGenerate"/

Permisos predeterminados para la cuenta ASPNET

Cuando se instala ASP.NET, la cuenta ASPNET se crea como una cuenta local. La cuenta ASPNET sólo pertenece al grupo usuarios de ese equipo. La cuenta ASPNET tiene todos los permisos y derechos de usuario que se asocian con el grupo de usuarios. Por tanto, la cuenta ASPNET puede tener acceso a los recursos a la que el grupo usuarios de acceso.

Para obtener más información acerca de permisos predeterminado y derechos de usuario en un servidor de aplicaciones recién instalado que está ejecutando IIS 6.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
812614Predeterminada permisos y derechos de usuario para IIS 6.0
Nota De forma predeterminada, la cuenta ASPNET no tiene los permisos correctos y derechos de usuario para realizar algunas de las tareas que se describen en este artículo.

Acceso a los recursos

Las secciones siguientes describen cómo utilizar diversos recursos. Puede tener acceso a muchos de estos recursos localmente si habilita la suplantación y si concede el acceso de cuenta suplantada al recurso. Sin embargo, la suplantación con frecuencia no funciona cuando intenta tener acceso a recursos remotos a menos que la aplicación utiliza un mecanismo de autenticación que se puede delegar, como Kerberos o autenticación básica.

Recursos de archivo

Para habilitar una aplicación que se ejecuta bajo la cuenta ASPNET para escribir en archivos, un administrador puede conceder permisos de escritura para la cuenta ASPNET. El administrador puede conceder permisos de escritura para un archivo individual o para jerarquías de carpetas.

Para cambiar la lista de control de acceso para un archivo, siga estos pasos:
  1. Abra el Explorador de Windows.
  2. Seleccione el archivo o la carpeta que desee cambiar los permisos.
  3. En el menú archivo , haga clic en Propiedades .
  4. Haga clic en la ficha seguridad . A continuación, haga clic para seleccionar las casillas de los permisos que desee.
También puede utilizar una secuencia de comandos o la herramienta de línea de comandos de cacls.exe para cambiar permisos para un archivo.

Suplantación

Con la suplantación, la aplicación se ejecuta en el contexto de seguridad de la entidad de solicitud, como un usuario autenticado o como un usuario anónimo. De forma predeterminada, la suplantación es opcional y no está habilitada en ASP.NET. Para habilitar la suplantación en el nivel del equipo o en el nivel de la aplicación, agregue la siguiente directiva de configuración en la sección <system.web> del archivo Machine.config o el archivo Web.config.
<identity impersonate="true"/>

Bases de datos

Aplicaciones que utilizan autenticación de SQL para conectarse a una base de datos no se afectado generalmente por mediante la cuenta ASPNET. Las aplicaciones que utilizan la autenticación integrada y la suplantación también generalmente no se ven afectadas. Sin embargo, si una aplicación no está suplantando a y utiliza la autenticación integrada, debe conceder acceso a la base de datos para la cuenta ASPNET.

Cuando intenta autenticar a Microsoft SQL Server mediante autenticación integrada a través de canalizaciones con nombre no puede utilizar la cuenta ASPNET. Sin embargo, puede utilizar la cuenta ASPNET junto con la autenticación integrada sobre el transporte Protocolo de control de transmisión (TCP).

Si una aplicación debe usar una base de datos de Microsoft Access, la cuenta ASPNET debe poder escribir en el archivo de base de datos. Los administradores deben cambiar los permisos de archivo para permitir que este uso.

El registro de aplicación

Las aplicaciones que deben escribir en el registro de aplicación pueden hacerlo cuando se ejecutan bajo la cuenta ASPNET. Si una aplicación debe crear una nueva categoría de registro de sucesos, la aplicación debe crear una clave del Registro bajo el subárbol del Registro
HKEY_LOCAL_MACHINE
. De forma predeterminada, la cuenta ASPNET no puede crear una clave del Registro bajo el subárbol del Registro
HKEY_LOCAL_MACHINE
.

Para crear la categoría en tiempo de ejecución, debe habilitar la suplantación. A continuación, se debe suplantar una cuenta que tenga más permisos y derechos de usuario. Como alternativa, un administrador puede crear la categoría. A continuación, la aplicación puede escribir en la categoría en tiempo de ejecución.

Si las aplicaciones deben crear nuevas categorías de registro de sucesos, crear las categorías en la instalación. Una vez haya creado la categoría, la cuenta ASPNET puede escribir en el registro de aplicación.

El espacio de nombres System.DirectoryServices y el servicio de directorio de Active Directory

Si una aplicación Web debe tener acceso a servicio de directorio Active Directory, la aplicación puede utilizar la suplantación en un entorno que admite la delegación. Como alternativa, la aplicación puede proporcionar credenciales explícitas al constructor DirectoryEntry en el espacio de nombres System.DirectoryServices para tener acceso a servicio de directorio Active Directory. Si la aplicación utiliza credenciales explícitas, la aplicación debe almacenar las credenciales correctamente mediante una técnica como cadenas de construcción de COM + o mediante la protección de datos API de Windows.

Contadores de rendimiento

La cuenta ASPNET tiene permisos suficientes escribir en los datos del contador de rendimiento. Sin embargo, la cuenta ASPNET no tiene suficientes permisos leer los datos de contador de rendimiento. Si la aplicación debe leer los datos de contador de rendimiento o debe crear categorías de contador de rendimiento, debe conceder permisos de administrador o Power User permisos a la cuenta ASPNET.

Si una aplicación debe crear categorías de contadores de rendimiento nuevo, crear las categorías en la instalación. Una vez haya creado las categorías, la cuenta ASPNET puede escribir en los contadores.

Puede utilizar la herramienta Monitor de rendimiento (Perfmon.exe) para supervisar los contadores de rendimiento de ASP.NET cuando utiliza la cuenta ASPNET. Para supervisar contadores de rendimiento de ASP.NET en Windows Server 2003, agregar la identidad de proceso al grupo IIS_WPG.

Servidores COM fuera de proceso

Las aplicaciones que deben iniciar servidores COM fuera de proceso cuando se ejecutan como la cuenta ASPNET específicamente pueden conceder permisos de inicio a la cuenta mediante la herramienta DCOMCNFG.exe.

Problemas del depurador

De forma predeterminada, no se puede recorrer una llamada de servicio Web XML desde una aplicación de cliente. Para recorrer una llamada de servicio Web XML, debe agregar la cuenta ASPNET al grupo usuarios del depurador en el equipo donde se ejecuta el servicio Web XML.

Identidad fija

En los servicios COM +, puede ejecutar código utilizando una identidad fija. Puede utilizar la clase ServicedComponent del espacio de nombres System.EnterpriseServices para escribir componentes de código administrado que utilizan servicios COM +. Puede ajustar la funcionalidad privilegiada en una clase que se deriva de la clase ServicedComponent . A continuación, se puede ejecutar esta clase como una aplicación de servidor COM + que tiene una identidad configurada.

Archivos de código subyacente en recursos compartidos UNC

En ASP.NET, puede utilizar varios métodos para desarrollar archivos de aplicación. En los métodos siguientes, el contenido se almacena en archivos de código subyacente en recursos compartidos de convención de nomenclatura universal (UNC):
  • Puede utilizar HTML en un archivo. aspx. A continuación, puede almacenar el código de la página en un ensamblado precompilado en la carpeta bin. Este método es el modelo de Visual Studio.NET.
  • Puede empaquetar todo el código y el contenido HTML en un único archivo fuente que se compila a petición.
  • Puede colocar la presentación de HTML en un archivo de ASP.NET. A continuación, dinámicamente puede compilar cualquier código fuente asociado para ese archivo utilizando un atributo src en el < % @ Assembly % > directiva.
Si se encuentra contenido de la aplicación en un recurso compartido de red, el compilador se inicia en la cuenta ASPNET. Por lo tanto, el compilador no tiene credenciales de red para tener acceso al archivo. Si utiliza recursos compartidos de red, no puede utilizar el atributo src para señalar a un archivo. Debe utilizar uno de los otros métodos en su lugar.

ASP.NET en un controlador de dominio principal o de copia de seguridad

De forma predeterminada, si estás utilizando ASP.NET 1.1 en un controlador de dominio, las aplicaciones Web ASP.NET ejecutará en el contexto de seguridad de la cuenta IWAM_ ComputerName.

Nota ComputerName es el nombre del equipo donde se encuentra la cuenta IWM_ ComputerName.

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
315158REVISIÓN: ASP.NET no funciona con la cuenta ASPNET predeterminada en un controlador de dominio

La metabase de IIS

La cuenta ASPNET no puede leer la metabase servicios de Internet Information Server (IIS). Si una aplicación debe tener acceso a la configuración de la metabase, puede utilizar la utilidad Metaacl.exe conceder selectivamente permisos de lectura a los nodos de la metabase.

Si una aplicación debe utilizar archivos .disco, debe conceder permisos de lectura a la metabase para la cuenta ASPNET. Los archivos .disco deben leer la metabase de IIS para proporcionar servicios de descubrimiento.

Administración del sistema y WMI

Puede utilizar (WMI) para administrar y supervisar los equipos que ejecutan sistemas operativos Microsoft Windows. Sin embargo, cuando en las aplicaciones que ejecuta en el sistema operativo Windows que se ejecutan bajo la cuenta ASPNET, la cuenta ASPNET sólo tiene los mismo permisos predeterminado como el todos cuenta. Estos permisos incluyen leer datos WMI, escribir datos del proveedor y ejecuta los métodos para proveedores en el equipo local.

Para obtener más información acerca de los mecanismos de seguridad WMI, consulte la documentación de WMI SDK o visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa394582.aspx
De forma predeterminada, ASP.NET genera una contraseña segura criptográficamente para la cuenta ASPNET. Si la contraseña de cuenta ASPNET no está compartida entre equipos o no se restablece a un valor distinto del predeterminado, este comportamiento ayuda a proteger el sistema después de conceder permisos adicionales y derechos de usuario a la cuenta ASPNET.

Interacción con el escritorio

Cuando Servicios de IIS están configurados para habilitar la interacción con el escritorio, la cuenta ASPNET no puede tener acceso al escritorio. Este comportamiento se produce cuando el acceso control listas discrecional (DACL) en el objeto de estación de ventana predeterminado y en el objeto de escritorio predeterminado no se configuran para conceder derechos de usuario a la cuenta ASPNET. Los administradores pueden cambiar estas DACL. O bien, puede ejecutar el proceso mediante una cuenta tiene derechos de usuario para estos objetos.

Quitar ASP.NET

Cuando quitar ASP.NET, se deshabilita la cuenta ASPNET. Sin embargo, la cuenta permanece en el sistema. Si desea volver a instalar ASP.NET, puede eliminar la cuenta ASPNET.

Si reinstala ASP.NET después de eliminar explícitamente la cuenta ASPNET, se crea una nueva cuenta ASPNET que tiene un nuevo identificador de seguridad (SID). Por tanto, cualquier ACL que hace referencia a la cuenta ASPNET anterior ya no se aplican a la nueva cuenta ASPNET.

Referencias

Para obtener más información acerca de las listas de control de acceso predeterminada en Windows 2000, consulte el siguiente documento técnico de Microsoft:
http://technet.microsoft.com/en-us/library/bb742509.aspx
Para obtener más información acerca de cómo cifrar credenciales y cadenas de conexión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
329290Cómo utilizar la utilidad de ASP.NET para cifrar credenciales y cadenas de conexión de estado de sesión
Para obtener más información acerca de la cuenta ASPNET, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
315158REVISIÓN: ASP.NET no funciona con la cuenta ASPNET predeterminada en un controlador de dominio

Propiedades

Id. de artículo: 895967 - Última revisión: jueves, 28 de diciembre de 2006 - Versión: 2.7
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.1
Palabras clave: 
kbmt kbhttpruntime kbasp kbtshoot kbcode kbinfo KB895967 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 895967

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com