Protection de votre propriété intellectuelle SQL Server

S’applique à :SQL Server

Les développeurs de logiciels demandent souvent comment distribuer leur application de données SQL Server aux clients, mais empêchent les clients d’analyser et de déconstructer leur application. La protection de votre propriété intellectuelle est un aspect juridique, et cette protection doit être stipulée dans votre contrat de licence. Lorsque SQL Server est installé sur un ordinateur que d’autres administrent, vous perdez par nature certains aspects du contrôle.

Nature du problème

Le propriétaire/administrateur d’un ordinateur peut toujours accéder à l’instance de SQL Server installée sur cet ordinateur. Si vous déployez votre application sur l’ordinateur d’un client, car elles sont des administrateurs, elles peuvent se connecter au serveur SQL Server en tant que membres du rôle serveur fixe sysadmin . Cela inclut la possibilité d’accorder des autorisations, de gérer les sauvegardes (y compris la restauration de sauvegardes sur d’autres ordinateurs), de déchiffrer et de déplacer des fichiers de données, etc. Pour plus d’informations, consultez Se connecter à SQL Server lorsque les administrateurs système sont verrouillés.

Les procédures stockées et les données peuvent être chiffrées, mais la structure de données ne peut pas être masquée, et les utilisateurs qui peuvent attacher un débogueur au processus serveur peuvent récupérer les procédures déchiffrées et les données en mémoire au moment de l’exécution.

Si les clients ne sont pas des administrateurs sur les ordinateurs, vous pouvez empêcher l’accès par les clients. Vous pouvez utiliser Transparent Data Encryption pour chiffrer les fichiers de données, vous pouvez chiffrer les sauvegardes et vous pouvez auditer les actions de tous les utilisateurs. Toutefois, les administrateurs et administrateurs SQL Server de l’ordinateur SQL Server peuvent inverser ces actions.

Solution

Il existe différentes façons de configurer l’accès aux données client sans installer SQL Server sur votre ordinateur client. Le plus simple est probablement d’utiliser Azure SQL Database afin que les clients ne soient pas administrateurs, peut-être en combinaison avec Always Encrypted. Pour plus d’informations sur la prise en main de SQL Database, consultez Qu’est-ce que SQL Database ? Présentation de SQL Database.

Vous pouvez également héberger un serveur SQL Server sur votre propre réseau et autoriser les clients à accéder aux données via votre réseau, directement ou via une application web.

Voir aussi

Centre de sécurité pour le moteur de base de données SQL Server et Azure SQL Database
Sécurisation de SQL Server