首页 > 解决方案 > 使用云托管策略获取具有附加安全组(具有超过 50 条规则)的 AWS EC2 实例

问题描述

我需要获取附加了安全组的 ec2 实例,并且需要检查这些安全组的规则是否超过 50。

我尝试了以下策略,但我坚持获取 IpPermissions 和 IpPermisionsEgress 的总和。

policies:
  - name: ec2-instances-with-large-number-of-rules
    resource: ec2
    filters:
    -and:
      - type: security-group
        key: IpPermissions[]
        value_type: size
      - type: security-group
        key: IpPermissionsEgress[]
        value_type: size

标签: amazon-ec2aws-security-groupcloudcustodian

解决方案


您可以在所有托管策略中使用 jmespath 函数。我不确定这是否适用于 EC2 实例上的安全组过滤器。

我会尝试:

policies:
  - name: security-groups-with-large-number-of-rules
    resource: ec2
    filters: 
      - type: security-group
        key: sum([length(IpPermissions[],length(IpPermissionsEgress[]])
        value_type: int
        value: 50
        op: gte

或通过使用类似模式识别具有大量规则的 SG 来攻击它


推荐阅读