Бөлісу құралы:


Строгая безопасность среды CLR

Область применения: SQL Server

Управляет интерпретацией SAFEразрешения , EXTERNAL ACCESSUNSAFE разрешения в SQL Server.

значение Описание
0 Disabled: обеспечивает обратную совместимость. Использование значение Disabled не рекомендуется.
1 Включено. Вызывает ядро СУБД игнорировать PERMISSION_SET сведения о сборках и всегда интерпретировать их как UNSAFE. Enabled — значение по умолчанию, начиная с SQL Server 2017 (14.x).

Предупреждение

Среда CLR использует управление доступом для кода (CAS) в .NET Framework, которое больше не поддерживается в качестве границы безопасности. Сборки среды CLR, созданные с помощью PERMISSION_SET = SAFE, могут получать доступ к внешним системным ресурсам, вызывать неуправляемый код и получать права системного администратора. Начиная с SQL Server 2017 (14.x), sp_configure вызывается clr strict security параметр для повышения безопасности сборок СРЕДЫ CLR. clr strict security включен по умолчанию и рассматривает сборки SAFE и EXTERNAL_ACCESS, как если бы они были помечены UNSAFE. Параметр clr strict security можно отключить для обеспечения обратной совместимости, но это делать не рекомендуется. Корпорация Майкрософт рекомендует подписывать все сборки с помощью сертификата или асимметричного ключа с соответствующим именем входа, которому предоставлено разрешение UNSAFE ASSEMBLY в базе данных master. Администраторы SQL Server также могут добавлять сборки в список сборок, которым должен доверять ядро СУБД. Дополнительные сведения см. в разделе sys.sp_add_trusted_assembly.

Замечания

Если параметр PERMISSION_SET включен, операторы CREATE ASSEMBLY и ALTER ASSEMBLY игнорируются во время выполнения, а параметры PERMISSION_SET сохраняются в метаданных. Игнорирование параметра минимизирует сбои в выполнении имеющихся в коде операторов.

Аргумент CLR strict security имеет тип advanced option.

Внимание

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

Разрешения

Изменение параметра

Требует разрешения sysadmin или членства в предопределенной роли сервера CONTROL SERVER.

Создание сборки среды CLR

Для создания сборки среды CLR при включении CLR strict security требуются следующие разрешения:

  • Пользователь должен иметь разрешение CREATE ASSEMBLY.
  • И одно из следующих условий также должно быть верным:
    • Сборка должна была подписана сертификатом или асимметричным ключом, имеющим соответствующее имя входа с разрешением UNSAFE ASSEMBLY на сервере. Рекомендуется использовать подпись сборки.
    • База данных имеет TRUSTWORTHY свойство со значением ON и базы данных, принадлежащие имени входа, имеющем разрешение UNSAFE ASSEMBLY на сервере. Использовать этот параметр не рекомендуется.

См. также

Параметры конфигурации сервера (SQL Server)
sp_configure (Transact-SQL)
Параметр конфигурации сервера «clr enabled»