我正在设置EC2实例和Amazon RDS数据库来托管.NET网站。我希望我的第三方网站管理员能够处理其设置,但是一旦他完成设置并且网站正在运行,我想完全删除他对EC2和RDS的访问权限。
我想让他访问的是EC2中的RDP,具有root访问权限,以防他需要安装额外的软件以及在RDS中创建和编辑SQL数据库中的表的能力。他在管理和修改EC2 / RDS实例方面没有任何作用。
我已尝试与群组分配IAM访问权限但我无法弄清楚如何在我完成设置Web服务器和SQL数据库后删除他时保留超级用户访问权限。如果我保持超级用户访问权限,即使我将其从IAM中移除,我如何给予他临时可撤销访问权限?
答案 0 :(得分:3)
Amazon IAM无法帮助您完成您想要做的事情。
当您想要通过AWS管理控制台和/或AWS API限制和/或允许访问资源的上层管理时,使用IAM。
但是,您要做的是控制对资源内部的访问(EC2实例和RDS实例)。对于这些,您需要使用自己的内部安全控件来执行它们:
对于您的RDS实例,请创建一个具有足够权限的非管理员用户,以完成他们想要执行的操作。例如,如果您的RDS实例是MySQL,则为它们提供INSERT,SELECT,UPDATE,DELETE,CREATE TABLE等权限。不要让他们能够创建/修改用户或任何类似的管理员。最佳做法是尽可能少地授予他们权限,并在他们要求时添加权限(如果您认为没问题)。
对于您的EC2实例,请不要授予他们root权限。专门为您的网站管理员创建一个非root用户。为该用户提供“足够”的权限来安装网站。不允许他们使用yum
或apt
。相反,如果他们需要它,他们应该告诉你,你可以以root身份做到。
在这两种情况下,一旦您的网站管理员完成,请删除他们的用户并关闭他们的安全组。
永远不要给第三方提供root / admin访问权限。原因有很多,但主要原因是: