6 Oracle Platform Security Services (OPSS)との監査の統合

ノート:

シングル・ポイント・セキュリティを設定する前に、Tuxedoのセキュリティのアーキテクチャと要件について理解しておく必要があります。この作業は、OPSS管理者と協調して行います。

6.1 概要

Oracle Tuxedoは、Oracle Platform Security Services (OPSS)監査コンポーネントと統合できます。この統合により、監査の分析とレポート作成に関してOPSSが持つすべての利点を生かすことができます。

この機能の特長は次のとおりです。:

  • ビジネス・インテリジェンス分析用のリッチなデータ

    OPSS監査コンポーネントとの統合により、Oracle Tuxedoではリッチなデータを生成して監査ストアに一元的に格納できます。その後引き続き多様なBIツール(OPSSなど)を使用して、Oracle Business Intelligence Publisherなどでデータを表示および分析できます。

  • 監査方法およびポリシーのカスタマイズ

    この機能では、静的XMLファイル(component_events.xml)に特定のイベントを定義することにより、それらのイベント用のデータを生成できます。このようにすると、アプリケーションに影響を与えることなく監査方法およびポリシーを変更できるため、非常に便利です。

  • 使い勝手のよいアプローチ

    OPSSは、標準ベースのアプリケーション・プログラミング・インタフェース(API)形式の抽象レイヤーを提供し、これによりセキュリティおよびID管理を実装する細かな作業から解放されます。OPSS監査コンポーネントとの統合により、Oracle TuxedoではこれらのOPSS APIを直接使用して監査を行うことができます。監査関連のコードを1行も記述する必要がなく、既存のコードを変更する必要もありません。

6.2 コンポーネントおよびデプロイメント

6.2.1 監査フロー

この図は、イベント(tpcallなど)が発生した際のOPSS監査フレームワークでのOracle Tuxedoイベント・フローを示しています。

図6-1 OPSSでのOracle Tuxedo監査フロー


OPSSでのOracle Tuxedo監査フローの図

Oracle Tuxedoの部分
この部分を使用するには、「構成」の手順に示すようにOracle Tuxedoを構成する必要があります。この図では、Oracle TuxedoクライアントがOracle Tuxedoサービスを呼び出しています。続いてこのサービスが、OPSS監査モジュール(.TUXJPSAUDIT)をすでに構成しているOracle Tuxedo Javaサーバーにリクエスト(イベントとも呼ばれます)を送信します。続いてこのモジュールが、OPSS監査APIを呼び出して、このイベントを監査するかどうかをチェックします。そうする場合、このモジュールは中間的な場所(バスストップと呼ばれます)にあるローカル・ファイルに対してそれを監査して、監査イベント構造体を作成し、ステータス、イニシエータ、リソース、ECIDなどのイベント情報を収集します。
OPSSの部分
この部分を使用するには、OPSSスタンドアロン監査ローダーを構成する必要があります。OPSS APIがバスストップに対してイベントを監査すると、OPSS監査ローダーがインスタンスで実行中のすべてのコンポーネントにわたって監査レコードを収集します。監査ストアとしてデータベースが構成されている場合、OPSS監査ローダーはバスストップからイベントをプルしてそのデータを監査ストアに移動します。

6.3 構成

この機能用にOracle Tuxedoを構成するには、次の操作を実行します:

6.3.1 Oracle TuxedoレジストリへのOPSS監査プラグインの登録

Oracle Tuxedoレジストリは、プラグイン・モジュールに関連する情報を格納しておくディスク・ベースのリポジトリです。初期状態では、このレジストリはデフォルトのセキュリティ・プラグインに関する登録情報を保持しています。この機能を使用するためには、OPSSプラグイン用にこのレジストリを構成してからプラグインをインストールする必要があります。

6.3.1.1 Oracle TuxedoレジストリへのOPSS監査プラグインの登録

Oracle TuxedoレジストリにOPSSプラグインを登録するには、epifregツールを使用する必要があります。OPSSプラグインを登録すると、デフォルトのOracle Tuxedo監査実装がULOGからOPSS監査に置き換わります。

