我遇到了与AWS lambda相关的安全问题,但不确定解决此问题的正确方法是什么。
考虑在另一个EC2实例B上访问数据库的EC2实例A.如果我想将实例B上的数据库的可访问性限制为仅限实例A,我将修改安全组并添加自定义TCP规则以允许访问只有实例A的公共IP。因此,AWS会处理所有事情,并且无法从任何其他IP地址访问数据库服务器。
现在让我们用lambda函数替换实例A.由于它不再是实例,因此没有明确的IP地址。那么,我如何限制只访问lambda函数并阻止任何其他流量?
答案 0 :(得分:2)
让Lambda作业确定其IP,并动态更新实例B安全组,然后在完成后重置安全组。
在支持Lambda running within a VPC之前,这是唯一的选择。对此的支持已于今年晚些时候公布。以下引用来自上面引用的链接。
许多AWS客户在Amazon Virtual Private中托管微服务 云,并希望能够从他们的Lambda访问它们 功能。也许他们运行带有查找数据的MongoDB集群,或者 想要将Amazon ElastiCache用作Lambda的有状态商店 功能,但不希望将这些资源暴露给Internet。
您很快就可以通过设置访问此类型的资源 目标VPC中的一个或多个安全组,将它们配置为 接受来自Lambda的入站流量,并将它们附加到目标VPC 子网。然后,您需要指定VPC,子网和 创建Lambda函数时的安全组(您也可以 将它们添加到现有函数中)。你还需要给你 功能权限(通过其IAM角色)访问几个EC2 与弹性网络相关的功能。
此功能将于今年晚些时候推出。我会有更多信息 (以及演练时)我们发布它。
答案 1 :(得分:0)
我相信以下链接将为您解释lambda权限模型。
http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html