Proteger su propiedad intelectual de SQL Server
Se aplica a: SQL Server
Los desarrolladores de software a menudo preguntan cómo pueden distribuir su aplicación de datos SQL Server a los clientes y a la vez evitar que la analicen y deconstruyan. En esta situación, lo esencial es proteger su propiedad intelectual. Se trata de un problema legal y la protección correspondiente reside en su contrato de licencia. Si SQL Server está instalado en un equipo administrado por terceros, usted pierde algunos aspectos de control de forma inherente.
Naturaleza del problema
El propietario o administrador de un equipo puede acceder en todo momento a la instancia de SQL Server instalada en dicho equipo. Si implementa la aplicación en el equipo de un cliente, como es un administrador, se lo podrá conectar a SQL Server como miembro del rol fijo de servidor sysadmin. Esto incluye la capacidad de conceder permisos, administrar copias de seguridad (incluida la restauración de copias de seguridad en otros equipos), descifrar y mover archivos de datos, etc. Para más información, consulte Conectarse a SQL Server cuando los administradores del sistema están bloqueados.
Los procedimientos y datos almacenados pueden estar cifrados, pero la estructura de datos no puede estar oculta y los usuarios que puedan adjuntar un depurador al proceso del servidor pueden recuperar procedimientos y datos descifrados de la memoria en tiempo de ejecución.
Si los clientes no son administradores de los equipos, puede impedirles el acceso. Puede usar un cifrado de datos transparente para cifrar los archivos de datos, puede cifrar las copias de seguridad y puede auditar las acciones de todos los usuarios. Sin embargo, los administradores de SQL Server y los administradores del equipo de SQL Server pueden revertir estas acciones.
Solución
Hay varias maneras de configurar el acceso a los datos de los clientes sin necesidad de instalar SQL Server en el equipo del cliente. Es probable que la más sencilla sea usar Azure SQL Database para que los clientes no sean administradores, tal vez conjuntamente con Always Encrypted. Para obtener más información para empezar a trabajar con SQL Database, consulte ¿Qué es SQL Database? Introducción a SQL Database.
También puede hospedar un sistema SQL Server en su propia red y permitir a los clientes acceder a los datos a través de su red, ya sea directamente o a través de una aplicación web.
Consulte también
Centro de seguridad para el Motor de base de datos de SQL Server y Azure SQL Database
Proteger SQL Server