Protection de votre propriété intellectuelle SQL Server
S'applique à : SQL Server
Les développeurs de logiciel demandent souvent comment distribuer leur application de données SQL Server aux clients tout en empêchant ceux-ci d’analyser et de déconstruire 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 géré par d’autres personnes, vous perdez, par nature, certains aspects du contrôle.
Nature du problème
L’administrateur/propriétaire d’un ordinateur peut toujours accéder à l’instance de SQL Server qui est installée sur cet ordinateur. Si vous déployez votre application sur l’ordinateur d’un client, dans la mesure où celui-ci est administrateur, il peut se connecter à SQL Server en tant que membre du rôle serveur fixe du type administrateur système. Il peut notamment accorder des autorisations, gérer des sauvegardes (y compris la restauration de sauvegardes sur d’autres ordinateurs), déchiffrer et 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 du serveur SQL et les administrateurs de l’ordinateur SQL Server peuvent annuler ces actions.
Solution
Il existe plusieurs façons de configurer l’accès aux données du client sans installer SQL Server sur l’ordinateur client. Il serait probablement plus facile d’utiliser la base de données Azure SQL pour que les clients ne soient pas des administrateurs, éventuellement en combinaison avec Always Encrypted. Pour plus d’informations sur la manière de bien démarrer avec SQL Database, consultez Qu’est-ce que SQL Database ? Présentation de la SQL Database.
Vous pouvez également héberger un ordinateur SQL Server sur votre propre réseau, et autoriser les clients à accéder aux données par l’intermédiaire de votre réseau, soit directement, soit 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