ルールセットについて
CIS のルールセットエンジン機能セットを使用して、 CIS でルールおよびルールセットを作成し、同じ基本構文を使用して展開することができます。
主な機能
以下の機能はルールセットに適用されます
- 強力な構文: ルール式は、複雑なルールを作成できるようにする
wirefilter
構文と同様の強力なルール言語を使用します。 - ハイパフォーマンス・ルールの評価: パフォーマンスへの影響を最小限に抑えながら、 CIS に多数のルールを含めることができます。
- CIS を動かすエンジン: CIS は引き続き Ruleset Engine 上に製品を構築していきます。つまり、異なる製品でも同じカスタマイズの可能性を持つ構成には、同じ API メソッドを使用できるということです。 ルールセットエンジンは、リクエストのライフサイクルのさまざまなフェーズもサポートしています。
フェーズ
フェーズは、ルールセットを実行できるリクエストのライフサイクルにおける段階を定義します。 フェーズは CIS によって定義されており、変更することはできません。
フェーズは、インスタンス・レベルとゾーン・レベルに存在します。 同じフェーズでは、ゾーンレベルで定義されたルールよりも前に、インスタンスレベルで定義されたルールが評価されます。
各フェーズには、インスタンスレベルとゾーンレベルで、最大1つのエントリーポイントのルールセットがあります。
現在、ゾーン・レベルのフェーズのみが使用可能です。 このページは、その後のリリースでインスタンスやゾーンレベルのフェーズが利用可能になると更新されます。
フェーズ・リスト
次の表は、ルールセット・エンジンAPIで利用可能なフェーズの一覧です。
フェーズ名 | 説明 | サポートされるインターフェース |
---|---|---|
http_request_firewall_managed |
Web アプリケーション・ファイアウォール (WAF) | API、CLI、UI |
http_request_firewall_custom |
ファイアウォール規則 | API |
http_ratelimit |
レート制限ルール | API、CLI |
ddos_l7 |
HTTP DDoS 攻撃防御ルール | API |
エントリー・ポイント・ルール・セット
CIS のUIを使用すると、エントリーポイントのルールセットは抽象化されます。 API、CLI、SDK、または Terraform の使用時に、ルール・セットを配布してオーバーライドする必要があります。
エントリー・ポイント・ルール・セットには、インスタンス・レベルまたはゾーン・レベルでフェーズ内で実行される順序付きルールのリストが含まれています。 このルールセットは、フェーズで実行されるすべてのルールのエントリーポイントです。 これらのルールの中には、他のルールセットを実行するものもあるかもしれません。
各フェーズには、インスタンス・レベルおよびゾーン・レベルで最大 1 つのエントリー・ポイント・ルール・セットがあります。
フェーズ・エントリー・ポイント・ルール・セットの kind
フィールドには、以下のいずれかの値が入ります。
root
: インスタンス・レベルのフェーズ・エントリー・ポイント・ルール・セットに使用されます。zone
: ゾーン・レベルのフェーズ・エントリー・ポイント・ルール・セットに使用されます。
フェーズエントリーポイントルールセットのフェッチ時に404ステータスコードを受け取った場合、そのルールセットは存在しない可能性が高く、 ゾーンレベルエントリーポイント または インスタンスレベルエントリーポイントの 更新APIで作成する必要があります。
ルールセットを作成する際、意図したフェーズを使用し、リクエストボディを { "rules": [] }
に設定する。
WAF管理ルールのエントリポイントルールセットを使用するルールセットの展開手順については、 管理ルールセットの展開を 参照してください。 エントリ ポイント ルールセットを使用してルールセットをオーバーライドする方法については、 「管理対象ルールセットのオーバーライド」を 参照してください。