次のリストに例を示します。

リスト Oracle TuxedoレジストリへのOPSS監査プラグインの登録の例

epifregedt -s -k "SYSTEM/impl/bea/native/audfan" -a InterceptionSeq=bea/native/audopss
epifreg -r -p bea/native/audopss -i engine/security/auditing -v 1.0 -f libtux.so -e _ep_dl_audopss

Oracle TuxedoレジストリにOPSS監査プラグインを登録するには、$TUXDIR/binにある次のシェル・スクリプト・ツールを使用します。

  • opssreg.bat

    WindowsプラットフォームにOracle TuxedoのOPSS監査プラグインを登録するコマンド。

  • opssreg.sh

    UNIXプラットフォームにOracle TuxedoのOPSS監査プラグインを登録するコマンド。

6.3.1.2 Oracle TuxedoレジストリからのOPSS監査プラグインの登録解除

Oracle TuxedoレジストリからOPSSプラグインを登録解除するには、epifunregツールを使用する必要があります。OPSSプラグインを登録解除すると、デフォルトのOracle Tuxedo監査実装がULOGに復元されます。

次のリストに例を示します。

リスト Oracle TuxedoレジストリからのOPSS監査プラグインの登録解除の例

epifunreg -p bea/native/audopss

Oracle TuxedoレジストリからOPSS監査プラグインを登録解除するには、.$TUXDIR/binにある次のシェル・スクリプト・ツールを使用します:

  • opssunreg.bat

    WindowsプラットフォームでOracle TuxedoのOPSS監査プラグインを登録解除するコマンド。

  • opssunreg.sh

    UNIXプラットフォームでOracle TuxedoのOPSS監査プラグインを登録解除するコマンド。

6.3.2 Oracle Tuxedo監査フレームワークの構成

この機能を使用するには、Oracle Tuxedo監査フレームワークを作成する必要があります。

  • Oracle Tuxedoプラグイン・フレームワークへのOPSS監査の追加

    Oracle Tuxedo監査構成ルールに従って、Tuxedoプラグイン・フレームワークにOPSS監査を追加します。詳細は、「監査」を参照してください。

  • UBBCONFIGのセキュリティ・オプションの構成

    UBBCONFIGRESOURCESセクションで、SECURITYオプションをACLまたはMANDATORY_ACLに設定します。

6.3.3 Oracle Tuxedo OPSS監査モジュールの構成

この機能を使用するには、Oracle Tuxedo OPSS監査モジュールを構成する必要があります。

6.3.3.1 Oracle Tuxedo Javaサーバー(TMJAVASVR)の構成

Oracle Tuxedo OPSS監査モジュールは、Oracle Tuxedo Javaサーバー(TMJAVASVR)で実行されるため、UBBCONFIGTMJAVASVRを構成する必要があります。TMJAVASVRは、監査リクエスト全体を処理して、監査モジュール.TUXJPSAUDITを通知します。これは、OPSS監査があるOracle TuxedoシステムとOracle Tuxedoアプリケーション・サービスとのブリッジとして機能します。次のリストに、UBBCONFIGSERVERSセクションにTMJAVASVRを構成する例を示します。

TMJAVASVRの機能を次に示します

  • 構成ファイルtpopss_audit.xmlを読み取ります。
  • 監査モジュール.TUXJPSAUDITを通知します。これは、tpopss_audit.xmlに従ってJavaコードで実装されています。
  • JVMを起動します。
  • 監査リクエストを.TUXJPSAUDITに転送します。
  • この.TUXJPSAUDITからの結果を取得して実行します。

リスト TMJAVASVRの構成例

*SERVERS 
          TMJAVASVR 
          SRVGRP=TJSVRGRP SRVID=3 
          CLOPT="-- -c/home/oracle/app/javaserver/tpopss_audit.xml" 
          MINDISPATCHTHREADS=2 MAXDISPATCHTHREADS=3
