当前位置: 首页 > 知识库问答 >
问题:

AWS按用户管理ec2入站/出站规则

邓才
2023-03-14

作为管理员,我正在寻找一种方法,允许用户为特定安全组管理自己的入站/出站规则,但不允许他们修改其他安全组的入站/出站规则。现在,使用策略就可以做到这一点,但是,这种方法的唯一问题是,必须将每个员工的安全组添加到每个EC2实例中。

例如(双关语),如果我有20个EC2和50名员工,我需要手动添加50*20个安全组。那不实际。

对于这个问题,什么是更易于管理的解决方案?

共有2个答案

陶法
2023-03-14

使用AWS客户端VPN。

https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html

在设备上安装VPN客户端的用户可以使用VPN从任何公共网络连接到vpc,并可以安全地访问资源。不需要为每个用户维护和更新安全组。

龚鸿羽
2023-03-14

基于OP反馈的编辑

好吧,如果我正确理解你的情况;

>

您可以基于IP管理进出EC2实例的流量

工程师四处移动,因此IP地址会发生变化。因此,他们需要能够用他们的新IP地址进行更新。

我认为AWS更喜欢的回应(他们在DevOps Pro cert上的要求,以及白皮书上的声明)是你设置一个堡垒主机或Jumpbox。取决于网络连接的工作方式。

无论哪种方式,您都可以将所有后端服务的连接限制在Bastion主机上,并要求工程师首先在那里连接,然后通过ssh连接到其他服务器。这简化了应用程序实例上的安全组。这显然是假设您使用的是SSH,但我相信您可以用RDP做类似的事情。

如果你想继续使用基于IP的规则,我想这是可行的——只需将每个安全组连接到bastion主机上,然后工程师就可以这样管理它。

然而,安全问题远不止这些。现在,你只回答“授权”问题,而不是认证,你仍然需要考虑治理。

认证

如果仅由IP设置,则该IP上的任何人都可以连接。AWS建议让每个工程师都制作一个SSH密钥对。他们将公共证书上传到S3,并随身携带私钥。然后让CRON作业每隔几分钟运行一次,将S3上的公钥拉下来,并使用该密钥为它们创建一个用户条目。

这样,只有将公钥上传到S3的人才能访问您的Bastion主机,然后进入后端服务器。

统治

你还应该确保跟踪谁在登录,以及他们在做什么。由于现在有了一个中心连接点,您可以将用户操作日志发送到S3和CloudWatch。我认为,如果有人做了不该做的事情,你甚至可以启动CloudWatch活动。应该很容易分辨出它们来自何处,以及它们试图去哪里。

总的来说,我认为你应该考虑删除整个IP过滤策略,并获得VPN连接。它可能花费40~100/月,但它更安全。如果你让工程师手动设置IP,那只是时间问题,直到有人搞砸了,一个巨大的CIDR块对世界开放。此外,考虑返回的工程师时间值。必须获得他们的知识产权并将其设置在AWS中是非增值工作

初始职位

所以,我不确定我是否理解你想要实现的目标。但我猜你想给每个员工一个独特的环境,他们可以随心所欲地改变。你有几个选择

云形成-最好的选择,IMO构建一个主云形成模板,用于构建您需要的所有部件:

  • EC2实例
  • 保安组
  • 政策

确保它有一个用户IAM角色的参数,该参数将绑定到策略。

接下来,将堆栈注册为具有服务目录的应用。让您的IAM用户能够启动html" target="_blank">应用程序,并让它提供他们的IAM角色作为参数。这应该给他们实例和编辑安全组的能力(假设策略设置正确)

启动配置。哈奇,但可能有用

  1. 为每个员工建立一个安全组,并为每个员工制定一个策略
 类似资料:
  • 1. 创建站点 一般情况下,您需要在百度统计中创建站点才能获取跟踪代码及查看网站数据。 具体创建步骤: 登录百度统计,选择“管理->网站列表”标签; 点击页面右上方“新增网站”按钮,弹出新建对话框: 输入网站域名,域名格式不正确,将无法创建。 可输入如下4种域名形式: 主域名(如:www.baidu.com) 二级域名(如:sub.baidu.com) 子目录(如:www.baidu.com/su

  • 使用指南 - 账户管理 - 站点管理 为您详细介绍百度统计的账户结构,包括账户、站点、报告间的层级关系,报告或者消费数据的账户权限问题,以及假如您拥有多个账户,需要实现多账户授权管理的操作方法。 站点管理 如何创建站点 站点的暂停与删除 网站有多个域名怎么创建站点 首页代码状态的意义 如何设置汇总网站 什么是权限网站(如何看到其它账户的报告) 什么是推广来源账户(如何看到其它推广账户的推广数据)

  • 1. 创建站点 一般情况下,您需要在百度统计中创建站点才能获取跟踪代码及查看网站数据。 具体创建步骤: 登录百度统计,选择“管理->网站列表”标签; 点击页面右上方“新增网站”按钮,弹出新建对话框: 输入网站域名,域名格式不正确,将无法创建。 可输入如下4种域名形式: 主域名(如:www.baidu.com) 二级域名(如:sub.baidu.com) 子目录(如:www.baidu.com/su

  • 我为RDS实例分配了一个安全组,该组允许来自EC2实例的5432端口流量。 但是,此安全组已为所有IP的所有流量启用所有出站流量。 这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS安全组的出站流量应该限制在端口5432到我们的EC2实例,对吗?

  • 我正在尝试为所有流量添加AWS EC2安全组的入站规则。我正在使用python boto模块来实现这一点。 我已经为tcp | udp | icmp协议添加了规则。但不能为所有流量添加规则。我该怎么做?

  • Django 最强大的部分之一是自动生成的Admin 界面。它读取模型中的元数据来提供一个强大的、生产环境就绪的界面,使内容提供者能立即用它向站点中添加内容。在这篇文档中,我们讨论如何去激活、使用和自定义Django 的Admin 界面。 概述 通过使用startproject 创建的默认项目模版中,Admin 已启用。 下面的一些要求作为参考: 添加 'django.contrib.admin'