Создание Windows-приложений на основе Visual C#

         

Уровни безопасности


Существует несколько уровней безопасности: сеть, компьютер, пользователь, домен приложения (дополнительный уровень). В таблице 10.2 дано описание каждого уровня.

Таблица 10.2. Уровни безопасности

Уровень безопасностиОписание
Сеть (Enterprise level)Уровень контролируется администратором сети и содержит группы кода, которые могут быть назначены любому управляемому коду во всей корпоративной сети
Компьютер (Machine)Уровень контролируется администратором компьютера и содержит группы кода, которые могут быть назначены любому управляемому коду, выполняемому на данном компьютере
Пользователь (User)Уровень контролируется пользователем компьютера и содержит группы кода, которые могут быть назначены любому управляемому коду, выполняемому от имени данного пользователя
Домен приложения (Application Domain)Дополнительный уровень, позволяющий изолировать, выгружать и ограничивать выполняемый управляемый код

Окончательный набор разрешений получается в результате суммы всех разрешений от каждой сборки, т.к. каждая сборка может иметь свой набор разрешений (рис. 10.4).


Рис. 10.4.  Принцип работы безопасности доступа кода

Среда выполнения Common Language Runtime (CLR) также имеет стандартную политику безопасности и использует ее набор разрешений ( табл. 10.3).

Таблица 10.3. Набор разрешений CLR

Отсутствие разрешений (Nothing)Отсутствуют какие-либо разрешения. Код не может быть запущен. Код из "небезопасной" зоны использует эту политику безопасности.
Извлечение (Execution)Предоставляет разрешение только на запуск приложения. Не разрешает приложению использовать какие-либо ресурсы
Интернет (Internet)Предоставляет разрешения на выполнение кода, открытие диалоговых окон, создание web-соединений с сайтом, с которого установлено приложение, и использование изолированного хранилища с ограниченным размером. По умолчанию, весь код из Интернета и "небезопасные" зоны используют эту политику безопасности
Корпоративная интрасеть (Local Intranet)Предоставляет разрешения на запуск кода; его выполнение без ограничений; использование изолированного хранилища без лимита; использование DNS-служб; использование таких данных, как имя пользователя и временных переменных; создание web-соединения с сайтами, с которых взяты сборки, используемые в приложении; чтение и сохранение файлов из того же каталога, что и приложение. По умолчанию, весь код из сети использует эту политику безопасности
Весь доступ (Everything)Предоставляет все стандартные разрешения, кроме отмены верификации
Полный доступ (Full Trust)Предоставляет полный доступ ко всем ресурсам. По умолчанию, весь управляемый код локального компьютера использует эту политику безопасности



Содержание раздела