6.3.3.2 Oracle Tuxedo OPSS監査モジュールの構成

TMJAVASVRを構成したので、${TUXDIR}/udataobj/tuxj/opssにあるtpospss_audit.xmlというOracle Tuxedo Javaサーバー構成ファイルにOracle Tuxedo OPSS監査モジュールを構成できます。

Oracle Tuxedo Javaサーバーがこの機能のために使用するパッケージが2つあります。com.oracle.tuxedo.tjopss_12.2.2.0.jar (Oracle Tuxedoに同梱され、${TUXDIR}/udataobj/tuxj/opssにある)とopss-manifest.jar (OPSSに同梱され、-Dcommon.components.homeで指定されたパスにある)です。たとえば、-Dcommon.components.home=/testarea/tuxuser/opss_standalone/を指定した場合、このopss-manifest.jar/testarea/tuxuser/opss_standalone/modules/oracle.jps_12.1.2/opss-manifest.jarにあります)です。

例のリストには、次の属性が指定されています。

6.3.3.2.1 java-config

次のjvm-options属性を宣言し、設定するすべてのパスが絶対パスであることを確認します。

  • 必須のjvm-options
    • -Doracle.security.jps.config

      これは、OPSS構成ファイルjps-config.xmlの絶対パスを宣言します。

    • -Djava.security.policy

      これは、java.policyの絶対パスを宣言します。

    • -Doracle.tuxedo.opss.event.config.dir

      これは、component_events.xmlの絶対パスを宣言します。

    • -Doracle.tuxedo.audit.type

      これは、TMJAVASVR .TUXJPSAUDITのコンポーネント・タイプを宣言して、どのコンポーネント表がバスストップにレコードを格納するかを決定します。

    • -Doracle.tuxedo.audit.category

      これは、TMJAVASVR .TUXJPSAUDITのコンポーネント・イベント・カテゴリを宣言します。

    • -Dcommon.components.home

      これは、OPSSコンポーネント・ホーム・ディレクトリの絶対パスを宣言します。

  • オプションのjvm-options
    • -Djps.auth.debug
    • -Djps.auth.debug.verbose

    この2つのjvm-optionsをtrueに設定すると、JPSデバッグおよびトレース機能が開きます。

6.3.3.2.2 classpath-config

次のclasspath属性を宣言し、設定したすべてのパスが絶対パスであることを確認します。

  • com.oracle.tuxedo.tjopss_12.2.2.0.jar

    Oracle Tuxedoには、OPSS監査モジュールを統合するためのcom.oracle.tuxedo.tjopss_12.2.2.0.jarが同梱されています。このライブラリは、$TUXDIR/udataobj/tuxj/opssに存在します。

    このパスは、tpopss_audit.xml<classpath-config> classpath属性に宣言する必要があります。

  • opss-manifest.jar

    Oracle OPSSモジュールには、opss-manifest.jarが同梱されています。

    このパスは、tpopss_audit.xml<classpath-config> classpath属性に宣言する必要があります。

リスト tpopss_audit.xmlの例

<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
<!--
do not forget modify $TUXDIR $COMMON_COMPONENTS_HOME $APPDIR to absolute path
-->
<java-config>
<jvm-options>-Dtuxedo.tjatmi.strictly_check=yes</jvm-options>
<jvm-options>-Doracle.security.jps.config=${TUXDIR}/udataobj/tuxj/opss/jps
-config.xml</jvm-options>
<jvm-options>-Djava.security.policy=${TUXDIR}/udataobj/tuxj/opss/java.poli
cy</jvm-options>
<jvm-options>-Doracle.tuxedo.opss.event.config.dir=${TUXDIR}/udataobj/tuxj
/opss/</jvm-options>
<jvm-options>-Doracle.tuxedo.audit.type=tuxedo_opss_template</jvm-options>
<jvm-options>-Doracle.tuxedo.audit.category=TUXEDOOPSSAUDIT</jvm-options>
<jvm-options>-Dcommon.components.home=${COMMON_COMPONENTS_HOME}</jvm-options>

