2017-10-16 115 views
1

我一直在阅读有关MongoDB中的静态数据加密功能的信息。我知道纯文本数据使用数据库密钥加密,并存储在磁盘中。可以说任何DBA连接到数据库并执行查询以从数据库中检索数据。此数据是否以解密形式提供。提示DBA输入密钥的操作是否受到任何限制?如果启用了加密,mongoDB是否会限制DBA访问加密数据

回答

1

Mongo的“加密存储引擎”仅在文件级别加密数据。这意味着它在写入数据库存储文件时被加密并在读取时被解密。

在数据库级别(以及传输级别)上,数据仍然是普通数据。因此,无论数据库是否加密,任何DBA都不会看到差异。

这种类型的加密旨在防止当某人管理访问Mongo服务器存储数据库文件的文件系统数据(或其备份)时数据被盗用/泄漏。

你在找什么是“应用程序级加密”解决方案。通常这样的解决方案将被整合到你的“数据库客户端应用程序”中(从Mongo Server的角度来看)。

+0

在这个链接https://www.mongodb.com/blog/post/securing-mongodb-part-3-database-auditing-and-encryption中,提到“这个新的存储引擎提供了额外的级别防御,只允许具有适当数据库凭证的员工访问加密数据。“ 。所以,我想知道是否有任何限制可以放在DBA上。 – user2702700

+0

您误解了这句话:这意味着“任何拥有访问凭据的人都可以读取凭据授予访问权限的所有数据”。 DBA拥有管理员凭据,可以读取/写入数据库中的每个数据。在Mongo中没有什么比如“拒绝访问权限”。正如我写的,您需要额外的应用程序级加密以防止DBA访问数据。 – Robert