Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名  | 
JSON 脅威保護  | 
概要  | 
API 要求内の悪意のある JSON から保護する  | 
カテゴリ  | 
セキュリティ  | 
使用可能な最小 Flex Gateway バージョン  | 
v1.4.0  | 
返される状況コード  | 
400 - Bad Request  | 
JSON 要求を処理するアプリケーションは、要素とネストレベルの異常な膨張により特徴付けられる攻撃を受けやすくなっています。攻撃者は再帰的な技法を使用してメモリリソースをコンシュームします。多くの場合、アプリケーションデータのサイズが劇的に変動することは、セキュリティの問題が発生していることを示します。JSON 脅威保護ポリシーは、このような侵入からアプリケーションを保護するのに役立ちます。
Anypoint Platform 環境への攻撃の検出が困難である場合は、JSON 脅威保護に保護レイヤーを追加したサービスアーキテクチャを設計する必要があります。
ローカルモードでは、宣言型の設定ファイルを使用してポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。
- policyRef:
    name: json-threat-protection-flex
  config:
    maxContainerDepth: <int> // OPTIONAL
    maxObjectEntryCount: <int> // OPTIONAL
    maxObjectEntryNameLength: <int> // OPTIONAL
    maxArrayElementCount: <int> // OPTIONAL
    maxStringValueLength: <int> // OPTIONAL
| パラメーター | 必須または省略可能 | デフォルト値 | 説明 | 
|---|---|---|---|
  | 
省略可能  | 
-1  | 
最大ネスト深度を指定します。JSON では、コンテナ (オブジェクトおよび配列) を任意の順序で任意の深度までネストできます。-1 の指定は、項目値に制限がないことを意味します。  | 
  | 
省略可能  | 
-1  | 
オブジェクトの最大エントリ数を指定します。-1 の指定は、項目値に制限がないことを意味します。  | 
  | 
省略可能  | 
-1  | 
オブジェクトのエントリ名の最大文字列長を指定します。-1 の指定は、項目値に制限がないことを意味します。  | 
  | 
省略可能  | 
-1  | 
配列の最大要素数を指定します。-1 の指定は、項目値に制限がないことを意味します。  | 
  | 
省略可能  | 
-1  | 
最大文字列値長を指定します。-1 の指定は、項目値に制限がないことを意味します。  | 
UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。
項目  | 
説明  | 
デフォルト  | 
必須  | 
Maximum Container Depth (最大コンテナ深度)  | 
最大ネスト深度を指定します。JSON では、コンテナ (オブジェクトおよび配列) を任意の順序で任意の深度までネストできます。  | 
-1  | 
false  | 
Maximum String Value Length (最大文字列値長)  | 
文字列値の最大長を指定します。  | 
-1  | 
false  | 
Maximum Object Entry Name Length (オブジェクトエントリ名の最大長)  | 
オブジェクトのエントリ名の最大文字列長を指定します  | 
-1  | 
false  | 
Maximum Object Entry Count (最大オブジェクトエントリ数)  | 
オブジェクトの最大エントリ数を指定します。  | 
-1  | 
false  | 
Maximum Array Element Count (最大配列要素数)  | 
配列の最大要素数を指定します。  | 
-1  | 
false  | 
| 
 -1 の値は、項目値に制限がないことを意味します。  | 
ペイロードに次の JSON 例が含まれているとします。
{
   "Players":[
      {
         "Name":"Sachin",
         "Email":"sachin.tendulkar@example.com"
      },
      {
         "Name":"Suryakumar",
         "email":"Surya@example.com"
      },
      {   "Name":"Bhuvi",
          "email":"bhuvi@example.com"
      },
      {
         "Name":"Jonty",
         "Email":"jonty@example.com"
      }
   ]
}
ポリシーでは、次のようにパラメーター値の例が定義されます。
| パラメーター | 値 | 説明 | 
|---|---|---|
Maximum Container Depth (最大コンテナ深度)  | 
3  | 
  | 
Maximum String Value Length (最大文字列値長)  | 
28  | 
  | 
Maximum Object Entry Name Length (オブジェクトエントリ名の最大長)  | 
7  | 
  | 
Maximum Object Entry Count (最大オブジェクトエントリ数)  | 
2  | 
各   | 
Maximum Array Element Count (最大配列要素数)  | 
4  | 
  |