【问题标题】:How to protect access to Elastic Beanstalk resources + security advices?如何保护对 Elastic Beanstalk 资源的访问 + 安全建议?
【发布时间】:2013-04-23 17:16:31
【问题描述】:

我正在使用 Elastic Beanstalk 以及用于自动创建一些环境资源(如 SQS 队列)的新功能。这确实很方便,但是有一个问题:如果我“终止”环境,所有相关资源也会被删除。

我觉得这真的很危险,虽然我是唯一一个管理这个帐户的人,但我总是会喝醉(哈哈),或者在 CLI 中输入错误的命令,或者当然,有人可能会窃取我的帐户。

可能是我有点偏执,但到目前为止我已经找到了一些策略,我想知道哪个最好:

1)给自己新建一个IAM只读用户,并为主账户(master)设置双因素认证,这样如果我需要创建资源,绝对需要登录master帐户安全性更高。

2) 防止 Beanstalk 创建的主 EC2 实例终止。如果我这样做了,我就不能再错误地终止 Beanstalk 环境了。我的问题是:弹性负载均衡器的优点之一是它可以关闭不健康的实例并启动新的实例。但是,如果将一个实例设置为“不允许终止”会怎样?负载均衡器能否绕过这个并仍然创建一个新实例?

3) 两者都做?

通常,关于该主题的最佳做法是什么?

感谢您的回答!

【问题讨论】:

  • 您是在实例创建期间使用.ebextensions 执行此操作,还是使用带有eb 或类似的自定义配置文件?另外,您能否概述一下您正在创建的资源,您希望在何时以及在终止环境时保留哪些资源?
  • 是的,我正在使用 .ebextensions 创建一个 SQS 队列(当前)。我还使用通过 Beanstalk 自动创建的 RDS(但是,如果 Beanstalk 终止,可以选择不删除关联的 RDS 资源,但是对于 .ebextensions 中指定的资源没有此类选项)

标签: amazon-web-services termination amazon-elastic-beanstalk


【解决方案1】:

很遗憾,SQS 队列不支持终止保护。

在您的两个选项中,我肯定会选择 1),因为 2) 不能完全保护 EB 集群不被删除。

说明:

1) 我建议为日常任务设置一个单独的 IAM 用户,并使用双重身份验证保护主账户,并使用它来启动/关闭新的 EB 集群。

2) 即使您使用终止保护保护主要 EC2 实例,与 EB 环境相关的其他关键资源仍将被终止,例如负载均衡器、自动扩展组和 SNS 主题。

我认为最简单的解决方案仍然是遵循“瞄准两次,射击一次”的理念,尽管 IAM 帐户的政策不允许其终止实例、EB 环境、删除 EB 应用程序等在暂时的精神错乱的时候,这将是你对自己的可靠保护。

希望这会有所帮助!

【讨论】:

  • 嗨,谢谢,它有很大帮助。我已经使用此策略完成了以下用户组,因此我无法终止或删除任何内容:gist.github.com/bakura10/da100327710b0c394d41 你看起来不错吗?
  • 我正在尝试,我喜欢它。我需要登录 root 用户来初始创建 Beanstalk 环境,然后我可以使用 IAM 帐户进行大部分管理,除了终止/删除所有内容。对我来说听起来很理智。
猜你喜欢
  • 2012-07-18
  • 1970-01-01
  • 2016-12-23
  • 2015-05-07
  • 2017-08-01
  • 2021-01-14
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多