防止使用 AWS 账户下载弹性 beanstalk 应用程序?

Posted

技术标签:

【中文标题】防止使用 AWS 账户下载弹性 beanstalk 应用程序?【英文标题】:Prevent an elastic beanstalk app being downloaded using the AWS account? 【发布时间】:2018-02-19 03:45:05 【问题描述】:

简短的背景,我们是一家小企业,但我们的客户是大得多的企业。我们有一些他们订阅的软件部署到 AWS 弹性 beantalk。与我们不同,客户有自己的 devops 团队,并且需要管理一些技术支持。他们将需要访问运行该软件的 AWS 帐户,因此他们可以执行诸如重新启动服务器、清除数据库(如果他们搞砸了)、更改 EC2 实例类型等操作。这没关系,但我们希望防止软件被下载在 AWS 账户之外。

该软件是在 Tomcat 上运行的 java WAR,在单个弹性 beanstalk 实例上。我们只关心限制对 WAR 文件的访问(例如,不是数据库)。

beantalk 应用程序版本页面似乎无法下载 WAR 文件 - 这很好。他们可以通过 SSH 连接到底层的 EC2 实例,但大概他们可以将 WAR 从 tomcat 目录中复制出来。鉴于 AWS 的复杂性,他们可能还可以通过其他方式访问 WAR 文件(例如,克隆 EBS 卷并附加到另一个 EC2 实例)。

我假设可通过 AWS 市场购买的机器实例必须具有某种形式的复制保护,但我无法找到有关这方面的任何详细信息。此外,AWS 似乎只接受比我们大得多的市场供应商,因此市场选项可能不对我们开放。

知道如何防止访问在弹性 beanstalk 上运行的 WAR 文件,同时仍然允许客户端访问 AWS 帐户吗? (或者至少使访问变得困难)。

【问题讨论】:

【参考方案1】:

想到的唯一解决方案是,从帐户中删除任何 EC2 SSH 密钥对,特别是拒绝他们访问ec2:CreateKeyPair。实际上,您需要做的是授予他们对帐户的最低权限访问权限,即专门授予他们仅访问他们绝对需要的那些操作的权限。

这将有很长的路要走,但如果您对 AWS 有足够的了解,这将是一场艰苦的战斗,试图确保您为他们提供足够的访问权限来做他们需要的事情,同时又不会给他们超出您想要的东西。我会质疑法律选项(如合同、许可证等)是否会对此提供更好的保护。

【讨论】:

也拒绝访问Run Commands,可以用来执行任意脚本。

以上是关于防止使用 AWS 账户下载弹性 beanstalk 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

下载/检索现有的 Elastic Beanstalk 环境配置

如何使用 AWS CLI 更新弹性 beanstalk 代码?

使用 AWS 弹性 beanstalk 负载均衡器在 Rails 上实施 https 连接

AWS:将子域指向不同的弹性 beanstalk 环境

无法在 AWS 中使用 RDS 创建弹性 Beanstalk 环境

AWS Cloudformation:如何在 AWS 弹性 beanstalk 配置中引用多个安全组