Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Управляет интерпретацией SAFEили EXTERNAL_ACCESSUNSAFE разрешением в SQL Server. Дополнительные сведения об этих разрешениях см. в разделе "Конструктор сборок".
| значение | Описание |
|---|---|
0 |
Нетрудоспособный. Предоставляется для обратной совместимости. Установка этого значения 0 не рекомендуется, так как она может создать уязвимость безопасности. |
1 |
Включен. Вызывает ядро СУБД игнорировать PERMISSION_SET сведения о сборках и всегда интерпретировать их как UNSAFE. В SQL Server 2017 (14.x) и более поздних версиях 1 используется значение по умолчанию. |
Безопасность доступа к коду больше не поддерживается
Среда CLR использует управление доступом для кода (CAS) в .NET Framework, которое больше не поддерживается в качестве границы безопасности. Сборка СРЕДЫ CLR, созданная с PERMISSION_SET = SAFE возможностью доступа к ресурсам внешней системы, вызову неуправляемого кода и получению привилегий sysadmin. В SQL Server 2017 (14.x) и более поздних версиях clr strict security обрабатываются SAFE и EXTERNAL_ACCESS сборки, как если бы они помечены UNSAFE.
Рекомендуется подписать все сборки сертификатом или асимметричным ключом с соответствующим именем входа, предоставленным 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 разрешением на сервере.
Разрешения
Изменение этого параметра
Требуется CONTROL SERVER разрешение или членство в предопределенных ролях сервера sysadmin .
Создание сборки СРЕДЫ CLR
Следующие разрешения необходимы для создания сборки CLR, когда CLR strict security включена:
Пользователь должен иметь разрешение
CREATE ASSEMBLY.Одно из следующих условий также должно иметь значение true:
Сборка должна была подписана сертификатом или асимметричным ключом, имеющим соответствующее имя входа с разрешением
UNSAFE ASSEMBLYна сервере. Рекомендуется использовать подпись сборки.База данных имеет
TRUSTWORTHYсвойство со значениемONи базы данных, принадлежащие имени входа, имеющем разрешениеUNSAFE ASSEMBLYна сервере. Этот параметр использовать не рекомендуется.
Примеры
В следующем примере сначала отображается текущий clr strict security параметр параметра, а затем устанавливается значение 1 параметра (включено).
EXECUTE sp_configure 'clr strict security';
GO
EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO