我有一个AWS lambda,它是为了访问RDS postgresql实例和Elasticcache集群而创建的。为了访问RDS实例,我相信RDS和Elasticache都需要打开然后进入端口以供lambda访问。我还看到了允许lambda访问elasticache和RDS的策略。这些策略适用于分配给AWS lambda的角色。在这种情况下,角色和安全组的作用是什么?
答案 0 :(得分:4)
安全组与网络控制有关。您可以将它们视为控制流量的虚拟防火墙。
它们根据以下条件/过滤器指定允许/禁止的入站/出站流量
IAM Roles通常用于确定身份在AWS中可以做什么和不能做什么。基本上,它是一组权限,授予对AWS中操作和资源的访问权限。
示例:资源X的安全组说允许HTTP协议上端口1111的入站流量
场景1:具有访问资源X的角色的Lambda尝试通过HTTP协议在端口2222上与资源X进行通信,将失败。因为资源X的安全组仅允许通过端口1111进行通信。
方案2:您没有对访问资源X的Lambda附加任何角色。现在,如果它尝试通过HTTP协议在端口1111上与资源X进行通信,将失败。因为尽管试图在正确的端口和协议上访问资源X,但它却没有这样做的权限