【问题标题】:aws-cli --query parameteraws-cli --query 参数
【发布时间】:2020-11-14 16:39:19
【问题描述】:

我正在尝试使用 aws 查询进行过滤以输出 0.0.0.0/0 Ips 并找到它们来自哪些端口,但是当我这样做时

aws ec2 describe-security-groups --filters Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{GN:GroupName,Ports: IpPermissions.FromPorts}" --output json

在“端口”列中,它输出“无”,因为它没有找到那个过滤器,而我什么时候找到了

aws ec2 describe-security-groups --filters Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{GN:GroupName,Ports: IpPermissions}" --output json

当我只想要 0.0.0.0/0 以及打开 Ip 来自哪个端口(FromPort 和 ToPort)时,我会获得所有 Ip 范围。而且我不想只针对某个端口进行过滤,因为我想查看每个打开的 Ip 来自哪个端口。

我不确定为什么这不起作用,因为 IpPermissions.ToPort 和 IpPermissions.FromPort 都是 aws 安全组的过滤器。

【问题讨论】:

    标签: bash amazon-ec2 aws-cli aws-security-group


    【解决方案1】:

    您需要在查询中进行两次修改

    • 密钥名称是FromPort 而不是FromPort
    • IpPermissions 返回数组而不是对象,所以使用IpPermissions[].FromPort
    aws ec2 describe-security-groups --filters Name=ip-permission.cidr,Values='0.0.0.0/0' \
    --query "SecurityGroups[*].{GN:GroupName,Ports: IpPermissions[].FromPort}" --output json
    

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2018-12-11
      • 2017-07-12
      • 1970-01-01
      • 2019-04-05
      相关资源
      最近更新 更多