Администрирование с использованием атрибутов группы кода

Важное примечаниеВажно

В версии .NET Framework 4 среда CLR больше не определяет политику безопасности для компьютеров.Корпорация Майкрософт рекомендует использовать вместо политики безопасности среды CLR политики ограниченного использования программ Windows.Сведения этого раздела относятся к .NET Framework 3.5 и более ранним версиям; они неприменимы к версии 4 и выше.Дополнительные сведения об этом и других изменениях см. в разделе Изменения системы безопасности в платформе .NET Framework 4.

Предположим, что администратор сети предприятия отвечает за администрирование политики безопасности на нескольких рабочих станциях. В типичном домене предприятия сетевой администратор обладает административными привилегиями на каждом сервере и на каждом клиентском компьютере. Впрочем, нередко некоторым пользователям также предоставляются административные привилегии на отдельных рабочих станциях. В результате сетевой администратор имеет административные привилегии на уровне политики предприятия, а администратор рабочей станции — на уровне политики компьютера. На первый взгляд, в такой ситуации сетевой администратор может в большей мере контролировать политику, поскольку политика предприятия проверяется в первую очередь, а политика компьютера не может ослабить требования безопасности, установленные администратором предприятия. Но администратор компьютера может тем не менее ужесточить условия безопасности, запретив работу доверенных приложений, запуск которых был разрешен на более высоком уровне. Поэтому более высокие уровни политики могут быть настроены таким образом, чтобы исключить проверку решений безопасности политиками более низких уровней.

Этого можно достичь путем применения атрибута LevelFinal или Exclusive к группе кода с помощью одного из средств настройки политики безопасности.

Атрибут LevelFinal

Атрибут LevelFinal, примененный к группе кода, запрещает проверку любых уровней политики ниже текущего уровня. Например, если атрибут LevelFinal применен к группе кода локальной интрасети на уровне предприятия, то любая группа кода на уровне компьютера не будет проверяться, даже если администратор компьютера внесет какие-либо изменения. Применение атрибута LevelFinal гарантирует, что сборка, которая связана с группой кода, помеченной этим атрибутом, никогда не получит меньше разрешений вследствие решения, принятого администратором политики более низкого уровня. Сведения об установке атрибута LevelFinal для стандартной или пользовательской группы кода см. в разделах Средство настройки платформы .NET Framework и Средство настройки политики управления доступом для кода (Caspol.exe).

Атрибут Exclusive

Атрибут Exclusive, примененный к некоторой группе кода, исключает из рассмотрения прочие группы кода на том же уровне политики, когда среда выполнения рассчитывает разрешения для сборок данной группы кода. При этом уровни политики, находящиеся выше и ниже текущего уровня, по-прежнему учитываются. Данный атрибут позволяет определенной группе кода принять на текущем уровне политики единоличное решение относительно того, какие разрешения следует предоставить сборкам, входящим в эту группу. Этот способ применяется, если требуется предоставить определенный набор разрешений определенным сборкам без учета разрешений для других групп кода на том же уровне политики.

Обратите внимание, что сборка не может быть выполнена, если она принадлежит к нескольким группам кода, помеченным атрибутом Exclusive. Поэтому не следует слишком часто использовать атрибут Exclusive при администрировании настраиваемой политики безопасности. Сведения об установке атрибута Exclusive для встроенной или пользовательской группы кода см. в разделах Средство настройки платформы .NET Framework и Средство настройки политики управления доступом для кода (Caspol.exe).

См. также

Основные понятия

Атрибуты группы кода

Группы кода

Другие ресурсы

Общее администрирование политики безопасности

Лучшие методики для политики безопасности