Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Deweloperzy oprogramowania często pytają, jak dystrybuować swoją aplikację danych programu SQL Server do klientów, jednocześnie uniemożliwiając klientom analizowanie i dekonstrukcję aplikacji. Kluczową zasadą jest to, że ochrona własności intelektualnej jest kwestią prawną, a ochrona spoczywa na umowie licencyjnej. Gdy program SQL Server jest zainstalowany na komputerze, który inni administrowają, z natury utracisz pewne aspekty kontroli.
Charakter problemu
Właściciel lub administrator komputera zawsze może uzyskać dostęp do wystąpienia programu SQL Server zainstalowanego na tym komputerze. Jeśli wdrażasz aplikację na komputerze klienta i są oni administratorami, mogą łączyć się z programem SQL Server jako członkowie stałej roli serwera sysadmin. Obejmuje to możliwość udzielania uprawnień, zarządzania kopiami zapasowymi (w tym przywracania kopii zapasowych na innych komputerach), odszyfrowywania i przenoszenia plików danych i nie tylko. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z programem SQL Server, gdy administratorzy systemu są zablokowani.
Procedury składowane i dane mogą być szyfrowane, ale struktura danych nie może być ukryta, a użytkownicy, którzy mogą dołączyć debuger do procesu serwera, mogą pobierać odszyfrowane procedury i dane z pamięci w czasie wykonywania.
Jeśli klienci nie są administratorami na komputerach, możesz uniemożliwić dostęp klientom. Funkcja Transparent Data Encryption umożliwia szyfrowanie plików danych, szyfrowanie kopii zapasowych i inspekcję akcji wszystkich użytkowników. Jednak administratorzy programu SQL Server i administratorzy komputera z programem SQL Server mogą cofnąć te akcje.
Rozwiązanie
Istnieją różne sposoby konfigurowania dostępu do danych klienta bez instalowania programu SQL Server na komputerze klienckim. Najłatwiej jest używać usługi Azure SQL Database, więc klienci nie są administratorami, być może w połączeniu z funkcją Always Encrypted. Aby uzyskać więcej informacji na temat rozpoczynania pracy z usługą SQL Database, zobacz Co to jest usługa Azure SQL Database?.
Możesz również hostować program SQL Server we własnej sieci i zezwolić klientom na dostęp do danych za pośrednictwem sieci, bezpośrednio lub za pośrednictwem aplikacji internetowej.