情况
我们有一个托管在 Amazon EC2 上的 Web 应用程序。它仅供公司中的少数用户使用。
我们如何处理这个问题
- 我们与用户共享实例的(弹性)IP 地址。
- 我们根据需要将每个用户的 IP 地址添加到实例的安全组中。
当我说需要时,我指的是用户抱怨门户网站显示错误页面的电子邮件。他们忘记了将 IP 包含在安全组中这一步骤是必需的(我不怪他们;他们是最终用户)。
为了回答这个问题,我们假设一家公司总共有 5 位用户需要此访问权限。User-1和User-2的IP地址已添加到安全组中。
问题
- User-3 直接访问该 IP 地址,但无法访问该 IP 地址,因为该用户的 IP 地址尚未添加到安全组。
- 如果 User-1 或 User-2 重新启动互联网,他们的 IP 地址可能会发生变化(ISP 提供的动态 IP),并且新的 IP 地址必须添加到安全组中(并且旧的 IP 地址必须被撤销才能生效)。避免他人访问)。
我正在考虑的其他选择
- 仅提供对其办公室 VPN 的访问,并要求所有用户通过它进行连接。
- (对于用户来说非常麻烦)要求用户登录AWS管理控制台,进入EC2服务,进入安全组部分并手动添加他们的IP地址(用户已经拥有AWS IAM用户和适当的权限来执行此操作) 。
- 创建一个将用户当前 IP 添加到安全组的脚本(使用 AWS CLI / SDK) - 听起来非常危险且不合适,因为我们必须在脚本中包含某人的 API 凭证。