4

アプリケーション API を悪用から保護するために、cloudformation を使用して WebACL を作成しようとしています。アイデアは、5 分間で最大 100 件の IP リクエストに対して API アクセスを制限することです。

最初のバージョンは次のものしかサポートしていないように見えるため、この目的のために WAFv2 を使用する必要があります。

  • 静的ブラックリスト
  • バイトマッチ
  • サイズの制約
  • XSS
  • SQLi

WAFv2 のドキュメント: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html

例としてこれを書きました:

AWSTemplateFormatVersion: 2010-09-09
Resources:
  WebACL:
    Type: 'AWS::WAFv2::WebACL'
    Properties:
      Name: WebAclLimit100
      Scope: "REGIONAL"
      DefaultAction:
        Type: ALLOW
      VisibilityConfig:
        SampledRequestsEnabled: true
        CloudWatchMetricsEnabled: true
        MetricName: WebAcLimit100

しかし、これを CloudFormation にアップロードしようとすると、次のメッセージが表示されて作成が失敗します。

モデルの検証に失敗しました (#: 無関係なキー [タイプ] は許可されていません)

問題は次の行にあると思います。

      DefaultAction:
        Type: ALLOW

しかし、CloudFormation で失敗せずに DefaultAction を割り当てる方法がわかりません。何度も (もちろん別の方法で) 試しましたが、正しい方法が見つかりません。WAFv2 のインターネット上の例はなく、WAF の最初のバージョンの構文は互換性がないようです :(

4

2 に答える 2