ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド
11gリリース2 (11.1.2.2)
B70199-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

12 ルール・コンテキスト評価

この章では、リクエスト・パラメータとヘッダーのホワイトリスト検証を有効化する方法を説明します。クライアントから送信されるどのパラメータを、セッション内ルールで評価して、アクションをトリガーおよび実行するかを指定します。

12.1 ルール評価のためのHTTPリクエスト・パラメータおよびヘッダーの受渡しの許可

データをサーバーに送信する方法は2つあります。次の方法が使用されます。

  • リクエスト・パラメータ

  • ヘッダー(URLではなくHTTPヘッダーとして確認できる)

リクエスト・パラメータはURLそのものに含まれます。この値には?と等号を付けることができます。たとえば、http(s)://hostname:port/index.html?param=valueです。

ヘッダーはHTTPヘッダーであり、URLには含まれません。値はログイン・ページから渡され、変更は必要ありません。通常ユーザーはヘッダーを使用しますが、リクエストごとに情報を送信して、ランタイムにその情報があるかどうかをチェックするのが困難なためです。通常の方法では、ヘッダーにデータを設定し、OAAMがそのデータをルールに渡すようにします。

リクエスト・パラメータとヘッダーのホワイトリスト検証はセキュリティ管理者にとって役立ちます。クライアント側から送信されるすべてのパラメータを受け取ることは望ましくないためです。次のプロパティを使用してパラメータをホワイトリスト検証すると、OAAMサーバーがそれらのパラメータを受け入れ、セッション(ルール・コンテキスト)で使用可能にします。OAAMは、指定と一致しないパラメータを無視します。

bharosa.uio.sessionData.populateExternalData.headers.enabled=false

このプロパティは、ヘッダー情報の受入れを許可することを指定します。デフォルトでは、falseに設定されています。

bharosa.uio.sessionData.populateExternalData.headers.regex=<specify regex of header names> 

このプロパティでは、ヘッダーの名前を指定できます。ヘッダー名にパターンがあると想定される場合は、正規表現を使用できます。

たとえば、R1R2およびR3に対応するには、正規表現としてR*を使用できます。

bharosa.uio.sessionData.populateExternalData.headers.csv=<specify CSV names of headers> 

このプロパティでは、OAAMが受け入れるヘッダー名のカンマ区切りリストを指定できます。パターンがなく、いくつかのヘッダーの名前がわかっている場合には、このプロパティを使用します。たとえば、R1R2を取得する場合は、CSVとしてR1,R2を使用できます。

bharosa.uio.sessionData.populateExternalData.parameters.enabled=false

このプロパティは、リクエスト・パラメータの受入れを許可する際に指定します。デフォルトでは、falseに設定されています。

bharosa.uio.sessionData.populateExternalData.parameters.regex=<specify regex of parameter names> 

このプロパティでは、ヘッダーの名前を指定できます。ヘッダー名にパターンがあると想定される場合は、正規表現を使用できます。

bharosa.uio.sessionData.populateExternalData.parameters.csv=<specify CSV names of request parameters> 

このプロパティでは、OAAMが受け入れるリクエスト・パラメータ名のカンマ区切りリストを指定できます。パターンがなく、いくつかのリクエスト・パラメータ名がわかっている場合には、このプロパティを使用します。たとえば、R1R2を取得する場合は、CSVとしてR1,R2を使用できます。

12.2 ルール評価でのHTTPリクエスト・パラメータおよびヘッダーの使用

条件を含むルール(「セッション: 文字列パラメータ値の確認」)を作成して、ポリシーに追加することができます。