Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Среда 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
в действие вводится модель программирования, которая позволяет защитить стабильность сервера.
Атрибуты защиты сервера
Атрибуты защиты сервера определяют типы или элементы, которые не подходят для серверной модели программирования и представляют следующие возрастающие уровни угрозы надежности:
Во всем остальном являются безопасными.
Могут привести к дестабилизации управляемого сервером кода пользователя.
Могут привести к дестабилизации самого процесса сервера.
SQL Server запрещает использование типа или члена HostProtectionAttribute
с элементом , указывающим System.Security.Permissions.HostProtectionResource
перечисление со значением ExternalProcessMgmt
, ExternalThreading
, MayLeakOnAbort
, SecurityInfrastructure
, SelfAffectingProcessMgmnt
, SelfAffectingThreading
, SharedState
, , , Synchronization
, или 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
Создание сборки