安全组的使用与角色

Pun*_*cky 1 amazon-web-services amazon-rds amazon-iam aws-lambda aws-security-group

我有一个创建用于访问RDS postgresql实例和Elasticcache集群的AWS Lambda。为了访问RDS实例,我相信RDS和Elasticache都需要打开然后进入端口以供lambda访问。我还看到了允许lambda访问elasticache和RDS的策略。这些策略适用于分配给AWS lambda的角色。在这种情况下角色和安全组的目的是什么?

Ara*_*nde 5

安全组更多地与网络控制有关。您可以将它们视为控制流量的虚拟防火墙。

他们根据以下条件/过滤器指定允许/禁止的入站/出站流量

  1. 协议
  2. 港口
  3. 来源/目的地IP

IAM角色更常用于确定身份在AWS中可以做什么和不能做什么。基本上,这是一组权限,这些权限授予对AWS中操作和资源的访问权限。

示例:资源X的安全组说允许HTTP协议上端口1111的入站流量

方案1:具有访问资源X的角色的Lambda尝试通过HTTP协议在端口2222上与资源X进行通信将失败。因为资源X的安全组仅允许通过端口1111进行通信。

方案2:您没有对访问资源X的Lambda附加任何角色。现在,如果它尝试通过HTTP协议在端口1111上与资源X进行通信,将失败。因为尽管试图在正确的端口和协议上访问资源X,但是它没有这样做的权限