Элемент trust (схема параметров ASP.NET)
Задает применяемый к приложению уровень управления доступом для кода (CAS). Этот элемент следует использовать для выполнения веб-приложений, уровень доверия для которых ниже 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]"
/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
hostSecurityPolicyResolverType |
Необязательный строковый атрибут. Задает пользовательский тип разрешения политики безопасности. Если этот атрибут равен пустой строке, для определения разрешений сборки ASP.NET использует политику по умолчанию. Политика по умолчанию для оценки разрешений предоставляет полное доверие для сборок глобального кэша сборок (GAC) и частичное доверие для других сборок. Для этого атрибута нельзя задать значение null. Значением по умолчанию является пустой объект string. |
legacyCasModel |
Необязательный атрибут логического типа. Указывает, включено ли управление доступом для кода прежних версий (CAS). При включении безопасности доступа к устаревшему коду применяются следующие правила безопасности:
Значение по умолчанию — false. |
level |
Обязательный атрибут элемента String. Задает уровень доверия, с которым будет выполняться приложение. Каждый уровень доверия сопоставляется отдельной политике XML с помощью элемента trustLevel в файле конфигурации. В файле политики перечисляется набор разрешений, предоставляемых каждым уровнем доверия. Дополнительные сведения о ASP.NET и файлах политики см. в разделе Уровни доверия и файлы политик ASP.NET. Значение атрибута может задаваться пользователем, если в элементе trustLevel элемента Элемент securityPolicy (схема параметров ASP.NET) определено соответствующее сопоставление политики безопасности. Также атрибут может иметь одно из следующих возможных значений (в порядке возрастания строгости ограничений).
ЗначениеОписание
Full Устанавливает неограниченные разрешения.Предоставляет приложению ASP.NET разрешения на доступ к любому ресурсу, управляемому механизмами безопасности операционной системы.Поддерживаются все привилегированные операции.Эта настройка называется Unrestricted в перечислении AspNetHostingPermissionLevel.
High Устанавливает высокий уровень управления доступом для кода, при котором приложение по умолчанию не может выполнять следующие операции:
Medium Устанавливает средний уровень управления доступом для кода, при котором приложение ASP.NET по умолчанию не может выполнять следующие операции (в дополнение к ограничениям для уровня High):
Low Устанавливает низкий уровень управления доступом для кода, при котором приложение ASP.NET по умолчанию не может выполнять следующие операции (в дополнение к ограничениям для уровня Medium):
Minimal Устанавливает минимальный уровень управления доступом для кода, при котором приложению назначаются только разрешения на выполнение.
По умолчанию используется значение Full (без ограничений). |
originUrl |
Необязательный атрибут элемента String. Задает URL-адрес, используемый с ограниченным разрешением WebPermission, которое настроено в уровне доверия Medium. Если этот атрибут присутствует, он может использоваться в некоторых классах, например HttpWebRequest, которые допускают подключение только к конкретным URL-адресам, определяемым разрешением WebPermission. Это позволяет корректно работать разрешениям, основывающимся на понятии о хосте. |
permissionSetName |
Необязательный строковый атрибут. Задает имя набора разрешений. Значение по умолчанию равно ASP.Net. |
processRequestInApplicationTrust |
Необязательный атрибут элемента Boolean. Задает, выполняется ли автоматическое ограничение запросов страницы с использованием разрешений, настроенных в файле политики доверия для приложения ASP.NET. Файлы политики доверия задаются в элементах trustLevel элемента securityPolicy. Чтобы применить единую политику доверия к приложению ASP.NET, следует использовать атрибут level элемента trust. Если установлено значение False, запросы ASP.NET могут потенциально выполняться с уровнем доверия Full, даже если с помощью атрибута level установлен другой уровень. Не рекомендуется без особой необходимости изменять значение по умолчанию (true) этого атрибута. Этот атрибут не использовался до .NET Framework версии 2.0. Значение по умолчанию — True. |
Дочерние элементы
Отсутствует.
Родительские элементы
Элемент |
Описание |
---|---|
configuration |
Задает обязательный корневой элемент любого файла конфигурации, который используется средой CLR и приложениями .NET Framework. |
system.web |
Задает корневой элемент для параметров конфигурации ASP.NET в файле конфигурации и содержит элементы конфигурации для настройки веб-приложений ASP.NET и управления работой этих приложений. |
Заметки
Элемент trust задает применяемый к приложению уровень управления доступом для кода (CAS). Файлы политики безопасности сопоставляются с именами уровней доверия в элементе коллекции securityPolicy. В файле политики перечисляется набор разрешений, предоставляемых уровнем доверия. Элемент trust указывает на уровень доверия, применяемый к приложению ASP.NET. Дополнительные сведения о ASP.NET и файлах политики см. в разделе Уровни доверия и файлы политик ASP.NET.
По умолчанию веб-приложения выполняются с уровнем доверия Full. Приложениям с уровнем доверия Full в соответствии с политикой управления доступом для кода предоставляются неограниченные разрешения доступа. К этим разрешениям относятся встроенные системные и пользовательские разрешения. Это означает, что в соответствии с уровнем управления доступом для кода приложению будет разрешен доступ к любым защищенным ресурсам. Возможность доступа к ресурсу определяется исключительно уровнем безопасности, установленным в операционной системе. Приложение, для которого установлен отличающийся от Full уровень доверия, называется приложением с неполным доверием. Приложения с неполным доверием обладают ограниченными разрешениями на доступ приложения к защищенным ресурсам.
Для повышения безопасности в размещенной среде следует использовать элемент location в корневом файле Web.config, чтобы включить элементы securityPolicy и trust для размещаемых приложений, а также атрибут allowOverride="False", чтобы предотвратить переопределение приложением настроек в локальном файле Web.config. Чтобы настроить разные уровни доверия для разных размещаемых приложений, можно использовать элементы с различными атрибутами пути, расположенные в различных местах. Пример такого рода конфигурации см. далее в разделе "Пример".
![]() |
---|
Веб-приложения, построенные на платформе .NET Framework версии 1.0 всегда выполняются с уровнем доверия Full, поскольку для типов в System.Web требуются вызывающие объекты с полным уровнем доверия.При обновлении до более поздней версии .NET Framework не рекомендуется изменять уровень доверия без предварительного тестирования любых ранее существовавших приложений. |
Параметры по умолчанию
В корневом файле Web.config задается следующий элемент по умолчанию trust.
<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>
Пример
В следующем примере используется корневой файл Web.config для установки уровня доверия Medium для всех приложений ASP.NET, а также серверный элемент location для блокировки настроек. Другой элемент location в том же файле конфигурации используется, чтобы переопределить настройки в корневом файле Web.config настройками в файле Web.config приложения Default Web Site/Temp.
<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>
Сведения об элементе
Обработчик раздела конфигурации |
|
Элемент конфигурации |
|
Настраиваемые расположения |
Machine.config Файл Web.config корневого уровня Файл Web.config уровня приложения |
Требования |
Microsoft IIS версии 5.0, 5.1 или 6.0 .NET Framework версии 1.0, 1.1 или 2.0 Microsoft Visual Studio 2003 или Visual Studio 2005 |
См. также
Задачи
Практическое руководство. Настройка отдельных каталогов с помощью параметров расположения
Пошаговое руководство. Отключение параметров конфигурации ASP.NET
Ссылки
Элемент system.web (схема параметров ASP.NET)
Элемент configuration (схема общих параметров)
Элемент trustLevel для элемента securityPolicy (схема параметров ASP.NET)
Элемент securityPolicy (схема параметров ASP.NET)
Основные понятия
Уровни доверия и файлы политик ASP.NET
Уровни доверия и файлы политик ASP.NET
Администрирование политики безопасности
Настройка обеспечения безопасности ASP.NET
Другие ресурсы
Безопасность веб-приложений ASP.NET
Общие параметры конфигурации (ASP.NET)
Параметры конфигурации ASP.NET