<jvm-options>-Djps.auth.debug=true</jvm-options>
<jvm-options>-Djps.auth.debug.verbose=true</jvm-options>
</java-config>

<classpath-config>
<classpath>${TUXDIR}/udataobj/tuxj/opss/com.oracle.tuxedo.tjopss_13.1.1.0.
jar</classpath>
<classpath>${COMMON_COMPONENTS_HOME}/modules/oracle.jps_12.1.2/opss-manifest.jar</classpath>
</classpath-config>

<tux-server-config>
<server-class name="TuxAuditServer"/>
</tux-server-config>

</TJSconfig>

6.3.4 OPSS構成ファイルの構成

この機能を使用するには、次のOPSS構成ファイルを構成する必要があります。これらはすべて、$TUXDIR/udataobj/tuxj/opssにあります。

6.3.4.1 jps-config.xml

Oracle Tuxedoは、OPSS監査プラグインを使用するための初期フィルタ設定が含まれているjps-config.xmlランタイム構成ファイルを介して、Oracle Fusion Middleware監査フレームワークと統合されます。その絶対パスをtpopss_audit.xml構成ファイルに宣言する必要があります(jvm-options: -Doracle.security.jps.config)。詳細は、「Oracle Tuxedo OPSS監査モジュールの構成」を参照してください。

例は、次のリストを参照してください。jps-config.xmlではserviceInstance auditを宣言しており、プロバイダをaudit.provider、場所を./audit-store.xmlとしています。

リスト jps-config.xmlの例

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jpsConfig xmlns="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-major-version="11" schema-minor-version="1"
xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd jps-config-11_1.xsd">
<property name="oracle.security.jps.jaas.mode" value="off"/>
<property name="oracle.security.jps.enterprise.user.class"
value="weblogic.security.principal.WLSUserImpl"/>
<property name="oracle.security.jps.enterprise.role.class"
value="weblogic.security.principal.WLSGroupImpl"/>
<propertySets>
<propertySet name="saml.trusted.issuers.1">
<property name="name" value="www.oracle.com"/>
</propertySet>
<propertySet name="trust.provider.embedded">
<property name="trust.provider.className"
value="oracle.security.jps.internal.trust.provider.embedded.EmbeddedProviderImpl"/>
<property name="trust.clockSkew" value="60"/>
<property name="trust.token.validityPeriod" value="1800"/>
<property name="trust.token.includeCertificate" value="false"/>
</propertySet>
</propertySets>
<serviceProviders>
<serviceProvider type="POLICY_STORE" name="policystore.xml.provider"
class="oracle.security.jps.internal.policystore.xml.XmlPolicyStoreProvider">
<description>XML-based PolicyStore Provider</description>
</serviceProvider>
<serviceProvider type="AUDIT" name="audit.provider"
class="oracle.security.jps.internal.audit.AuditProvider">
<description>Audit Service</description>
</serviceProvider>
</serviceProviders>
<serviceInstances>
<serviceInstance name="policystore.xml"
provider="policystore.xml.provider" location="./system-jazn-data.xml">
<description>File Based Policy Store Service
Instance</description>
</serviceInstance>
<serviceInstance name="audit" provider="audit.provider" location="./audit-store.xml">
<description>Audit Service</description>
<property name="audit.filterPreset" value="None"/>
<property name="audit.maxDirSize" value="0"/>
<property name="audit.maxFileSize" value="104857600"/>
<property name="audit.timezone" value="utc"/>
<property name="audit.loader.interval" value="15"/>
<property name="audit.loader.repositoryType" value="File"/>
<property name="auditstore.type" value="file"/>
<property name="audit.db.principal.map"
value="AuditDbPrincipalMap"/>
<property name="audit.db.principal.key"
value="AuditDbPrincipalKey"/>
</serviceInstance>
</serviceInstances>
<jpsContexts default="default">
<jpsContext name="default">
<serviceInstanceRef ref="policystore.xml"/>
<serviceInstanceRef ref="audit"/>
</jpsContext>
</jpsContexts>
</jpsConfig>
6.3.4.2 java.policy

