控制第三方的EC2和RDS访问

时间:2015-06-22 11:18:29

标签: amazon-web-services amazon-ec2 uac amazon-rds amazon-iam

我正在设置EC2实例和Amazon RDS数据库来托管.NET网站。我希望我的第三方网站管理员能够处理其设置,但是一旦他完成设置并且网站正在运行,我想完全删除他对EC2和RDS的访问权限。

我想让他访问的是EC2中的RDP,具有root访问权限,以防他需要安装额外的软件以及在RDS中创建和编辑SQL数据库中的表的能力。他在管理和修改EC2 / RDS实例方面没有任何作用。

我已尝试与群组分配IAM访问权限但我无法弄清楚如何在我完成设置Web服务器和SQL数据库后删除他时保留超级用户访问权限。如果我保持超级用户访问权限,即使我将其从IAM中移除,我如何给予他临时可撤销访问权限?

1 个答案:

答案 0 :(得分:3)

Amazon IAM无法帮助您完成您想要做的事情。

当您想要通过AWS管理控制台和/或AWS API限制和/或允许访问资源的上层管理时,使用IAM。

但是,您要做的是控制对资源内部的访问(EC2实例和RDS实例)。对于这些,您需要使用自己的内部安全控件来执行它们:

  1. 对于您的RDS实例,请创建一个具有足够权限的非管理员用户,以完成他们想要执行的操作。例如,如果您的RDS实例是MySQL,则为它们提供INSERT,SELECT,UPDATE,DELETE,CREATE TABLE等权限。不要让他们能够创建/修改用户或任何类似的管理员。最佳做法是尽可能少地授予他们权限,并在他们要求时添加权限(如果您认为没问题)。

  2. 对于您的EC2实例,请不要授予他们root权限。专门为您的网站管理员创建一个非root用户。为该用户提供“足够”的权限来安装网站。不允许他们使用yumapt。相反,如果他们需要它,他们应该告诉你,你可以以root身份做到。

  3. 在这两种情况下,一旦您的网站管理员完成,请删除他们的用户并关闭他们的安全组。

    永远不要给第三方提供root / admin访问权限。原因有很多,但主要原因是:

    1. 使用root访问权限,您的网站管理员可以创建其他用户和/或后门,即使在您撤消访问权限后也可以访问这些用户和/或后门。不要给他们这样做的机会。
    2. 由于您负责这些资源,您应该了解对它们所做的一切:所有创建的用户,所有已安装的软件等。