Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Среда CLR предоставляет механизм для анотации интерфейсов программирования управляемых приложений (API), которые являются частью .NET Framework с определенными атрибутами, которые могут быть заинтересованы в узле среды CLR, например SQL Server, начиная с SQL Server 2005. Примеры таких атрибутов защиты сервера включают следующее:
SharedState
, указывающий, предоставляет ли API возможность создавать или управлять общим состоянием (например, поля статического класса).Synchronization
, указывающее, предоставляет ли API возможность выполнять синхронизацию между потоками.ExternalProcessMgmt
, который указывает, предоставляет ли API способ управления процессом узла.
Учитывая эти атрибуты, SQL Server указывает список HPAs, которые запрещены в размещенной среде с помощью безопасности доступа к коду (CAS). Требования К CAS задаются одним из трех наборов разрешений SQL Server: SAFE
, EXTERNAL_ACCESS
или UNSAFE
. Один из этих трех уровней безопасности указывается при регистрации сборки на сервере с помощью инструкции CREATE ASSEMBLY
. Код, выполняемый в SAFE
или EXTERNAL_ACCESS
наборы разрешений, должны избегать определенных типов или элементов, которые применяют атрибут System.Security.Permissions.HostProtectionAttribute
. Дополнительные сведения см. в разделе "Создание ограничениймодели программирования интеграции со сборкой и средой CLR".
Это HostProtectionAttribute
не разрешение на безопасность как способ повышения надежности, в том, что он определяет определенные конструкции кода, типы или методы, которые узел может запретить. Использование HostProtectionAttribute
применяет модель программирования, которая помогает защитить стабильность узла.
Атрибуты защиты хоста
HPAs определяют типы или члены, которые не соответствуют модели программирования узлов и представляют следующие растущие уровни угрозы надежности:
Во всем остальном являются безопасными.
Могут привести к дестабилизации управляемого сервером кода пользователя.
Могут привести к дестабилизации самого процесса сервера.
SQL Server запрещает использование типа или члена, имеющего HostProtectionAttribute
, указывающего перечисление System.Security.Permissions.HostProtectionResource
со значением ExternalProcessMgmt
, ExternalThreading
, MayLeakOnAbort
, SecurityInfrastructure
, SelfAffectingProcessMgmt
, SelfAffectingThreading
, SharedState
Synchronization
, SharedState
или . Таким образом, сборки не могут вызывать члены, которые активируют общее состояние, выполняют синхронизацию, могут привести к утечке ресурсов при завершении или влияют на целостность процесса SQL Server.
Запрещенные типы и члены
В следующих разделах определены типы и члены, значения которых HostProtectionResource
запрещены SQL Server.
Замечание
Списки в этих разделах были созданы из поддерживаемых сборок. Дополнительные сведения см. в статье "Поддерживаемые библиотеки .NET Framework".
В этом разделе
Запрещенные типы и члены в Microsoft.VisualBasic.dll
Приведены типы и элементы из файла Microsoft.VisualBasic.dll, для которых запрещены значения атрибутов защиты сервера.
Запрещенные типы и члены в mscorlib.dll
Приведены типы и элементы из файла mscorlib.dll, для которых запрещены значения атрибутов защиты сервера.
Запрещенные типы и члены в System.dll
Приведены типы и элементы из файла System.dll, для которых запрещены значения атрибутов защиты сервера.
Запрещенные типы и члены в System.Data.dll
Приведены типы и элементы из файла System.Data.dll, для которых запрещены значения атрибутов защиты сервера.
Запрещенные типы и члены в System.Core.dll
Приведены типы и элементы из файла System.Core.dll, для которых запрещены значения атрибутов защиты сервера.
См. также
Безопасность доступа к коду интеграции CLR
Ограничения модели программирования интеграции СРЕДЫ CLR
Создание сборки