我有一个存储敏感信息的数据库列。它通过 ruby gem strongbox加密和存储。每小时我都有一项工作来清除“过期”(超过 24 小时)的行。
这一切都很好,但是当我进行数据库备份时问题就来了。这些列中的数据永远不会被清除。我觉得这并不像我曾经想象的那样安全。
将信息存储在具有自动到期日期的数据库列中的最佳方式是什么?
我有一个存储敏感信息的数据库列。它通过 ruby gem strongbox加密和存储。每小时我都有一项工作来清除“过期”(超过 24 小时)的行。
这一切都很好,但是当我进行数据库备份时问题就来了。这些列中的数据永远不会被清除。我觉得这并不像我曾经想象的那样安全。
将信息存储在具有自动到期日期的数据库列中的最佳方式是什么?
此时最简单的选择可能是将敏感列移动到其自己的数据库表(通过外键链接)并将其从备份中排除,如下所示: Skip certain tables with mysqldump
当然,最好的方法可能是根本不存储敏感信息。让符合 PCI 的服务为您完成这项肮脏的工作。