始终加密数据库的独家客户端应用程序

时间:2018-01-19 10:58:47

标签: sql-server encryption always-encrypted

SQL Server 2016,使用证书加密,始终加密。为了使客户端应用程序能够接收解密数据,只需在PC上安装证书,并使用ColumnEncryption = Enabled;连接字符串即可。

但这意味着在该PC上任何应用程序都可以访问数据库 - 只需知道连接字符串即可。如何确保安装了证书的PC上只有一个/某个应用程序访问数据库及其解密数据?

1 个答案:

答案 0 :(得分:0)

有一种方法,连接字符串中的应用程序名称。restricting-access-to-database-by-application-name-andor-host-name-in-sql-server

CREATE TRIGGER RestrictAccessPerApplication
ON ALL SERVER
FOR LOGON
AS
BEGIN
      IF
      (PROGRAM_NAME() = 'Microsoft® Access' AND HOST_NAME() = 'WORKSTATION_01')
      BEGIN
            ROLLBACK;
      END
END

但我不认为这对这类敏感应用程序有好处。