考虑在 Azure 中启用透明数据加密并使用Azure Key Vault进行密钥管理的 SQL Server 。数据在 <whatever> 国家/地区的 Azure 数据中心进行静态加密,但 Key Vault 位于客户自己的数据中心内。应用程序(也托管在 Azure 中,因此物理放置在 <whatever> 国家/地区)可以在成功往返 Key Vault 后访问数据库。
- 数据访问绑定到哪个实体(哪个实体持有对称密钥)?是保存对称密钥的数据库,以便所有传入连接都能够看到未加密的数据吗?还是每个连接都存储密钥,以便在建立每个新连接时数据库重新连接到 Key Vault?
- 我们希望能够仅通过关闭本地 Key Vault 来关闭数据库访问。即:无论数据中心发生什么情况,始终可以从 Key Vault 停止对云中的数据访问。数据只能被解密,因为密钥被缓存在某处。我们是否可以强制缓存在 X 秒后超时,从而强制数据库重新连接到 Key Vault 并再次请求密钥?这将允许我们关闭 Key Vault,在这些 X 秒后使数据变得无用。