Строгая безопасность среды CLR
Область применения: SQL Server
Управляет интерпретацией SAFE
разрешения , EXTERNAL ACCESS
UNSAFE
разрешения в 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»
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру