我试图仅允许一个IP地址访问在ec2实例上的浏览器中运行的jupyter笔记本。
我试图在ACL中设置入站规则,以仅允许来自我的IP地址的所有流量。此外,我尝试与一个安全组进行此操作。哪个更合适?
我的最终目标是基于我们较小的位置之一,根据其IP地址向有限数量的用户授予访问权限。
感谢您的帮助!
答案 0 :(得分:0)
真正的答案是,这取决于您其他基础结构的外观,是否通过IAM赋予其他用户控制台/资源访问权限,您对各种可用安全设置的满意程度以及您需要花费多少时间?重新考虑花费在管理访问权限上。
下表pulled from the AWS VPC Security Docs直接比较了您询问的两个选项(安全组和网络ACL)的功能。
使用安全组或网络ACL都可以,但是我建议使用安全组,因为这听起来像您的用例允许对每个资源进行访问控制(实例级别),而不是子网级别。
From the docs,要将安全组的IP地址列入白名单,您需要向已附加到EC2实例的安全组中添加一条规则(或创建并附加一个新规则):
要为通过IPv4(控制台)的入站SSH流量向安全组添加规则
在Amazon EC2控制台的导航窗格中,选择Instances。选择您的实例,然后查看“描述”选项卡;安全组 列出与实例关联的安全组。 选择查看入站规则以显示其中的规则列表 实例的效果。
在导航窗格中,选择“安全组”。选择与您的实例关联的安全组之一。
在详细信息窗格的“入站”选项卡上,选择“编辑”。在对话框中,选择“添加规则”,然后从“类型”列表中选择“ SSH”。
在“源”字段中,选择“我的IP”以使用本地计算机的公共IPv4地址自动填充该字段。 或者,选择“自定义”并指定以下地址的公共IPv4地址: 您的计算机或网络采用CIDR表示法。例如,如果您的IPv4 地址是203.0.113.25,请指定203.0.113.25/32列出此单 CIDR表示法中的IPv4地址。如果您的公司分配地址 从一个范围中,指定整个范围,例如203.0.113.0/24。
有关查找IP地址的信息,请参阅“开始之前”。
- 选择保存。
最后,如果您的EC2实例的唯一目的是运行Jupyter Notebook,我建议您检出SageMaker hosted Jupyter Notebooks,因为它们可能会更方便您进行尝试(轻松访问托管的云Jupyter笔记本,但无需从终端进行SSH登录)。