Книга: C# для профессионалов. Том II
Уровни политики: машина, пользователь и предприятие
Уровни политики: машина, пользователь и предприятие
До сих пор безопасность рассматривалась в контексте одной машины. Часто необходимо определить политику системы безопасности для определенных пользователей или для всей организации, и именно поэтому .NET предоставляет не один, а три уровня групп кода:
? Machine (Машина)
? Enterprise (Предприятие)
? User (Пользователь)
Уровни групп кода управляются независимо и существуют параллельно:
Если существует три вида политики безопасности, как узнать, какая применяется? Действующим полномочием является пересечение полномочий трех уровней. Каждый из трех уровней имеет возможность запретить права, предоставленные другими,— это хорошая весть для администраторов, так как их настройки будут переопределять настройки пользователя.
Для работы с группами кода и полномочиями на уровнях пользователя или предприятия с помощью caspol.exe
добавьте либо аргумент enterprise
, либо аргумент user
, чтобы изменить режим команды, caspol.exe
работает по умолчанию на уровне Machine
; таким образом эта утилита до сих пор и использовалась. Просмотрим группы кода, перечисленные на уровне User
:
caspol.exe -user -listgroups
Так выглядит вывод команды при установке по умолчанию:
Security is ON
Execution checking is ON
Policy change prompt is ON
Level = User
Code Groups:
1. All code: FullTrust
Success
Теперь выполним ту же самую команду, но в этот раз, чтобы увидеть группы кода на уровне Enterprise
:
caspol.exe -enterprise -listgroups
Вывод команды выглядит так:
Security is ON
Execution checking is ON
Policy change prompt is ON
Level = Enterprise
Code Groups:
1. All code: FullTrust
Success
Как можно видеть, по умолчанию оба уровня, User
и Enterprise
, конфигурируются с предоставлением FullTrust
для единственной группы кода All Code
. В результате этого настройка по умолчанию для системы безопасности .NET не налагает никаких ограничений на уровне пользователя или предприятия, и реализованная политика диктуется исключительно политикой уровня машины. Например, если требуется применить более строгое полномочие или множество полномочий к уровню пользователя или предприятия, эти ограничения будут налагаться на все полномочия и, возможно, переопределять права на уровне машины. Действующие полномочия являются пересечением, поэтому, например, если необходимо применить FullTrust
к группе кода, это полномочие должно быть присвоено группе кода на каждом из трех уровней политики.
При выполнении caspol.exe
администратором по умолчанию используется уровень машины, но если выйти из системы и зарегистрироваться как пользователь, который не принадлежит группе пользователей Administrator
, caspol.exe
выберет по умолчанию уровень пользователя. Кроме того, caspol.exe
не позволит изменить политику безопасности таким образом, чтобы сделать саму утилиту caspol.exe
неработоспособной.
Теперь мы получили общее представление об архитектуре безопасности в .NET и можем перейти к обсуждению, как получить доступ к ее свойствам программным путем.
- Расширенные возможности указания пользовательских планов
- Определение пользовательского формата числовых данных
- 2. Пользовательский тип данных
- Еще о создании пользовательских меню
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время
- 1.1.4. Турпродукт: виды, уровни, стадии создания
- Уровни логического нуля и единицы
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
- 2.3.1. Уровни физической модели
- Функциональные возможности и пользовательский интерфейс программы
- 12.5.8. Пользовательские журналы
- Применение пользовательских атрибутов