Elemento identity (Esquema de configuración de ASP.NET)

Configura la identidad de la aplicación Web. Este elemento se puede declarar en cualquier nivel de la jerarquía del archivo de configuración.

NotaNota

La sintaxis de ejemplo de este tema incluye una contraseña para demostrar cómo funciona la sintaxis.Se recomienda usar en las aplicaciones una estrategia para proteger las contraseñas.

<identity impersonate="true|false" 
          userName="domain\username"
          password="<secure password>"/>

Atributos y elementos

En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo

Descripción

Impersonate

Atributo necesario.

Especifica si se utiliza la suplantación del cliente en cada solicitud.

Este atributo puede tener uno de los valores siguientes:

ValorDescripción
false Especifica que no se utiliza la suplantación del cliente.
true Especifica que se utiliza la suplantación del cliente.

Password

Atributo opcional.

Especifica la contraseña que se va a utilizar, si el atributo impersonate es true.

Para obtener información sobre cómo almacenar credenciales de proceso de trabajo cifradas en el Registro, vea el atributo userName.

userName

Atributo opcional.

Especifica el nombre de usuario que se va a utilizar, si el atributo impersonate es true.

Este atributo y el atributo password se almacenan en texto no cifrado en el archivo de configuración. Aunque Microsoft Internet Information Services (IIS) no transmite los archivos .config como respuesta a una solicitud de agente de usuario, los archivos .config se pueden leer por otros medios. Por ejemplo, por un usuario autenticado con las credenciales apropiadas en el dominio que contiene el servidor. Por motivos de seguridad, el atributo identity admite el almacenamiento de los atributos userName y password cifrados en el Registro. Las credenciales deben tener el formato REG_BINARY y deben estar cifradas con las funciones de cifrado de la API de protección de datos (DPAPI) de Microsoft Windows 2000 y Windows XP.

Para obtener más información, vea "Comentarios" y "Ejemplo", más adelante en este mismo tema.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento

Descripción

configuration

Especifica el elemento raíz de cada archivo de configuración que utilizan las aplicaciones basadas en Common Language Runtime y .NET Framework.

system.web

Especifica el elemento raíz de la sección de configuración de ASP.NET.

Comentarios

Para cifrar el nombre de usuario y la contraseña, y almacenarlos en el Registro, establezca los atributos userName y password del modo siguiente.

userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"

La parte de la cadena situada entre la palabra clave registry y la coma indica el nombre de la clave del Registro que ASP.NET abre. La parte situada detrás de la coma contiene un nombre de valor de cadena único en el que ASP.NET lee las credenciales. La coma es imprescindible y las credenciales deben estar almacenadas en el subárbol HKLM. Si el formato de configuración no es correcto, ASP.NET no iniciará el proceso de trabajo y seguirá la ruta de acceso al código de error de creación de la cuenta actual.

Las credenciales deben tener el formato REG_BINARY, que contiene el resultado de una llamada a la función CryptProtectData de la API de Windows. Puede crear las credenciales cifradas y almacenarlas en el Registro con Aspnet_setreg.exe, que utiliza CryptProtectData para el cifrado. Para descargar Aspnet_setreg.exe, junto con el código fuente y la documentación de Microsoft Visual C++, vaya al sitio Web de ASP.NET y busque "aspnet_setreg".

Se recomienda configurar el acceso a la clave que almacena las credenciales cifradas de modo que sólo se conceda acceso a Administrators y a SYSTEM. Dado que la clave la leerá el proceso de ASP.NET que se ejecuta como SYSTEM, establezca los siguientes permisos:

  • Administrators:F

  • SYSTEM:F

  • CREATOR OWNER:F

  • ProcessAccount:R

De este modo, se obtienen dos líneas de defensa para ayudar a proteger los datos:

  • Los permisos ACL requieren que la identidad que tiene acceso a los datos sea Administrator.

  • Un atacante debe ejecutar código en el servidor (la API CryptUnprotectData) para recuperar las credenciales de la cuenta.

Configuración predeterminada

El siguiente elemento identity predeterminado no se configura explícitamente en el archivo Machine.config o en el archivo Web.config raíz. Sin embargo, es la configuración predeterminada que devuelve la aplicación.

<identity impersonate="false" userName="" password="" />

Información de elemento

Controlador de la sección de configuración

System.Web.Configuration.IdentitySection

Miembro de configuración

SystemWebSectionGroup.Identity

Ubicaciones configurables

Machine.config

Web.config del nivel raíz

Web.config del nivel de aplicaciones

Web.config del nivel de directorio virtual o físico

Requisitos

Microsoft Internet Information Services (IIS) 5.0, 5.1 ó 6.0

.NET Framework 1.0, 1.1 ó 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vea también

Tareas

Cómo: Bloquear los valores de configuración de ASP.NET

Referencia

Elemento system.web (Esquema de configuración de ASP.NET)

Elemento <configuration>

System.Configuration

System.Web.Configuration

Conceptos

Información general sobre la configuración de ASP.NET

Controles de servidor web ASP.NET y funciones del explorador

Proteger la configuración de ASP.NET

Escenarios de configuración de ASP.NET

Otros recursos

Archivos de configuración de ASP.NET

Opciones de configuración de ASP.NET

Opciones de configuración generales (ASP.NET)

API de configuración de ASP.NET