Web サービス変数

目次
sm1252sp1jjp
目次
2
Web サービスの変数を使用すると、Web サービスからの動的データをポリシーに組み込むことができます。Web サービスの変数は、Web サービスを呼び出すことで処理されます。ポリシー サーバは、Web サービスの変数の定義に従って SOAP 要求ドキュメントを送り、その応答として SOAP レスポンス ドキュメントを受け取ります。ポリシー サーバは、SOAP レスポンス ドキュメントから Web サービスの変数の値を取得します。
SOAP(Simple Object Access Protocol)は、軽量な XML ベースのプロトコルで、次の 3 つの部分で構成されます。
  • メッセージの内容とメッセージの処理方法を記述するためのフレームワークを定義するエンベロープ
  • アプリケーションで定義されたデータ型のインスタンスを表すための一連のエンコード ルール
  • リモート プロシージャ コールとレスポンスを表すための表記規則
以下の図は、Web サービスの変数がイントラネット内部の Web サービスに対してどのように解決されるかを示しています。Web サービスは、ポリシー サーバと同じファイアウォール側にあります。
Web services variable process
このシナリオでは、Web サービスの変数に許可要求が関連付けられています。変数は、Web サービスの変数リゾルバを呼び出すことによって、ポリシー サーバで解決されます。Web サービスの変数リゾルバはポリシー サーバと同じ処理空間で実行されます。
Web サービスの変数を定義する際、ユーザは、Web サービスに送る SOAP ドキュメント、認証情報、および他のパラメータを指定します。 リゾルバは指定された SOAP ドキュメントを Web サービスに送り、レスポンスから変数の値を取得して、その値をポリシー サーバに送ります。ポリシー サーバは値を受け取ると、許可要求を処理します。
ポリシー サーバと Web サービスの間にファイアウォールが存在しても、この 2 つの間の通信を許可するようにファイアウォールを設定することができます。ポリシー サーバは要求を発行し、レスポンスを読み込みます。したがって、ポリシー サーバから Web サービスへの要求送信を許可するようにファイアウォールを設定します。
ポリシー サーバと Web サービスの間に安全な SSL 接続を設定し、Web サービスからポリシー サーバに着信レスポンスが送られるようにすることができます。SSL 接続は、Web サービスのサーバ側証明書とポリシー サーバで設定された信頼された認証機関のリストを使用します。
Web サービス変数のコンポーネント要件
Web サービス変数では、セッション ストアが必要です。
Web サービス変数を解決する場合のセキュリティ要件
Web サービスの変数を処理する場合、ポリシー サーバと Web サービスの間に SSL 接続を設定する必要があります。また、Web サービスで認識されるように設定された WS-Security ヘッダーとユーザ名トークンを含めることもできます。WS-Security は、署名と暗号化を通じて、セキュリティトークンの伝播とメッセージの正当性/機密保護を提供する SOAP 拡張機能の標準セットです。
Web サービス変数を安全に処理するためには、次の条件を満たす必要があります。
  • ポリシー サーバは既知の識別情報(Web サービスアカウント)に代わって Web サービスに SOAP 要求を送信する必要があります。このモデルは、ユーザ ディレクトリの属性にアクセスするために が使用するモデルに似ています。
  • Web サービスの認証情報を含む WS-Security ヘッダーに、base64 方式でエンコードされた SHA-1 ダイジェストを含めるように設定できます。
  • Web サービスの変数は、SSL 接続とサーバ側の証明書を使用するように設定できます。これは、ポリシー サーバが信頼された CA のリストを使用して設定される必要があることを意味します。
注:
SSL 接続については、Web サービスのサーバ側の証明書を設定します。ポリシー サーバ上で信頼された CA のリストを設定します。信頼された CA を設定するには、「認証機関と Web サービス変数」で説明されている証明書データ ストアを使用します。
Web サービスの変数リゾルバの設定
ポリシー サーバで Web サービスの変数を処理するには、Web サービスに接続するように Web サービスの変数リゾルバを設定します。Web サービス接続には、以下の 2 つのカテゴリがあります。
  • ポリシー サーバと Web サービスがファイアウォールの同じ側にある場合。
  • ポリシー サーバと Web サービスの間にファイアウォールが存在するが、この 2 つの間で単方向の通信(ポリシー サーバから Web サービスへの要求送信)が許可されるようにファイアウォールが設定されている場合。
Web サービスの変数機能を使用するためには、SmKeyTool コマンド ライン ユーティリティを使用して、信頼できる CA のリストをポリシー サーバに設定する必要があります。ロード バランシングまたはフェイルオーバー構成で複数のポリシー サーバを使用する場合には、各ポリシー サーバに同じ CA リストを設定する必要があります。
デフォルトの設定は、siteminder/Config/properties ディレクトリの WebServiceConfig.properties ファイルに格納されています。これらのプロパティは変更できます。
WebServiceConfig.properties のサンプル構成ファイル
# Netegrity Web Service Variable Resolver properties configuration file: # This file must be in the classpath that is used when the policy server runs. # ResolutionTimeout is the amount of time the resolver will at most wait to resolve all Web Service variables related to a given request. # # This setting is intended to end sessions that are waiting on a web service that is not responding. The time that the Web Agent will typically wait before responding is typically 60 sec (but may be changed # in the future), which means this setting should be 60000 or greater to cancel transactions that cannot be returned. ResolutionTimeout=75000 # MaxThreadCount is the maximal number of active threads running within the Web Service variables resolver. MaxThreadCount=10
認証機関と Web サービス変数
Web サービスの変数を処理する際に SSL 接続を使用するには、信頼された 認証機関(CA)のリストを設定します。ポリシー サーバは「Web サービス」への接続を確立するとき CA を使用します。
証明書データ ストア内のリストを設定するには、管理 UI を使用します。