z/OS® Connect インターセプターの定義

z/OS® Connect は、サービスの起動、状況、開始、または停止などの操作と連携するインターセプター (メソッド) を使用可能にするフレームワークを提供します。 インターセプターは、z/OS Connect で提供される com.ibm.wsspi.zos.connect.Interceptor のサービス・プロバイダー・インターフェース (SPI) を実装した OSGi サービスです。

このタスクについて

インターセプターは、さまざまな目的で使用することができます。 z/OS Connect にインターセプターの用途はわかりません。 例えば、要求が処理される前にメッセージ・ペイロードを基にした何らかのインフラストラクチャー・セットアップを行うインターセプターが作成される場合があります。 z/OS Connect は、すべてのインターセプターに入力要求ペイロードのコピーを提供します。

z/OS Connect では、特定サービスに適用される属性のセットを管理者が構成するための <zosConnectService> 構成エレメントが用意されています。これらの属性の 1 つとして、interceptorsRef があります。 これは、特定サービスに対して実行する 1 つ以上のインターセプターをリストする構成エレメントを指します。

このタスクでは、z/OS Connect インターセプターおよびインターセプターのリストを定義する方法、 およびサーバーの構成でインターセプターを 1 つ以上のサービスに関連付ける方法について説明します。 このタスクには、z/OS Connect 提供のサービスの監査インターセプターと許可インターセプターを有効にする方法の説明も含まれます。

手順

  1. 1 つのインターセプターまたはインターセプターのリストを有効にする、server.xml 構成内の各サービスについて、 <zosConnectService> エレメントを更新します。
    <!--z/OS Connect service definitions -->
    <zosConnectService id="zcs1"
    	serviceName="recordOpsCreate" 
    	serviceRef="wolaOpsCreateService" 
    	interceptorsRef="opsCreateInterceptorList"/> 
  2. 関連する <zosConnectInterceptors> エレメントを作成します。
    <!-- User Interceptor definitions -->
    <usr_userInterceptorOne id="userI1" sequence="1"/> 
    <usr_userInterceptorTwo id="userI2" sequence="2"/> 
    
    <zosConnectInterceptors id="opsCreateInterceptorList" interceptorRef="userI1, userI2"/> 
    この例のインターセプター・リストの名前は greetingsInterceptorList です。 ここでは、userI1userI2 の 2 つのインターセプターが参照されています。 インターセプターの実装では、Liberty SPI 拡張を使用します。 これらのインターセプターは、Liberty サーバーに対してメタタイプを定義し、com.ibm.wsspi.zos.connect.Interceptor クラスの実装を作成する必要があります。この例では、このクラスの実装は、エレメント usr_userInterceptorOne と usr_userInterceptorTwo を定義したメタタイプで作成されています。 インターセプターのリストが指定される構成エレメントの名前は、interceptorsRef です。 これは、必須属性ではありません。
  3. オプション: グローバル・インターセプター・リストを作成し、 <zosConnectManager> エレメントで有効にします。 globalInterceptorsRef の項目は、構成内の全サービスに適用される z/OS Connect インターセプターのセットを記述した、 構成内のエレメントの名前です。
    <zosConnectManager id="zosConnectGlobals" globalInterceptorsRef="GlobalInterceptors"/> 
    
    <!-- User Interceptor definitions -->
    <usr_userInterceptorOne id="userI1" sequence="1"/> 
    <usr_userInterceptorTwo id="userI2" sequence="2"/> 
    <zosConnectInterceptors id="globalInterceptors" interceptorRef="userI1, userI2"/> 
  4. オプション: 単一または一連のサービスに対して z/OS Connect 提供の監査インターセプター、許可インターセプター、またはロギング・インターセプターを有効にします。 z/OS Connect 提供の監査インターセプターは、z/OS システム管理機能 (SMF) データ・セットに監査またはトラッキングの情報を保管するために、 com.ibm.wsspi.zos.connect.Interceptor SPI を実装します。 許可インターセプターは、要求されたアクションを実行する権限が現行の認証ユーザーにあることを検証できる機能を提供します。検査されるアクションの例として、サービスの action=invoke、start、stop があります。z/OS Connect サーバー構成で 1 つ以上のサービスにこれらのインターセプターを有効にします。 次の例は、1 つのサービスに監査インターセプターと許可インターセプターの両方を有効にする方法を示しています。
    <!-- z/OS Connect service definition -->  
    <zosConnectService id="zcs1"  
    	serviceName="recordOpsCreate"  
    	serviceRef="wolaOpsCreateService"  
    	interceptorsRef="opsCreateInterceptorList1"/>   
    
    <!-- Audit and authorization interceptor definitions -->  
    <authorizationInterceptor id="authInterceptor1" sequence="1"/>  
    <auditInterceptor id="auditInterceptor1" sequence="2"/>   
    
    <zosConnectInterceptors id="opsCreateInterceptorList1" interceptorRef="auditInterceptor1, authInterceptor1"/> 

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_zconnect_interceptor.html