关于TDE和AlwaysOn可用性组的疑惑

时间:2016-03-29 16:52:13

标签: sql-server ssl encryption tde

这是我的第一篇文章,所以我要简短一点。 我有两个SQL 2014企业服务器;一个主副本和一个副副本。这是一个多租户部署,每个租户都有单独的数据库。 (没有共享数据库或共享架构)。我目前有一个AlwaysOn可用性组已启动并正在运行(更多要关注)。我有TDE要求。我有一个由我们的CA颁发的SSL证书。它安装在麻烦的SQL服务器上。我已将其转换为.PVK格式。我准备在两台服务器上使用相同的.PVK实现数据库加密

混乱的地方:

  1. 我是否必须将SSL证书缩略图导出到辅助服务器注册表,就像我在基于仲裁的普通故障转移群集中一样?
  2. 在从文件创建新的TDE证书之前,我必须在主SQL服务器上创建主密钥。我不明白辅助副本服务器如何影响这种情况。我需要在辅助服务器上访问加密的数据库。由于我处理不同的主数据库,我是否必须在辅助服务器上创建另一个主密钥?我还可以在辅助服务器上为TDE使用相同的.PVK证书吗?
  3. 我将不胜感激任何见解或指导。非常感谢。 DC

2 个答案:

答案 0 :(得分:0)

我不能回答第一部分,但第二部分的答案基本上就是你已经猜到的。使用与主服务器相同的规范在辅助服务器上创建新的主密钥,然后使用相同的证书。我找到了一个可以帮助您的Microsoft支持博客:DEMO

答案 1 :(得分:0)

因此,有助于了解TDE正在发生的事情以及所有活动部件的存在。让我们从底部开始,继续努力。

  1. 数据库加密密钥位于用户数据库中。当AG移动到另一个节点时,它将使用数据库进行故障转移。

  2. 加密密钥由位于master数据库中的服务器证书加密。为了在故障转移后对其进行解密,保护它的证书需要在尝试解密它的任何节点上可用。

  3. 证书通常受数据库主密钥(DMK)保护。由于master只是另一个数据库(虽然是一个特殊的数据库),它只需要一个DMK来保护证书。

  4. 虽然与此讨论无关,但DMK受服务主密钥(SMK)保护。安装实例时会为您生成SMK。如果您遇到的DMK需要在创建数据库的服务器以外的地方解密,请确保您拥有该SMK。我最近做的一件事是确保SMK在AG中的所有节点上匹配(使用backup service master keyrestore service master key)。这样,当用户数据库在节点之间发生故障时,SMK可以由新节点上的SMK自动解密(因为它是相同的SMK)。至于为什么它与此讨论无关,您的主数据库不会在节点之间失败。

  5. 至于需要将证书导入注册表,我根据自己的经验不必这样做。