有人向我提出要求。我们的一位开发人员希望能够将信息存储在数据库中,但是一旦存在就需要对其进行加密,这样如果任何人获得数据库的副本或访问其中的原始数据,他们将无法读取它。只有通过 SSO 通过应用程序进行身份验证后,您才应该能够读取数据。
他似乎认为为此有一个简单的功能,他可以从应用程序调用并解密加密...
我告诉他这里需要像 TDE 这样的东西,这需要一些时间来设置。我没有这方面的经验,所以这将是一个学习曲线....
简而言之,要求是在数据库遭到黑客攻击、被盗或丢失时保护敏感信息。
有任何想法吗?或者 TDE 是可行的方法吗?
这是一个非常广泛的要求。
加密是以 CPU 周期为代价的,因此如果结果对您的应用程序性能来说是可以接受的,那么最好对您的应用程序进行负载测试。
有一些领域需要探索,它们的组合会让你想要你想要的。
sys.dm_exec_connections
--> columnencrypt_option
will beTRUE
。另一方面,确保您遵循有关 sql server 服务帐户、登录和用户、端口分配等的安全最佳实践(警告:它的文档!)。