Elemento trust (Esquema de configuración de ASP.NET)
[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].
Configura el nivel de la seguridad de acceso del código (CAS) correspondiente a una aplicación. Utilice este elemento si desea ejecutar una aplicación Web con una confianza menor que Full.
<trust
hostSecurityPolicyResolverType ="security policy resolution type"
legacyCasModel = "[True|False]"
level="[Full|High|Medium|Low|Minimal]"
originUrl="URL"
permissionSetName = "name of the permission set"
processRequestInApplicationTrust = "[True|False]"
/>
Atributos y elementos
En las próximas secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo |
Descripción |
---|---|
hostSecurityPolicyResolverType |
Atributo de cadena opcional. Especifica un tipo de resolución de directiva de seguridad personalizado. Cuando este atributo está establecido en una cadena vacía, ASP.NET utiliza la directiva predeterminada para determinar los permisos de un ensamblado. La directiva predeterminada para evaluar los permisos concede plena confianza a los ensamblados de la caché global de ensamblados (GAC) y confianza parcial a los otros ensamblados. Este atributo no puede establecerse en un valor null. El valor predeterminado es un objeto string vacío. |
legacyCasModel |
Atributo booleano opcional. Especifica si la seguridad de acceso del código (CAS) heredada está habilitada. Cuando la seguridad de acceso del código heredada está habilitada, se aplican las siguientes reglas de seguridad:
El valor predeterminado es false. |
level |
El atributo String es obligatorio. 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 que usa 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 ASP.NET Trust Levels and Policy Files. 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.
ValorDescripció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 del código, lo que significa que la aplicación no puede realizar de forma predeterminada las acciones que figuran a continuación:
Medium Especifica un nivel medio de seguridad de acceso del 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:
Low Especifica un nivel bajo de seguridad de acceso del 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:
Minimal Especifica un nivel mínimo de seguridad de acceso del 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. |
permissionSetName |
Atributo de cadena opcional. Especifica el nombre del conjunto de permisos. El valor predeterminado es "ASP.Net". |
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 necesario 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 los valores de configuración de ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones. |
Comentarios
El elemento trust configura el nivel de seguridad de acceso del 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 ASP.NET Trust Levels and Policy Files.
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 del código. Estos permisos incluyen permisos personalizados y de sistema integrados. Esto significa que la seguridad de acceso del código no evitará que su aplicación tenga acceso a cualquier recurso protegido. Lo que determina que el intento de acceso al recurso pueda llegar a materializarse o no depende estrictamente de 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 hospedado, utilice el elemento location del archivo Web.config raíz para encerrar los elementos securityPolicy y trust de las aplicaciones hospedadas, 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 hospedadas. Para obtener un ejemplo de este tipo de configuración, vea la sección "Ejemplo" que figura más adelante.
Nota
Las aplicaciones Web compiladas 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 elemento trust predeterminado se configura en el archivo Web.config de la 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 |
|
Miembro de configuración |
|
Ubicaciones configurables |
Machine.config Web.config del nivel raíz Web.config del nivel de aplicaciones |
Requisitos |
Microsoft Internet Information Services (IIS) versión 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
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
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)
Conceptos
ASP.NET Trust Levels and Policy Files
ASP.NET Trust Levels and Policy Files
Otros recursos
ASP.NET Web Application Security
Opciones de configuración generales (ASP.NET)
Opciones de configuración de ASP.NET