Атрибуты защиты узла и программирование интеграции СРЕДЫ CLR
Область применения:SQL Server
Среда CLR предоставляет механизм для анотации интерфейсов программирования управляемых приложений (API), входящих в платформу .NET Framework. Эти атрибуты могут быть заинтересованы в узле среды CLR, например SQL Server. Примеры таких атрибутов защиты сервера включают следующее:
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
, SelfAffectingProcessMgmnt
, SelfAffectingThreading
, SharedState
Synchronization
, SharedState
или UI
. Таким образом, сборки не могут вызывать члены, которые активируют общее состояние, выполняют синхронизацию, могут привести к утечке ресурсов при завершении или влияют на целостность процесса 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
- Создание сборки