在中,即使恶意用户访问了我的AWS帐户,我也想找到一种方法来保证该用户至少不能删除数据库、快照或自动备份中的一个。对任何实现这一点的方法都持开放态度。谢谢
最安全的选择是限制AWS帐户中哪些用户有权删除快照(甚至删除数据库(。
这样,如果IAM用户的登录被破坏,他们希望不会有造成损害的权限。
";正确的";然而,答案是使用Multi-Factor身份验证,这样未经授权的用户就无法访问您的AWS帐户
然而,如果您对";恶意用户";包括可能已经成为"受信任的工作人员"的受信任工作人员;坏";,那么这就更加困难了。一般规则是只为员工提供工作所需的访问权限。如果他们的工作包括删除快照的功能,那么很难取消这种访问权限。
一些公司将关键数据复制到另一个AWS帐户,很少有人能够访问这两个帐户。这样,就有了一个数据或配置的"备份",一个人无法(意外或故意(销毁。
您可以:
将数据转储到S3,然后使用冰川库
使用特定于数据库的工具(例如,pgdump(转储数据库,并将该文件上传到您控制的S3存储桶中。然后,将数据移动到冰川库并锁定它。使用冰川库锁定,您可以使在您选择的特定时间内无法删除文件。即使是你账户的超级管理员也无法做到这一点。如果AWS本身以某种方式受到损害,这些数据就会丢失。看见https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html#vault-锁定概述
作为替代方案,您可以尝试S3功能的新快照https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.html结合上述技术。缺点是数据被转换为Parquet,所以我不知道从那种快照恢复数据库有多容易。
将快照复制到非常受限的、仅备份的帐户
有一个单独的AWS帐户用于备份,权限受到严格限制,并在那里复制快照:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html
";单独账户";这种模式是冰川拱顶存在之前的道路。但从技术上讲,保护它仍然是你的责任——只是这样做要容易得多。
必须设置适当的跨帐户权限,以便可以将快照复制到备份帐户或从备份帐户复制快照,但不能删除快照。