AWS WafV2 ИЛИ оператор / IPSetReference - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь понять эту удивительную документацию: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html

Что говорит мне просто написать это так:

Statements: 
    - StatementTwo

Что Я хочу сделать: Я хочу убедиться, что IP находится в одном из двух - трех разных IPSet, которые я создал. Я хочу избежать создания нескольких правил, поскольку, как я понимаю, каждое правило стоит 1 доллар в месяц. Единственная причина, по которой я хочу иметь несколько наборов IP-адресов, - это разъяснить, почему каждый IP-адрес был добавлен в каждый набор. (Homeoffice, обычный офис, консультант и др. c).

Я пробовал некоторые варианты этого:

 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

Возможно ли это вообще? Если да, то как? Или я должен просто go и объединить отдельные правила IpSets / Do?

Кажется, я могу сделать это через консоль, поэтому кажется, что это возможно ...

1 Ответ

0 голосов
/ 09 апреля 2020

Немного смущает, так как это было так близко к тому, что я пытался, но немного резинового ныряния имеет большое значение.

Я не уверен, действительно ли AWS считает это как 2 (или больше ), но они учитывают используемые WCU (поэтому я предполагаю, что так и будет).

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

Я оставлю это здесь для будущего Google-фу

...