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

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

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

Управление системой безопасности NET Framework осуществляется с помощью настраиваемого набора правил, который называется политикой безопасности. Эта политика позволяет конечному пользователю или администратору задавать параметры, которые определяют, к каким ресурсам коду разрешен доступ, и в конечном счете указывают, какой код вообще можно запускать.

Предположим, например, что администратор корпоративной сети не доверяет программному обеспечению, получаемому из некоторой компании. Возможно, производимые ею программные продукты сотрудники находят занимательными, но они увеличивают сетевой трафик и становятся причиной неустойчивого функционирования рабочих станций. Можно установить политику безопасности уровня предприятия, которая ограничивает доступ к ресурсам компьютера со стороны программы с конкретным криптографическим строгим именем (уникальным идентификатором программы). Также можно установить политику, которая полностью воспрепятствует запуску программного обеспечения данного издателя.

В этом разделе приводится обзор администрирования политик безопасности. Дополнительные сведения см. в разделе Управление политикой безопасности.

Свидетельства, группы кода и наборы разрешений

Код, предназначенный для среды CLR, развертывается в виде блоков, именуемых сборками. Во время загрузки среда выполнения исследует каждую сборку на предмет наличия свидетельства — набора идентификационных данных о сборке (таких как цифровая подпись автора кода и место, из которого код был получен). На основании свидетельства диспетчер безопасности среды CLR отображает сборку в группу кода, созданную в соответствии с политикой безопасности. Группы кода формируются для проверки конкретных видов свидетельств; с ними сопоставляются наборы разрешений. Сборки, принадлежащие к группе кода, получают разрешения, определяемые соответствующими наборами разрешений. Дополнительные сведения о свидетельствах, группах кода и наборах разрешений см. в разделе Модель политики безопасности.

Разрешения

Разрешения представляют собой попросту объекты, предоставляющие права доступа к защищенному ресурсу. Разрешения допускают настройку; один и тот же объект разрешения может принимать различные формы. Например, разрешение FileIOPermission предоставляет права доступа, создания, чтения, записи или изменения файлов на локальном жестком диске. Разрешение должно содержать определенные сведения о типе представляемого им доступа. Объект FileIOPermission можно настроить таким образом, чтобы он предоставлял право на чтение конкретного файла, чтение и запись конкретного файла или чтение файлов в пределах всего каталога. Администратор компьютера может полностью настраивать права, предоставляемые разрешением и получаемые сборками. Приложения могут создавать и настраивать объекты разрешений (как и любые другие объекты), но предоставить разрешение приложению может только политика безопасности. В конечном счете предоставление разрешений контролируется администраторами. Перечень основных разрешений см. в разделе Разрешения на доступ для кода.

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

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

Уровень политики

Описание

Политика предприятия

Определяется администратором сети предприятия, который устанавливает политику для доменов предприятия.

Политика компьютера

Определяется администраторами компьютеров, которые устанавливают политику для одного компьютера.

Политика пользователя

Определяется пользователями, устанавливающими политику для одной учетной записи входа в систему.

Политика домена приложения

Определяется узлом среды выполнения (любым приложением, в котором размещается среда CLR) для установки политики во время загрузки. Этот уровень не подлежит администрированию.

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

Ниже перечислены параметры политики безопасности, используемые по умолчанию.

  • Уровни пользователя и предприятия устанавливаются без ограничений.

  • Уровень компьютера содержит конкретные параметры и ограничения политики.

  • Параметры, определенные всеми тремя уровнями, составляют набор параметров по умолчанию.

Следует заметить, что отсутствие ограничений на уровнях пользователя и предприятия не означает, что сборке предоставляются неограниченные права. Поскольку уровень компьютера определяет несколько ограничений и все три уровня рассматриваются как единое целое, предоставленное в итоге разрешение не является неограниченным. Дополнительные сведения см. в разделе Модель политики безопасности.

Сопоставление групп кода и наборов разрешений

Управление политикой осуществляется посредством сопоставления групп кода с наборами разрешений на администрируемом уровне (уровнях) политики.

Группа кода содержит условие членства, указатель на набор разрешений и атрибуты группы кода. Свидетельство, предъявляемое сборкой среде выполнения, сравнивается с условием членства, установленным для группы кода. Если свидетельство соответствует условию членства, сборке предоставляется право вступления в группу кода. Администраторы распознают сборки и распределяют их по группам кода, задавая условия членства и назначая этим группам кода наборы разрешений. Можно также использовать атрибуты группы кода, которые позволяют указать, что на текущем уровне политики не должен учитываться ни один из более низких уровней или что при назначении разрешений не должны учитываться никакие группы кода, кроме текущей.

В качестве условий членства могут использоваться следующие типы встроенных свидетельств:

  • каталог установки приложения;

  • криптографический хэш-код сборки;

  • цифровая подпись издателя сборки;

  • веб-узел, с которого поступает сборка;

  • криптографическое строгое имя сборки;

  • URL-адрес источника сборки;

  • зона, из которой поступает сборка.

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

См. также

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

Управление доступом для кода

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

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

Настройка политики безопасности

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