Compartir a través de


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

Actualización: noviembre 2007

Configura el nivel de la seguridad de acceso a código (CAS) correspondiente a una aplicación. Utilice este elemento si desea ejecutar una aplicación Web con una confianza menor que Full.

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

<trust 
   level="[Full|High|Medium|Low|Minimal]" 
   originUrl="URL"
   processRequestInApplicationTrust = "[True|False]" 
/>

Atributos y elementos

Las siguientes secciones describen atributos, elementos secundarios y elementos primarios.

Atributos

Atributo

Descripción

level

Atributo String necesario.

Especifica el nivel de confianza con el que se ejecutará la aplicación. Cada nivel de confianza se asigna a un archivo de directivas XML individual utilizando un elemento trustLevel en el archivo de configuración. El archivo de directivas muestra el conjunto de permisos concedido por cada nivel de confianza. Para obtener información sobre ASP.NET y los archivos de directivas, vea Niveles de confianza y archivos de directivas de ASP.NET.

Este atributo puede ser un valor definido por el usuario si hay una asignación de directiva de seguridad coincidente definida en un elemento trustLevel del elemento Elemento securityPolicy (Esquema de configuración de ASP.NET), o uno de los siguientes posibles valores, en orden creciente de restricción.

Valor

Descripción

Full

Especifica permisos sin restricciones. Concede los permisos de la aplicación ASP.NET para tener acceso a cualquier recurso que esté sujeto a la seguridad del sistema operativo. Se admiten todas las operaciones para las que se tienen privilegios. Esta configuración se denomina Unrestricted en la enumeración AspNetHostingPermissionLevel.

High

Especifica un alto nivel de seguridad de acceso a código, lo que significa que la aplicación no puede realizar de forma predeterminada las acciones que figuran a continuación:

  • Llamar a código no administrado.

  • Llamar a los componentes procesados.

  • Escribir en el registro de eventos.

  • Obtener acceso a las colas de Microsoft Message Queue Server.

  • Obtener acceso a los orígenes de datos ODBC, OleDb u Oracle.

Medium

Especifica un nivel medio de seguridad de acceso a código, lo que significa que, además de las restricciones de High, la aplicación ASP.NET no puede realizar de forma predeterminada ninguna de las acciones siguientes:

  • Obtener acceso a los archivos ubicados fuera del directorio de la aplicación.

  • Obtener acceso al Registro.

  • Realizar llamadas al servicio Web o de red (mediante la clase System.Net.HttpWebRequest, por ejemplo).

Low

Especifica un nivel bajo de seguridad de acceso a código, lo que significa que, además de las restricciones de Medium, la aplicación no puede realizar de forma predeterminada ninguna de las acciones siguientes:

  • Escribir en el sistema de archivos.

  • Llame al método Assert.

Minimal

Especifica un nivel mínimo de seguridad de acceso a código, lo que significa que la aplicación sólo dispone de permisos de ejecución.

El valor predeterminado es Full (sin restricciones).

originUrl

Atributo String opcional.

Especifica una dirección URL para su uso con el permiso WebPermission restringido que se configura en el nivel de confianza medio. Si se especifica, esta dirección puede utilizarse para algunas clases, como HttpWebRequest, que permiten sólo la conectividad con algunas direcciones URL especificadas por un permiso WebPermission. De este modo funcionarán correctamente los permisos que se basan en la noción de host.

processRequestInApplicationTrust

Atributo Boolean opcional.

Especifica si las solicitudes de página se restringen automáticamente a los permisos configurados en el archivo de directivas de confianza aplicado a la aplicación ASP.NET.

Los archivos de directivas de confianza se especifican en los elementos trustLevel del elemento securityPolicy. Una única directiva de confianza se asigna a una aplicación ASP.NET utilizando el atributo level del elemento trust.

Si su valor es False, las solicitudes ASP.NET pueden ejecutarse potencialmente bajo el nivel de confianza Full, aun cuando el atributo level especifique otro nivel de confianza. A menos que haya motivos específicos para ello, no restablezca el valor predeterminado true de este atributo.

Este atributo es nuevo en la versión 2.0 de .NET Framework.

El valor predeterminado es True.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento

Descripción

configuration

Especifica el elemento raíz requerido de cada archivo de configuración utilizado por Common Language Runtime y las aplicaciones de .NET Framework.

system.web

Especifica el elemento raíz de los valores de configuración ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran las aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones.

Comentarios

El elemento trust configura el nivel de seguridad de acceso a código (CAS) correspondiente a una aplicación. Los archivos de directivas de seguridad se asignan a nombres de nivel de confianza del elemento de la colección securityPolicy. El archivo de directivas muestra el conjunto de permisos concedido por el nivel de confianza. El elemento trust especifica qué nivel de confianza debe asignarse a la aplicación ASP.NET. Para obtener información sobre ASP.NET y los archivos de directivas, vea Niveles de confianza y archivos de directivas de ASP.NET.

De manera predeterminada, las aplicaciones Web se ejecutan con el nivel de confianza Full. Las aplicaciones de plena confianza tienen permisos de acceso a código sin restricciones concedidos por la directiva de seguridad de acceso a código. Estos permisos incluyen permisos personalizados y de sistema integrados. Esto significa que la seguridad de acceso a código no evitará que su aplicación tenga acceso a cualquier recursos protegido. El éxito o el fracaso del intento de acceso al recurso lo determina puramente la seguridad en el nivel de sistema operativo. Si una aplicación está configurada con un nivel de confianza distinto de Full, se denomina aplicación de confianza parcial. Las aplicaciones de confianza parcial tienen restringidos los permisos, lo que limita el acceso a los recursos protegidos de la aplicación.

Para mejorar la seguridad en un entorno alojado en host, utilice el elemento ___location del archivo Web.config raíz para encerrar los elementos securityPolicy y trust de las aplicaciones alojadas en host, y el atributo allowOverride="False" para impedir que las aplicaciones reemplacen la configuración en un archivo Web.config más local. De manera opcional, puede utilizar varios elementos ___location, cada uno con un atributo de ruta de acceso diferente, si desea configurar niveles de confianza diferentes para distintas aplicaciones alojadas. Para obtener un ejemplo de este tipo de configuración, vea la sección "Ejemplo" que figura más adelante.

Nota

Las aplicaciones Web creadas con la versión 1.0 de .NET Framework siempre se ejecutan con el nivel de confianza Full porque los tipos de System.Web requieren llamadores de plena confianza. Cuando actualice a una versión más reciente de .NET Framework, no cambie el nivel de confianza sin comprobar las aplicaciones previamente existentes.

Configuración predeterminada

El siguiente elemento trust predeterminado se configura en el archivo Web.config raíz.

<___location allowOverride="true">
<system.web>
   <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low" policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
   </securityPolicy>
   <trust 
      level="Full" 
      originUrl="" 
      processRequestInApplicationTrust="true" 
   />
</system.web>
</___location>

Ejemplo

En el ejemplo de código siguiente se muestra cómo utilizar un archivo Web.config raíz para especificar los valores de configuración del nivel de confianza Medium para todas las aplicaciones ASP.NET en el servidor, y el elemento ___location para bloquear la configuración. Se utiliza otro elemento ___location del mismo archivo de configuración para que el archivo Web.config de la aplicación Default Web Site/Temp pueda reemplazar la configuración en el archivo Web.config raíz.

<___location allowOverride="false">
  <system.web>
    <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low"  policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
    </securityPolicy>
  </system.web>
</___location>

<___location allowOverride="false">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</___location>

<___location allowOverride="true" path="Default Web Site/Temp">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</___location>

Información de elemento

Controlador de la sección de configuración

TrustSection

Miembro de configuración

AspNetHostingPermission

Ubicaciones configurables

Machine.config

Web.config del nivel raíz

Web.config del nivel de aplicaciones

Requisitos

Servicios de Microsoft Internet Information Server (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: Configurar directorios concretos mediante la configuración de la ubicación

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

Conceptos

Niveles de confianza y archivos de directivas de ASP.NET

Niveles de confianza y archivos de directivas de ASP.NET

Administrar directiva de seguridad

Proteger la configuración de ASP.NET

Escenarios de configuración de ASP.NET

Referencia

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

Elemento configuration (Esquema de configuración general)

Elemento trustLevel para securityPolicy (Esquema de configuración de ASP.NET)

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

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Otros recursos

Seguridad de aplicaciones Web ASP.NET

Opciones de configuración generales (ASP.NET)

Opciones de configuración de ASP.NET

Administrar sitios web ASP.NET

Archivos de configuración de ASP.NET

API de configuración de ASP.NET