java.policyは、システム全体のコード権限を付与するシステム・ポリシー・ファイルです。このポリシーは、Javaプログラミング言語アプリケーション環境のポリシー・オブジェクトで表されます(様々なソースのコードに対してどの権限を使用できるかを指定し、様々なプリンシパルとして実行されます)。特にこの機能の場合、OPSS監査APIを呼び出すために、このファイルを使用して、すべてのドメインに監査ストアへのアクセス権限を付与する必要があります。その絶対パスをtpopss_audit.xml構成ファイル(jvm-options: -D Djava.security.policy)に宣言する必要があります。詳細は、「Oracle Tuxedo OPSS監査モジュールの構成」を参照してください。例は、次のリストを参照してください。次の2つの付与を特にこの機能用に追加しています。

  • これは、file:${common.components.home}/modules/oracle.jps_12.1.2/*への権限を付与します。ここには、opss-manifest.jarが存在します。
    grant codeBase "file:${common.components.home}/modules/oracle.jps_12.1.2/*" {
             permission java.security.AllPermission; 
             };
  • これは、file:${oracle.deployed.app.dir}/*への権限を付与します。ここには、必須の構成ファイル(tpopss_audit.xmljps-config.xmlcomponent_events.xmlaudit-store.xmljava.policyおよびsystem-jazn-data.xml)が存在します。
    grant codeBase "file:${oracle.deployed.app.dir}/*" {
             permission java.security.AllPermission;
    };
// Standard extensions get all permissions by default

         grant codeBase "file:${{java.ext.dirs}}/*" { 
         permission java.security.AllPermission; 
         }; 
         // default permissions granted to all domains 
         grant { 
         // Allows any thread to stop itself using the java.lang.Thread.stop() 
        // method that takes no argument. 
        // Note that this permission is granted by default only to remain 
        // backwards compatible. 
        // It is strongly recommended that you either remove this permission
       // from this policy file or further restrict it to code sources 
       // that you specify, because Thread.stop() is potentially unsafe. 
      // See "http://java.sun.com/notes" for more information. 
         permission java.lang.RuntimePermission "stopThread";

     // allows anyone to listen on un-privileged ports permission
         java.net.SocketPermission "localhost:1024-", "listen"; 

    //  "standard" properies that can be read by anyone 

         permission java.util.PropertyPermission "java.version", "read"; 
         permission java.util.PropertyPermission "java.vendor", "read";
         permission java.util.PropertyPermission "java.vendor.url", "read"; 
         permission java.util.PropertyPermission "java.class.version", "read";
         permission java.util.PropertyPermission "os.name", "read";
         permission java.util.PropertyPermission "os.version", "read";
         permission java.util.PropertyPermission "os.arch", "read";
         permission java.util.PropertyPermission "file.separator", "read";
         permission java.util.PropertyPermission "path.separator", "read";
         permission java.util.PropertyPermission "line.separator", "read";

         permission java.util.PropertyPermission "java.specification.version", "read"; 
         permission java.util.PropertyPermission "java.specification.vendor", "read";
         permission java.util.PropertyPermission "java.specification.name", "read"; 
         permission java.util.PropertyPermission "java.vm.specification.version", "read";
         permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; 
         permission java.util.PropertyPermission "java.vm.specification.name", "read"; 
         permission java.util.PropertyPermission "java.vm.version", "read"; 
         permission java.util.PropertyPermission "java.vm.vendor", "read"; 
         permission java.util.PropertyPermission "java.vm.name", "read"; 
         };

         grant codeBase
          "file:${common.components.home}/modules/oracle.jps_12.1.2/*" 
           permission java.security.AllPermission;
           {;   
   
         grant codeBase "file:${common.components.home}/modules/oracle.iau_12.1.2/*" {
         permission java.security.AllPermission; 
         }; 

         grant codeBase "file:${classpath}/*" { 
         permission java.security.AllPermission; 
         };

         grant codeBase "file:${oracle.deployed.app.dir}/*" {
         permission java.security.AllPermission; 
         }; 

         grant codeBase "file:${TUXDIR}/udataobj/tuxj/opss/*" { 
         permissionjava.security.AllPermission; 
         }; 

         grant codeBase "file:${TUXDIR}/udataobj/tuxj/*" {
         permission java.security.AllPermission; };
6.3.4.3 component_events.xml (静的)およびaudit-store.xml (動的)

component_events.xmlは、OPSS監査プラグインによって生成されるすべての監査イベントを定義する静的ファイルです。audit-store.xmlは、静的ファイルcomponent_events.xmlからマップされるすべての監査イベントを定義する動的ファイルです。

Oracle Tuxedo監査モジュール.TUXJPSAUDITtmboot後、特定のコンポーネントの監査ポリシーがaudit-store.xmlに格納されます。.TUXJPSAUDITは、自動的にイベント・コンポーネントを登録し、それをcomponent_events.xmlからaudit-store.xmlにマップします。イベント・コンポーネントを自動的に登録解除した後、.TUXJPSAUDITはそれをaudit-store.xmlから削除します。

ノート:

Oracle TuxedoはOPSSスタンドアロン・コンポーネントに依存しているため、実際にはaudit-store.xmlがこの機能のために主に使用されるファイルです。それでも、引き続き静的ファイルcomponent_events.xmlを使用して監査ポリシーを調整し、CLASSPATHcomponent_events.xmlを指定する必要があります。詳細は、「監査ポリシーの変更」を参照してください。

component_events.xmlの絶対パスをtpopss_audit.xml構成ファイルに宣言する必要があります(jvm-options: -Doracle.tuxedo.opss.event.config.dir)。詳細は、「Oracle Tuxedo OPSS監査モジュールの構成」 を参照してください。

component_events.xml構成ファイルで、次のように設定する必要があります。

  • componentType

    監査対応コンポーネントとは、Oracle Fusion Middleware監査フレームワークに統合され、監査ポリシーの構成とイベントの監査が可能なコンポーネントを指します。また、tpopss_audit.xmlcomponentTypeを設定する必要があります(jvm-options: -Doracle.tuxedo.audit.type)。

  • category

    監査イベント・カテゴリには、機能領域内の関連イベントが含まれます。属性は、ベースに分類されます。また、tpopss_audit.xmlcategoryを設定する必要があります(jvm-options: -Doracle.tuxedo.audit.category)。

    例は、次のリストを参照してください。

  • componentTypetuxedo_opss_templateに設定されます("<jvm-options>-Doracle.tuxedo.audit.type=tuxedo_opss_template</jvm-options>"と同じ)。
  • categoryTUXEDOOPSSAUDITに設定されます("<jvm-options>-Doracle.tuxedo.audit.category=TUXEDOOPSSAUDIT</jvm-options>"と同じ)。

リスト component_events.xmlの例

<?xml version="1.0" encoding="UTF-8"?><AuditConfig
         xmlns="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd">
         <AuditComponent minor="0" major="1" componentType="tuxedo_opss_template"> 
         <Attributes version="1.0" ns="tuxedo_opss_template"> 
         <Attribute order="1" displayName="visitor ID" required="true" searchable="true" maxLength="255" type="string" name="visitorid">
         <HelpText>Visitor ID</HelpText> 
         </Attribute>
         <Attribute order="2" displayName="Start Time" required="true" searchable="true" maxLength="2048" type="dateTime"name="starttime"> <HelpText>The time a visitor enters.</HelpText> </Attribute> <Attribute order="3"
         displayName="End Time" required="true" searchable="true"
         maxLength="2048" type="dateTime" name="endtime">
         <HelpText>the time a visitor exists.</HelpText>
         </Attribute><Attribute order="4" displayName="Service
         Charge" required="true" searchable="true" maxLength="2048"
         type="float" name="fee"> <HelpText>the dollar amount a
         visitor pays.</HelpText> </Attribute><Attribute
         order="5" displayName="Service Item" required="true"
         searchable="true" maxLength="2048" type="float" name="item">
         <HelpText>the name of an item a visitor
         borrows.</HelpText>
         </Attribute></Attributes><Events>
         <Category displayName="TUXEDOOPSSAUDIT" name="TUXEDOOPSSAUDIT">
         <Attributes> 
         <Attribute version="1.1" ns="common" name="EventType">
         <HelpText>The type of the audit event. Use wlst listAuditEvents to list out all the events.</HelpText> 
         </Attribute> 
         <Attribute version="1.0" ns="tuxedo_opss_template" name="visitorid">
         <HelpText>Visitor ID</HelpText> 
         </Attribute>
         <Attribute version="1.0" ns="tuxedo_opss_template"
         name="starttime"> <HelpText> The time a visitor centers.</HelpText> 
         </Attribute> 
         <Attribute version="1.0" ns="tuxedo_opss_template" name="endtime">
         <HelpText>the time a visitor exists.</HelpText>
         </Attribute> 
         </Attributes>
         <HelpText>TUXEDOOPSSAUDIT category</HelpText> <Event displayName="SERVICECALL" name="SERVICECALL"> 
         <HelpText>A service call enters the facility.</HelpText> 
         </Event>
         <Event displayName="ENQUEUE" name="ENQUEUE">
         <HelpText>A enqueue enters the facility.</HelpText>
         </Event> <Event displayName="DEQUEUE" name="DEQUEUE">
         <HelpText>A dequeue enters the facility.</HelpText>
         </Event> <Event displayName="POST" name="POST">
         <HelpText>A post call enters the facility.</HelpText>
         </Event> <Event displayName="CONNECT" name="CONNECT">
         <HelpText>A connect enters the facility.</HelpText>
         </Event> 
         <Event displayName="IMPERSONATE" name="IMPERSONATE"> 
         <HelpText>A impersonate enters the facility.</HelpText> 
         </Event> 
         <Event displayName="LOGON" name="LOGON"> 
         <HelpText>A logon enters the facility.</HelpText> 
         </Event> 
         <Event displayName="LOGOFF" name="LOGOFF"> 
         <HelpText>A logoff enters the facility.</HelpText> 
         </Event> 
         <Event displayName="DECRYPT" name="DECRYPT"> 
         <HelpText>A decrypt enters the facility.</HelpText> 
         </Event> 
         <Event displayName="SERVICESIGNATURE" name="SERVICESIGNATURE">
         <HelpText>A service signature enters the facility.</HelpText> 
         </Event> 
         <Event displayName="SERVICEENCRYPTION" name="SERVICEENCRYPTION">
         <HelpText>A service encryption enters the facility.</HelpText> 
         </Event> 
         <Event displayName="QUEUESIGNATURE" name="QUEUESIGNATURE">
         <HelpText>A queue signature enters the facility.</HelpText> 
         </Event> 
         <Event displayName="EVENTSIGNATURE" name="EVENTSIGNATURE">
         <HelpText>A event signature enters the facility.</HelpText> 
         </Event> 
         <Event displayName="EVENTENCRYPTION" name="EVENTENCRYPTION">
         <HelpText>A event encryption enters the facility.</HelpText> 
         </Event> 
         <Event displayName="SIGNATURE" name="SIGNATURE"> 
         <HelpText>A signature enters the facility.</HelpText> 
         </Event>
         <Event displayName="QUEUEENCRYPTION" name="QUEUEENCRYPTION">
         <HelpText>A queue encryption enters the facility.</HelpText> 
         </Event> 
         <Event displayName="UNKNOWN" name="UNKNOWN"> <HelpText>A unknown enters the facility.</HelpText> 
         </Event>
         </Category> </Events> <FilterPresetDefinitions>
         <FilterPresetDefinition helpText="" displayName="Low"
         name="Low"> <FilterCategory enabled="partial"
         name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
         </FilterPresetDefinition> <FilterPresetDefinition
         helpText="" displayName="Medium" name="Medium">
         <FilterCategory enabled="partial"
         name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
         </FilterPresetDefinition> </FilterPresetDefinitions>
         <Policy filterPreset="Custom"> 
         <CustomFilters>
         <FilterCategory enabled="partial"
         name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
         </CustomFilters> 
         </Policy> 
         <AttributesMapping version="1.0" tableName="IAU_CUSTOM" ns="tuxedo_opss_template">
         <AttributeColumn datatype="string" column="IAU_STRING_001" attribute="visitorid"/> 
         <AttributeColumn datatype="dateTime" column="IAU_DATETIME_001" attribute="starttime"/>
         <AttributeColumn datatype="dateTime" column="IAU_DATETIME_002" attribute="endtime"/> 
         <AttributeColumn datatype="float" column="IAU_FLOAT_001" attribute="fee"/>
         <AttributeColumn datatype="float" column="IAU_FLOAT_002" attribute="item"/>
         </AttributesMapping> 
         </AuditComponent>
         </AuditConfig>
6.3.4.4 system-jazn-data.xml

system-jazn-data.xmlはOPSS構成ファイルです。Oracle Tuxdoにはこのファイルがデフォルトで$TUXDIR/udataobj/tuxj/opssに用意されており、この機能のために使用されます。このファイルはそのまま保持し、変更または削除しないでください。このファイルの詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

6.3.5 OPSS監査バスストップの構成

この機能を使用するには、OPSS監査バスストップを構成する必要があります。

OPSS監査バスストップ・ファイルには、audit_<rotation_index>.logという名前を付けます。アンダースコア(_)をセパレータとして使用できます(現在のファイルには、_<rotation_index>は不要です)。

監査バスストップ・ファイルの場所は、現時点では構成できません。Oracle Tuxedo OPSS監査バスストップ・ファイルは、jps-config.xmlの親ディレクトリにあります。例:

<parent directory of
         jps-config.xml>/logs/auditLogs/<componentType>

例は、次のリストを参照してください。

リスト OPSS監査バスストップ・ファイルの例

#Fields:Date Time Initiator EventType EventStatus MessageText AuditUser ApplicationName AuditService:TransactionId ContextFields
         DomainName ECID EventCategory FailureCode HomeInstance HostId HostNwaddr MajorVersion MinorVersion RID RemoteIP Resource Roles
         SessionId Target TargetComponentType TenantId ThreadId TransactionId UserSession:AuthenticationMethod UserTenantId
         tuxedo_opss_template:endtime tuxedo_opss_template:fee tuxedo_opss_template:item tuxedo_opss_template:starttime
         tuxedo_opss_template:visitorid

         #Remark Values:ComponentType="tuxedo_opss_template" ReleaseVersion="MAIN"
          2015-05-12 06:27:39.259 - "SERVICECALL" true "WARN: TUXEDO AUDIT: who = U1, operation_name = SERVICECALL, operation_target = TOUPPER, status = operation success" - - - - - "0000Kp6nelk8TsS_MDS4ye1LKPpR000002,0"
         "TUXEDOOPSSAUDIT" - - "wyhbj" "10.182.54.145" "1" "0" - - - - - - - - "12" - - - 2015-05-12 06:27:38.794 - - 2015-05-12 06:27:38.794 "U1"

6.4 管理

6.4.1 監査ポリシーの変更

静的構成ファイルcomponent_events.xmlでイベントを追加、削除または変更して、監査ポリシーをいつでも変更できます。監査ポリシーへの変更は、Oracle Tuxedoを再起動するとすぐに有効になります(tmboot後、.TUXJPSAUDITは対応する動的audit-store.xmlで監査ポリシーを自動的に更新します)。

詳細は、「component_events.xml (静的)およびaudit-store.xml (動的)」を参照してください。