1

我想了解这个很棒的文档: https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html

这告诉我这样写:

Statements: 
    - StatementTwo

我想要做什么: 我想确保 IP 位于我创建的三个不同 IPSet 中的两个之一中。我想避免创建多个规则,因为据我了解,每个规则每月花费 1 美元。我想要拥有多个 IP 集的唯一原因是要明确为什么将每个 IP 添加到每个集。(家庭办公室、常规办公室、顾问等)。

我已经尝试了一些变体:

 Rules:
        - Name: WafIpRule
          Priority: 1
          Action:
            Allow: {}
          VisibilityConfig:
            SampledRequestsEnabled: false
            CloudWatchMetricsEnabled: true
            MetricName: !Sub web${Environment}AllowWhitelistedIps
          Statement:
            Statements:
              - IPSetReferenceStatement:
                  Arn: !GetAtt IpStuff1.Arn
              - IPSetReferenceStatement:
                  Arn: !GetAtt IpStuff2.Arn

这甚至可能吗?如果是怎么办?还是我应该去合并 IpSets/Do 单独的规则?

我似乎可以通过控制台做到这一点,所以它似乎应该是可能的......

4

1 回答 1

2

有点尴尬,因为这与我尝试的方法非常接近,但是一点点橡胶回避还有很长的路要走。

我不确定 AWS 是否真的将其视为 2 个(或更多)规则,但它们确实计算了 WCU 的使用(所以我认为它会)。

  Statement:
    OrStatement:
      Statements:
        - IPSetReferenceStatement:
            Arn: !GetAtt IpList1.Arn
        - IPSetReferenceStatement:
            Arn: !GetAtt IpList2.Arn

我将把它留在这里以供将来的 Google-fu 使用

于 2020-04-09T14:32:41.697 回答