Защита интеллектуальной собственности SQL Server

Применимо к:SQL Server

Разработчики программного обеспечения часто спрашивают, как распределять свое приложение данных SQL Server клиентам, а также предотвращать анализ и деконструкцию приложения клиентами. Ключевым аргументом в данном случае является защита интеллектуальной собственности, которая обеспечивается лицензионным соглашением. При установке SQL Server на компьютере, который другой администрирует, вы по сути теряете некоторые аспекты управления.

Суть проблемы

Владелец или администратор компьютера всегда может получить доступ к экземпляру SQL Server, установленному на этом компьютере. При развертывании приложения на компьютере клиента, так как они являются администраторами, они могут подключаться к SQL Server в качестве членов предопределенных ролей сервера sysadmin . Сюда входит возможность предоставлять разрешения, управлять резервными копиями (включая восстановление резервных копий на других компьютерах), расшифровывать и перемещать файлы данных и т. д. Дополнительные сведения см. в статье "Подключение к SQL Server при блокировке системных администраторов".

Хранимые процедуры и данные можно зашифровать, но скрыть структуру данных невозможно, и пользователи, у которых есть право на подключение отладчика к серверному процессу, могут получить расшифрованные процедуры и данные из памяти во время выполнения.

Если клиенты не являются администраторами компьютеров, вы можете ограничить их доступ. Вы можете зашифровать резервные копии и файлы данных с помощью прозрачного шифрования данных, а также производить аудит действий всех пользователей. Но администраторы и администраторы SQL Server компьютера SQL Server могут отменить эти действия.

Решение

Существует различные способы настройки доступа к данным клиента без установки SQL Server на компьютере клиентов. Проще всего использовать базу данных SQL Azure, поэтому клиенты не являются администраторами, возможно, в сочетании с Always Encrypted. Дополнительные сведения о начале работы с базой данных SQL см. в статье "Что такое база данных SQL" Общие сведения о базе данных SQL.

Вы также можете разместить SQL Server в собственной сети и разрешить клиентам доступ к данным через сеть напрямую или через веб-приложение.

См. также

Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQL
Обеспечение безопасности SQL Server