<IPermission class='System.Security.Permissions.UIPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'

  Unrestricted='true' />

 <IPermission class='System.Net.WebPermission, System, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'>

  <ConnectAccess>

   <URI uri='(https|http)://intranet/.*'/>

  </ConnectAccess>

 </IPermission>

 <IPermission class='System.Net.DnsPermission, System, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'

  Unrestricted='true'/>

 <IPermission class='System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

  version='1'

  Level='DefaultPrinting' />

 <IPermission сlass='System.Diagnostics.EventLogPermission, System, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'>

  <Machine name='.' access='Instrument' />

 </IPermission>

 <IPermission class='System.Security.Permissions.SiteIdentityPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'

  Site='intranet' />

 <IPermission class='System.Security.Permissions.UrlIdentityPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'

  Url='http://intranet/assembly.dll' />

 <IPermission сlass='System.Security.Permissions.ZoneIdentityPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089'

  version='1'

  Zone='Intranet' />

</PermissionSet>

Success

Этот вывод показывает каждое из полномочий в виде кода XML, включая определяющий полномочие класс, содержащую класс сборку, версию полномочия и признак шифрования. Вывод предполагает, что можно создать свои собственные полномочия, больше об этом будет сказано позже. Можно также видеть, что каждое из полномочий идентичности содержит более подробную информацию, скажем, о классе UrlIdentityPermission, предоставляющем доступ к URL кода.

Отметим, что в начале вывода caspol.exe разрешает полномочия на уровнях Enterprise, Machine и User и затем перечисляет действующие представленные права. Теперь перейдем к этому вопросу.

Уровни политики: машина, пользователь и предприятие

До сих пор безопасность рассматривалась в контексте одной машины. Часто необходимо определить политику системы безопасности для определенных пользователей или для всей организации, и именно поэтому .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 не налагает никаких ограничений на уровне пользователя или предприятия, и реализованная политика диктуется исключительно политикой уровня машины. Например, если требуется применить более строгое полномочие

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату