アプリケーションポリシーの優先順位について

Access Gatewayアプリケーションでは複数のポリシーを使用できます。各ポリシーはURI、ルールタイプ、その他の情報に関連付けられています。複数のポリシーを持つアプリケーションのリクエストを受け取ると、ポリシーは優先順位順に評価されます。

一般的に、ポリシーは以下の順に評価されます。

  • カスタムポリシー ‐ 最初に、時系列に入力された順にカスタムポリシーが評価されます。 最も古く追加されたものから最新への順です。
  • 長いものから短いものへ ‐ 例えば、/a/b/c/a/bより先に評価されます。
  • 同じ長さのポリシーについては、大文字と小文字を区別するポリシーが区別しないポリシーよりも先に評価されます。
  • /」で指定されたデフォルトポリシーが適用されます。

以下にポリシーURIとその動作の例を示します。

URIルールと例大文字と小文字を区別大文字と小文字を区別しない
カスタム他のすべてのURIポリシーより先に評価
最初に入力された順に評価
URIルール:/a/b/C
例:/a/b/C
/a - 不一致。
/a/b - 不一致。
/a/b/c - 不一致。
/a - 不一致。
/a/b - 不一致。
/a/b/c - 大文字と小文字を区別しないルールの場合は一致。
/a/b/C - 一致

URIルール:/a/b/C
例:/a/b/c

/a - 不一致。
/a/b - 不一致。
/a/b/c - 一致。

/a - 不一致。
/a/b - 不一致。
/a/b/c - 大文字と小文字を区別しないルールの場合は一致。

URIルール:/a/b
例:/a/b
/a - 不一致。
/a/b - 一致。
/a - 不一致。
/a/b - 大文字と小文字を区別しないルールの場合は一致。

URLルール:/a
例:/a

/a - 一致。
/A - 不一致。
/a/b - 不一致。

/a - 大文字と小文字を区別しないルールの場合は一致。
/A ‐ 一致。
/a/b 不一致。

デフォルト ("/") ルール 前記ルールに一致しないものすべてと一致

その他の例、優先順位の順に表示。

URI

大文字と小文字を区別

コメント

/a/b/c

区別する

大文字と小文字を区別することは、同じURIを区別しないものより優先されます。

/a/b/c

区別しない

/a/f

区別する

両方とも大文字と小文字を区別し、同じ数の要素(2つ)を持ち、辞書学的にソートされています。

/a/b

区別する

/a/e

区別しない

両方とも大文字と小文字を区別せず、同じ数の要素(2つ)を持ち、辞書学的にソートされているが、大文字と小文字を区別する2要素のルールの後になる。

/a/b

区別しない

/a

区別しない

一般的に、ソート順は以下のように決定されます。

  1. カスタムポリシー:カスタムポリシーは最初に評価され、カスタムポリシー同士では入力された順に評価されます。
  2. URI内の要素の総数:例えば、/a/b/cには、リソースパスの中に「/」(スラッシュ)で区切られた3つの要素があります。
  3. 大文字と小文字を区別:要素の数が同じである場合、大文字と小文字を区別するポリシーは区別しないポリシーの前にソートされます。
  4. 辞書学的順序:次に、ポリシーはアルファベット順に並べられます。

ポリシーとアップグレード

Access Gateway v2021.01.0より前のすべてのポリシーは大文字と小文字を区別するものとして扱われます。アップグレード期間中、すべてのポリシーは過去の動作を反映するため大文字と小文字を区別するものとマークされます。アップグレード後に追加された新しいポリシーはデフォルトでは大文字と小文字を区別せず、必要に応じて大文字と小文字を区別すると明示的に指定する必要があります。