【问题标题】:Does SQL Azure/ SQL Server Transparent Data Encryption encrypt .bacpac files?SQL Azure/SQL Server 透明数据加密是否加密 .bacpac 文件?
【发布时间】:2015-07-06 14:10:01
【问题描述】:

我正在研究在 SQL Azure 数据库上实施透明数据加密 (TDE)。 Azure 将备份创建为 .bacpac 文件。 TDE 的文档提到

“启用了 TDE 的数据库的备份文件也使用数据库加密密钥进行加密。”

文档没有具体提及 .bak 或 .bacpac 文件。有没有人有经验,更重要的是官方文档,TDE 将加密 .bacpac 文件?

任何指针和建议将不胜感激。

更新: 我可以在这里找到官方文档 TDE Azure 。在页面底部,它说 .bapacpac 文件未加密。

我觉得这是 SQL Azure 上 TDE 的一个巨大缺点,因为我非常喜欢在没有 TDE 中使用的证书/密钥的情况下防止 .bak 文件在另一台服务器上恢复的功能。

【问题讨论】:

  • TDE 的重点是数据在存储中是加密的,但对正常操作完全透明。备份只是获取您存储的数据并将它们压缩到一个文件中,因此它将保持加密状态。读取数据、在没有 TDE 和存档的情况下重新构建所有内容的工作将非常明显(CPU 和磁盘使用率都会非常高)。

标签: sql azure-sql-database


【解决方案1】:

.bak 和 .bacpac 文件非常不同。 .bak 文件是数据库文件页面的副本。 .bacpac 文件是通过编写 TSQL 语句的脚本来重新创建数据库的架构并使用批量导出来查询和导出所有表的行来创建的。请参阅“开始之前”下的 https://msdn.microsoft.com/en-us/library/hh213241.aspx 列表项 #2,以查看使用批量操作提取 .bacpac 文件数据。

TDE 通过加密数据库文件页面来工作,但将文件的内存版本保留为纯文本,以便可以查询它们。由于 .bak 文件是数据库文件页面的副本,因此它们是加密的。由于 .bacpac 文件中的数据是输出查询,因此它们是纯文本且未加密的,就像 bcp out 文件来自 TDE 数据库一样。

【讨论】:

  • 这是否意味着 SQL Azure v12 上的 TDE 不能“完全”实现?据我所知,SQL Azure 目前不支持创建 .bak 文件。所有备份都创建为 .bacpac 文件。因此,如果有人持有 bacpac 文件,他们可以将其恢复到另一台服务器,而无需用于实现 TDE 的证书/密钥?
  • .Bacpac 文件仅用于导出 Azure SQL 数据库。保留在 SQL 数据库中的所有副本、时间点备份、还原、异地复制等都受到保护。导出时,您可以使用导入和导出向导直接在加密卷上创建 .bacpac 文件,从而保护数据库文件的导出。
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
相关资源
最近更新 更多