Schutz Ihres geistigen SQL Server-Eigentums

Gilt für:SQL Server

Softwareentwickler fragen häufig, wie sie ihre SQL Server-Datenanwendung an Kunden verteilen und dennoch verhindern, dass Kunden ihre Anwendung analysieren und deconieren. Entscheidend hierbei ist, dass der Schutz Ihres geistigen Eigentums ein rechtliches Problem und Teil Ihres Lizenzvertrags ist. Wenn SQL Server auf einem Computer installiert ist, den andere verwalten, verlieren Sie inhärent einige Aspekte der Kontrolle.

Ursache des Problems

Der Besitzer/Administrator eines Computers kann immer auf die Instanz von SQL Server zugreifen, die auf diesem Computer installiert ist. Wenn Sie Ihre Anwendung auf dem Computer eines Kunden bereitstellen, da sie Administratoren sind, können sie eine Verbindung mit SQL Server als Mitglieder der festen Serverrolle "sysadmin " herstellen. Dies umfasst die Möglichkeit, Berechtigungen zu erteilen, Sicherungen zu verwalten (einschließlich der Wiederherstellung von Sicherungen auf anderen Computern), Entschlüsseln und Verschieben von Datendateien usw. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server, wenn Systemadministratoren gesperrt sind.

Gespeicherte Prozeduren und Daten können verschlüsselt, die Datenstruktur jedoch nicht ausgeblendet werden. Benutzer, die einen Debugger an den Serverprozess anfügen können, können entschlüsselte Prozeduren und Daten zur Laufzeit vom Arbeitsspeicher abrufen.

Wenn die Clients keine Administratoren auf dem Computer sind, können Sie ihren Zugriff verhindern. Mit Transparente Datenverschlüsselung können Sie Datendateien verschlüsseln, Sicherungen verschlüsseln und die Aktionen aller Benutzer überwachen. Sql Server-Administratoren und Administratoren des SQL Server-Computers können diese Aktionen jedoch umkehren.

Lösung

Es gibt verschiedene Möglichkeiten zum Konfigurieren des Clientdatenzugriffs, ohne SQL Server auf Ihrem Clientcomputer zu installieren. Am einfachsten ist die Verwendung der Azure SQL-Datenbank, sodass die Clients keine Administratoren sind, vielleicht in Kombination mit Always Encrypted. Weitere Informationen zu den ersten Schritten mit der SQL-Datenbank finden Sie unter Was ist SQL-Datenbank? Einführung in die SQL-Datenbank.

Sie können auch einen SQL Server in Ihrem eigenen Netzwerk hosten und Clients den Zugriff auf Daten über Ihr Netzwerk ermöglichen, entweder direkt oder über eine Webanwendung.

Weitere Informationen

Sicherheitscenter für SQL Server-Datenbank-Engine und Azure SQL-Datenbank
Sichern von SQL Server