保護 SQL Server 智慧財產權
適用於:SQL Server
軟體開發人員通常會問,要如何將其 SQL Server 資料應用程式散發給客戶,同時防止客戶分析和解構其應用程式。 這裡的重要原則在於保護智慧財產權、本身為法律問題,而且透過授權合約進行保護。 在其他人所管理的電腦上安裝 SQL Server 時,原本就會遺失一些控制權。
問題本質
電腦的擁有者/系統管理員一律可以存取該電腦上安裝的 SQL Server 執行個體。 如果您將應用程式部署到客戶的電腦,因為他們是系統管理員,所以可以使用 sysadmin 固定伺服器角色成員的身分連線到 SQL Server。 這包括可以授與權限、管理備份 (包括將備份還原到其他電腦)、解密以及移動資料檔案等等。如需詳細資訊,請參閱 當系統管理員遭到鎖定時連接到 SQL Server。
預存程序和資料可以進行加密,但無法隱藏資料結構,而且將偵錯工具附加至伺服器處理序的使用者可以在執行階段從記憶體中擷取已解密的程序和資料。
如果用戶端不是電腦上的系統管理員,則您可以防止用戶端進行存取。 您可以使用透明資料加密來加密資料檔案、加密備份,以及稽核所有使用者的動作。 但 SQL Server 系統管理員以及 SQL Server 電腦的系統管理員可以反轉這些動作。
解決方法
不需要在用戶端電腦上安裝 SQL Server,就可透過各種方式設定用戶端資料存取。 最簡單的方法可能是使用 Azure SQL Database,讓用戶端不會成為管理員,也許可以搭配使用 Always Encrypted。 如需有關 SQL Database 使用者入門的詳細資訊,請參閱什麼是 SQL Database?SQL Database 簡介。
您也可以在自己的網路上裝載 SQL Server,並允許用戶端直接或透過 Web 應用程式在網路上存取資料。
另請參閱
SQL Server Database Engine 和 Azure SQL Database 的資訊安全中心
保護 SQL Server 的安全