Группы кода
Обновлен: Ноябрь 2007
Группа кода — это логическое объединение кодов, члены которого должны отвечать определенному условию. Любой код, удовлетворяющий этим условиям, включается в группу. Группы кода имеют связанные наборы разрешений, которые учитываются при применении политики. Администраторы настраивают политику безопасности, управляя группами кода и связанными с ними наборами разрешений.
В следующей таблице приведены условия членства в группе кода, предоставляемые средой .NET Framework. Условия членства реализованы как классы.
Условие членства |
Основание условия |
---|---|
Весь код |
Условие членства, которому соответствует любой код. |
Каталог приложения |
Каталог установки приложения. |
Криптографический хеш |
MD5, SHA1 или другой криптографический хеш. |
Издатель программного обеспечения |
Открытый ключ допустимой цифровой подписи Authenticode. |
Членство веб-узла |
HTTP, HTTPS и FTP-узел, являющийся источником кода. |
Строгое имя |
Строгая криптографическая подпись. |
URL-адрес |
URL-адрес источника кода, включая завершающий подстановочный знак; например, http://site/app/*. |
Зона |
Зона источника кода. |
Среда CLR использует идентифицирующие характеристики (свидетельство), описывающие код, чтобы определить, выполнены ли условия членства. Например, если условием членства для группы является "Код с веб-узла www.microsoft.com", среда выполнения проверяет свидетельство, чтобы определить, является ли источником кода веб-узел www.microsoft.com.
С каждой группой кода связан именованный набор разрешений. Группы кода могут также иметь атрибуты, которые влияют на то, как группа кода используется для определения политики безопасности.
Уровни политики предприятия, компьютера и пользователя представлены иерархией групп кода. Уровень домена приложения не может быть настроен административно, но у него есть иерархия групп кода, которая может быть установлена программным способом. Корнем каждой иерархии является группа, содержащая все коды. Эта группа имеет дочерние узлы, которые имеют собственные дочерние узлы и т. д. Если код является членом родительской группы кода, он может быть членом одной или нескольких дочерних групп кода. Если код не является членом родительской группы кода, он не может быть членом ни одной группы кода, производной от родительской группы.
У групп кода есть необязательные атрибуты описания и имени, которые можно просмотреть, используя средство настройки .NET Framework.