ヘッダーをスキップ
Oracle® Fusion Middlewareアプリケーション・セキュリティ・ガイド
11g リリース1(11.1.1)
B56235-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

28 監査サービスを使用した開発

この章では、アプリケーション(監査クライアントとも呼ばれます)がどのようにOracle Fusion Middleware監査フレームワークを使用して監査機能を提供するかを説明します。11gリリース1(11.1.1.6)では、監査サービスが導入されています。このサービスは、アプリケーションをプログラム的に監査フレームワークに統合することにより、Oracleコンポーネントで使用可能な機能を使用して、監査イベントをログに記録し、コンプライアンス・レポートを生成することを可能にします。

監査サービスを使用して、アプリケーションは次のことを行えます:

この章の内容は次のとおりです。

28.1 監査フローへのアプリケーションの統合

図28-1に示すように、Oracle WebLogic Server上で動作するJava EEアプリケーションは、シームレスに監査フレームワークに統合でき、それを活用できます。

図28-1 監査フレームワークへのアプリケーションの統合

図28-1については周囲のテキストで説明しています。

アプリケーションのデプロイメント時または監査サービスの起動時に、Java EEアプリケーションまたはOracleコンポーネントなどのクライアントが監査サービスに登録されます。登録サービスは、component_events.xmlおよび関連ファイルに含まれる最新の監査定義でメタデータ・ストアを更新します。


関連項目:

監査フローの詳細は、第12.3項を参照してください。


この章の残りの項では、メタデータ・モデルの詳細、およびアプリケーションを監査フローに統合することにより監査イベントを記録して監査レポートを作成する方法について説明します。

28.2 監査メタデータ・モデル

監査フレームワークは、アプリケーションがその監査アーティファクトを柔軟に指定することを可能にするメタデータ・モデルをサポートしています。アプリケーションは属性グループ、カテゴリおよびイベントを動的に定義できます。

28.2.1 属性グループ

属性グループは監査属性の広範な分類を提供し、次の3つのタイプから構成されます。

  • 共通属性グループには、コンポーネント・タイプ、システムIPアドレス、ホスト名など、すべてのアプリケーションに共通のシステム属性が含まれます。

    IAU_COMMONデータベース表には、このグループ内の属性が含まれます。

  • 汎用属性グループには、認証やユーザー・プロビジョニングなどの監査アプリケーション領域に対する属性が含まれます。

  • カスタム属性グループには、特定のニーズに応じてアプリケーションで定義された属性が含まれます。カスタム・グループの属性は、そのコンポーネントのスコープに限定されます。

28.2.1.1 監査属性のデータ型

表28-1に、サポートされる属性のデータ型と対応するJavaオブジェクト・タイプを示します。

表28-1 監査属性のデータ型

属性のデータ型 Javaオブジェクト・タイプ 注意

Integer

Integer


Long

Long


Float

Float


Double

Double


Boolean

Boolean


DateTime

java.util.Date


String

String

最大長2048バイト

LongString

String

無限長

Binary

byte[]



28.2.1.2 共通属性グループ

共通属性グループは、IAU_COMMONデータベース表に格納されています。

28.2.1.3 汎用属性グループ

汎用属性グループは、ネームスペース、バージョン番号および1つ以上の属性で定義されます。この例は、ネームスペースauthorizationおよびバージョン1.0の属性グループを定義します。

<AuditConfig xmlns="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd" >
    <Attributes ns="authorization" version="1.0">
        <Attribute displayName="CodeSource" maxLength="2048" name="CodeSource" type="string"/>
        <Attribute displayName="Principals" maxLength="1024" name="Principals" type="string"/>
        <Attribute displayName="InitiatorGUID" maxLength="1024" name="InitiatorGUID" type="string"/>
        <Attribute displayName="Subject" maxLength="1024" name="Subject" type="string">
          <HelpText>Used for subject in authorization</HelpText>
        </Attribute>
    </Attributes>
        ……

アプリケーションは、次のようにCodeSource属性を参照できます。

<Attribute name="CodeSource" ns="authorization" version="1.0" />

各汎用属性グループは、専用のデータベース表に格納されます。ネーミング規則は次のとおりです。

  • 表名はIAU_GENERIC_ATTRIBUTE_GROUP_NAME

  • 表の列はIAU_ATTRIBUTE_NAME

たとえば、属性グループauthorizationは、次の列を含むデータベース表IAU_AUTHORIZATIONに格納されています。

  • 文字列であるIAU_CODESOURCE

  • 文字列であるIAU_PRINCIPALS

  • 文字列であるIAU_INITIATORGUID

28.2.1.4 カスタム属性グループ

カスタム属性グループは、ネームスペース、バージョン番号および1つ以上の属性で定義されます。

属性は次のものから構成されます。

  • 属性名

  • データ型

  • 属性/データベース列マッピング順序(属性が、カスタム属性表内の特定のデータ型のデータベース列にマップされる順序を指定します)

  • ヘルプ・テキスト(オプション)

  • 最大長

  • 表示名

この例は、ネームスペースaccountingおよびバージョン1.0の属性グループAccountingを定義します。

<Attributes ns="accounting" version="1.0">
 
            <Attribute name="TransactionType" displayName="Transaction Type" type="string" order="1"/>
            <Attribute name="AccountNumber" displayName="Account Number" type="int" order="2">
                <HelpText>Account number.</HelpText>
            </Attribute>
            ……
        </Attributes>

カスタム属性グループおよび属性は、IAU_CUSTOM表に格納されます。

28.2.2 イベント・カテゴリとイベント

監査イベント・カテゴリには、機能領域内の関連イベントが含まれます。たとえば、セッション・カテゴリには、ユーザー・セッションのライフ・サイクルで重要なログインおよびログアウト・イベントが含まれます。

イベント・カテゴリ自体は属性を定義しません。かわりに、コンポーネント内の属性およびシステム属性グループを参照します。

イベント・カテゴリには次の2つのタイプがあります。

  • システム・カテゴリ

  • コンポーネントとアプリケーション・カテゴリ

28.2.2.1 システム・カテゴリとイベント

システム・カテゴリは、共通および汎用属性グループを参照し、監査イベントを含みます。システム・カテゴリは、コンポーネント・イベント・カテゴリおよびイベントのベース・セットです。アプリケーションはそれらを直接参照し、監査イベントを記録して、フィルタ・プリセット定義を設定できます。

次の例は、メタデータ・モデルのいくつかの要素を示しています。

  • 共通属性グループ

  • 汎用属性グループidentityauthorization

  • 共通属性AuthenticationMethodを参照する属性を持つシステム・カテゴリUserSession

  • UserLoginおよびUserLogoutなどの監査イベント

<SystemComponent major="1" minor="0">
+<Attributes ns="common" version ="1.0"></Attributes>
+<Attributes ns="identity" version ="1.0"></Attributes>
+<Attributes ns="authorization" version ="1.0"></Attributes>
-<Events>
 -<Category name="UserSession" displayName="User Sessions">
  -<Attributes>
     <Attribute name="AuthenticationMethod" ns="common" version ="1.0" />
   </Attributes>
  -<HelpText></HelpText>
  -<Event name="UserLogin" displayName="User Logins" shortName="uLogin"></Event>
  -<Event name="UserLogout" displayName="User Logouts" shortName="uLogout" 
    xdasName="terminateSession"></Event>
  -<Event name="Authentication" displayName="Authentication"></Event>
  -<Event name="InternalLogin" displayName="Internal Login" shortName="iLogin"
    xdasName="CreateSession"></Event>
  -<Event name="InternalLogout" displayName="Internal Logout" shortName="iLogout"
    xdasName="terminateSession"></Event>
  -<Event name="QuerySession" displayName="Query Session"     shortName="qSession"></Event>
  -<Event name="ModifySession" displayName="Modify Session"     shortName="mSession"></Event>
  </Category>
 +<Category displayName="Authorization" name="Authorization"></Category>
 +<Category displayName="ServiceManagement" name="ServiceManagement"></Category>
 </Events>
</SystemComponent>

28.2.2.2 コンポーネント/アプリケーション・カテゴリ

コンポーネントまたはアプリケーションは、システム・カテゴリを拡張するか、新しいコンポーネント・イベント・カテゴリを定義できます。この例では、トランザクション・カテゴリはaccounting属性グループの属性AccountNumber、DateおよびAmountを参照し、イベントpurchaseおよびdepositを含みます。

 <Category displayName="Transaction" name="Transaction">
    <Attributes>
       <Attribute name="AccountNumber" ns="accounting" version="1.0"/>
       <Attribute name="Date" ns="accounting" version="1.0" />
       <Attribute name="Amount" ns="accounting" version="1.0" />
 </Attributes>
 
    <Event displayName="purchase" name="purchase"/>
    <Event displayName="deposit" name="deposit">
       <HelpText>depositing funds.</HelpText>
    </Event>
……
 </Category>

システム・カテゴリを拡張するには、アプリケーション監査定義内にカテゴリ参照を作成します。システム・カテゴリに含まれるシステム・イベントをリストし、そこに新しい属性参照およびイベントを追加します。

この例では、新しいカテゴリが、新しい属性参照ServiceTimeと新しいイベントrestartServiceで、システム・カテゴリServiceManagementを参照します。

<CategoryRef name="ServiceManagement" componentType="SystemComponent">
                <Attributes>
                    <Attribute name="ServiceTime" ns="accounting" version="1.0" />
                </Attributes>
 
                <EventRef name="startService"/>
                <EventRef name="stopService"/>
 
                <Event displayName="restartService" name="restartService">
                    <HelpText>restart service</HelpText>
                </Event>
                
</CategoryRef>

28.3 監査メタデータ・ストア

監査メタデータ・ストアはメタデータ・モデルに対するリポジトリを提供し、コンポーネント監査定義、NLS翻訳エントリ、実行時ポリシーおよびデータベース・マッピング表を含みます。


注意:

メタデータ・ストアは監査データ・ストアとは別のものです。


監査メタデータ・ストアは、次のような重要な監査機能をサポートします。

監査フレームワークは、次の3つのタイプのメタデータ・ストアをサポートしています。

新しいアプリケーションが監査サービスに登録されると、次の監査アーティファクトが監査ストアに格納されます。

28.4 監査フレームワークへのアプリケーションの統合

アプリケーションを監査フレームワークに統合するには、次の手順を実行します。

  1. 監査定義ファイルcomponent_events.xmlを作成します。

  2. アプリケーションのEARファイルにcomponent_events.xmlファイルをパッケージ化します。

  3. 監査イベントを記録できるように、監査イベントAPIをアプリケーション・コードに追加します。

  4. レポート用にOracle Business Intelligence Publisherを統合します。

  5. 監査イベント定義を更新し、必要に応じて再デプロイします。

次の各項では、これらのタスクについて詳しく説明します。

28.5 監査定義ファイルの作成

このタスクでは、次のファイルを作成します。

component_events.xmlファイル

component_events.xmlファイルには次の要素が含まれます。

component_events.xmlファイルの例を示します。

<?xml version="1.0"?>
<AuditConfig xmlns="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd">
    <AuditComponent componentType="ApplicationAudit" major="1" minor="0">
        <Attributes ns="accounting" version="1.0">

            <Attribute name="TransactionType" displayName="Transaction Type" type="string" order="1">
               <HelpText>Transaction type.</HelpText>
           </Attribute>
            <Attribute name="AccountNumber" displayName="Account Number" type="int" order="2">
                <HelpText>Account number.</HelpText>
            </Attribute>
            <Attribute name="Date" displayName="Date" type="dateTime" order="3"/>
            <Attribute name="Amount" displayName="Amount" type="float" order="4">
                <HelpText>Transaction amount.</HelpText>
            </Attribute>
            <Attribute name="Status" displayName="Account Status" type="string" order="5">
                <HelpText>Account status.</HelpText>
            </Attribute>
 
        </Attributes>
 
        <Events>
            <Category displayName="Transaction" name="Transaction">
                <Attributes>
                    <Attribute name="AccountNumber" ns="accounting" version="1.0" />
                    <Attribute name="Date" ns="accounting" version="1.0" />
                    <Attribute name="Amount" ns="accounting" version="1.0" />
                </Attributes>
 
                <Event displayName="purchase" name="purchase">
                    <HelpText>direct purchase.</HelpText>
                </Event>
                <Event displayName="deposit" name="deposit">
                    <HelpText>depositing funds.</HelpText>
                </Event>
                <Event displayName="withdrawing" name="withdrawing">
                    <HelpText>withdrawing funds.</HelpText>
                </Event>
                <Event displayName="payment" name="payment">
                    <HelpText>paying bills.</HelpText>
                </Event>
            </Category>
            <Category displayName="Account" name="Account">
                <Attributes>
                    <Attribute name="AccountNumber" ns="accounting" version="1.0" />
                    <Attribute name="Status" ns="accounting" version="1.0" />
                </Attributes>
 
                <Event displayName="open" name="open">
                    <HelpText>Open a new account.</HelpText>
                </Event>
                <Event displayName="close" name="close">
                    <HelpText>Close an account.</HelpText>
                </Event>
                <Event displayName="suspend" name="suspend">
                    <HelpText>Suspend an account.</HelpText>
                </Event>
            </Category>
        </Events>
        <FilterPresetDefinitions>
            <FilterPresetDefinition displayName="Low" helpText="" name="Low">
                <FilterCategory enabled="partial" name="Transaction">deposit.SUCCESSESONLY(HostId -eq &quot;NorthEast&quot;),withdrawing</FilterCategory>
                <FilterCategory enabled="partial" name="Account">open.SUCCESSESONLY,close.FAILURESONLY</FilterCategory>
            </FilterPresetDefinition>
            <FilterPresetDefinition displayName="Medium" helpText="" name="Medium">
                <FilterCategory enabled="partial" name="Transaction">deposit,withdrawing</FilterCategory>
                <FilterCategory enabled="partial" name="Account">open,close</FilterCategory>
            </FilterPresetDefinition>
            <FilterPresetDefinition displayName="High" helpText="" name="High">
                <FilterCategory enabled="partial" name="Transaction">deposit,withdrawing,payment</FilterCategory>
                <FilterCategory enabled="true" name="Account"/>
            </FilterPresetDefinition>
        </FilterPresetDefinitions>
 
        <Policy filterPreset="Low">
            <CustomFilters>
                <FilterCategory enabled="partial" name="Transaction">purchase</FilterCategory>
            </CustomFilters>
 
        </Policy>
 
    </AuditComponent>
</AuditConfig>

翻訳ファイル

アプリケーションに必要な翻訳ファイルを作成します。

翻訳ファイルは、様々な言語で監査定義を表示するために使用されます。ファイルはXLIFF形式で生成します。登録時に、この情報はコンポーネント監査イベント定義とともに監査メタデータ・ストアに格納されます。

28.5.1 マッピングとバージョニング・ルールについて

監査定義ファイルの作成時には、アプリケーションに対する監査メタデータの作成時に登録サービスが使用する特定のルールについて理解する必要があります。このメタデータは、監査定義の様々なバージョンを管理し、監査データをロードしてレポートを生成するために使用されます。

28.5.1.1 バージョン番号

各監査定義には、整数のメジャーおよびマイナー・バージョン番号が必要です(例: major = 1 minor=3)。監査イベント定義を変更した場合は、マイナーまたはメジャー番号あるいはその両方を変更することによりバージョンIDを変更する必要があります。

監査登録サービスは、バージョン番号を使用してイベント定義の互換性およびバージョン間の属性マッピングを決定します。


注意:

これらのバージョン番号はOracle Fusion Middlewareのバージョン番号とは関係ありません。


Oracleコンポーネントのバージョニング

Oracle Virtual DirectoryなどのOracleコンポーネントの登録時、監査登録サービスは、これが初めての登録であるかアップグレードであるかを確認します。

新規登録では、サービスは次の操作を実行します。

  1. コンポーネントの監査および翻訳情報を取得します。

  2. 定義を解析して検証し、監査メタデータ・ストアに格納します。

  3. 属性/列マッピング表を生成し、監査メタデータ・ストアに保存します。

アップグレードについては、メタデータ・ストア内のコンポーネントの現在のメジャーおよびマイナー番号が新しいメジャーおよびマイナー番号と比較され、アップグレードを続行するかどうかを決定します。

JavaEEアプリケーションのバージョニング

アプリケーションの監査定義の変更時には、メジャーおよびマイナー番号を次のように設定することをお薦めします。

  • マイナー・バージョン番号は、バージョン互換の変更(新しい監査定義から生成される属性データベース・マッピング表が、以前の属性データベース・マッピング表で作成された監査データでもそのまま使用できるような監査定義の変更)を加える場合にのみ増やします。

    たとえば、現在の定義バージョンがmajor=2およびminor=1であるとします。属性データベース・マッピング表に影響しない新規イベントの追加時には、マイナー・バージョンを2に変更し(minor=2)、メジャー番号はそのままにします(major=2)。

  • 新しいマッピング表が以前の表と互換性がないようなバージョン変更を加える場合には、メジャー・バージョン番号を増やします。

28.5.1.2 カスタム属性からデータベース列へのマッピング

新しいコンポーネントまたはアプリケーションの登録時、登録サービスはコンポーネントのカスタム属性から属性/データベース列マッピング表を作成し、この表を監査メタデータ・ストアに保存します。

属性/データベース列マッピング表は、アプリケーションの属性定義とデータベース列間で一意なマッピングを行うために必要です。監査ローダーはマッピング表を使用してデータを監査ストアにロードします。表はカスタム・データベース表IAU_CUSTOMから監査レポートを生成するためにも使用されます。

カスタム属性/データベース列マッピングには、属性名、データベース列名およびデータ型のプロパティがあります。

各カスタム属性定義には、マッピング順序番号が含まれている必要があります。同じデータ型の属性は、属性マッピング順序に従ってデータベース列にマップされます。たとえば、次のような定義ファイルがあるとします。

<Attributes ns="accounting" version="1.1">
   <Attribute name="TransactionType" type="string" maxLength="0"     displayName="Transaction Type" order="1"/>
   <Attribute name="AccountNumber" type="int" displayName="Account Number"     order="2">
   <Attribute name="Date" type="dateTime" displayName="Date" order="3"/>
   <Attribute name="Amount" type="float" displayName="Amount" order="4"/>
   <Attribute name="Status" type="string" maxLength="0" displayName="Account     Status" order="5"/>
   <Attribute name="Balance" type="float" displayName="Account Balance"     order="6"/>
</Attributes>

マッピングは次のようになります。

<AttributesMapping ns="accounting" tableName="IAU_CUSTOM" version="1.1">
   <AttributeColumn attribute="TransactionType" column="IAU_STRING_001"     datatype="string"/>
   <AttributeColumn attribute="AccountNumber" column="IAU_INT_001"     datatype="int"/>
   <AttributeColumn attribute="Date" column="IAU_DATETIME_001"     datatype="dateTime"/>
   <AttributeColumn attribute="Amount" column="IAU_FLOAT_001" datatype="float"/>
   <AttributeColumn attribute="Status" column="IAU_STRING_002" datatype="string"/>
   <AttributeColumn attribute="Balance" column="IAU_FLOAT_002" datatype="float"/>
</AttributesMapping>

属性/データベース列マッピング表のバージョンIDは、カスタム属性グループのバージョンIDに一致します。これにより、アプリケーションは異なる監査定義バージョン間でも、属性マッピングの下位互換性を維持できます。バージョニングの詳細は、第28.5.1.1項を参照してください。

28.6 登録サービスへのアプリケーションの登録

Java EEアプリケーションは、component_events.xmlcomponent_events_xlf.jarを、アプリケーションEARファイルのMETA-INFフォルダにパッケージ化することにより登録できます。監査登録サービスはアプリケーションのデプロイ時にそれらを自動的に処理します。

次のオプションがあります。

登録パラメータはOPSSデプロイメント・ディスクリプタopss-application.xmlで設定されます。これもアプリケーションEARファイルのMETA-INFフォルダにパッケージ化されます。表28-2に、パラメータとそのオプションを示します。

表28-2 監査登録サービスのパラメータ

パラメータ オプション 説明

opss.audit.registration

OVERWRITE

登録されているかどうかにかかわらず、コンポーネント監査定義を登録します。


UPGRADE

バージョニングのサポートに応じてコンポーネント監査定義を登録します。


DISABLE

コンポーネント監査定義を登録しません。

opss.audit.deregistration

DELETE(デフォルト・オプション)

アプリケーションのアンデプロイ時に、コンポーネント監査定義を監査ストアから削除します。


DISABLE

アプリケーションのアンデプロイ時に、コンポーネント監査定義を監査ストアに残します。


28.7 監査イベントを記録するためのアプリケーション・コードの追加

アプリケーションはプログラムにより実行時監査サービスにアクセスし、クライアントAPIを使用して独自の監査イベントを生成できます。

28.7.1 監査クライアントAPI

監査クライアントAPIは次のとおりです。

Interface AuditService {
 
Auditor getAuditor(String componentType);
 
void register(AuditRegistration auditRegistration);
 
void unregister(AuditRegistration auditRegistration);
 
}
 
 
 
Interface Auditor {
 
                boolean log(AuditEvent ev);
 
boolean isEnabled(String categoryName, String eventType, boolean eventStatus, Map<String, Object> properties);
 
}

public class oracle.security.jps.service.audit.AuditEvent {
   public AuditEvent(AuditContext ctx, String eventType, 
    String eventCategory, boolean eventStatus, String messageText);
   public void setInitiator(String initiator);
   public void setAttributeBoolean(String attributeName, Boolean attributeValue);
   public void setAttributeDouble(String attributeName, double attributeValue);
   public void setAttributeDate(String attributeName, Date attributeValue);
   public void setAttributeByteArray(String attributeName, byte[] attributeValue);
   public void setAttributeFloat(String attributeName, float attributeValue);
   public void setAttributeLong(String attributeName, long attributeValue);
   public void setAttributeInt(String attributeName, int attributeValue);
   public void setAttributeString(String attributeName, String attributeValue);
   public void setAttribute(String attributeName, Object attributeValue)
 
}

次の各項では、パーミッションおよび実行時監査インスタンスの取得方法について説明します。

28.7.2 システム権限の設定

監査サービスから監査インスタンスを取得するには、システム権限が必要です。この例では、権限によりアプリケーションMyAppAccessController.doPrivilegedブロック内のauditService.getAuditor("MyApp")をコールできます。

<grant>
   <grantee>
      <codesource>
       <url>file:${oracle.deployed.app.dir}/MyApp${oracle.deployed.app.ext}</url>
      </codesource>
   </grantee>
   <permissions>
      <permission>
       <class>oracle.security.jps.service.audit.AuditStoreAccessPermission</class>
       <name>MyApp</name>
       <actions>read</actions>
      </permission>
   </permissions>
 </grant>

28.7.3 監査インスタンスの取得

次のサンプル・コードが示すように、監査サービスへの登録後、アプリケーションはプログラムにより実行時監査インスタンスをOPSS監査サービスから取得できます。

//Gets audit service instance
 
final AuditService auditService = JpsServiceLocator.getServiceLocator().lookup(AuditService.class);
 
//Gets Auditor instance for application 'MyApp'
Auditor auditor = AccessController.doPrivileged(
                            new PrivilegedExceptionAction<Auditor>() {
                                public Auditor run() throws AuditException {
                                    return auditService.getAuditor("MyApp");
                                }
                            });
 
final String category = "Transaction";
final String eventName = "deposit";
 
//Check if event 'deposit' is enabled in filtering.
boolean enabled = auditor.isEnabled(category, eventName, "true", null);
if (enabled) {
        AuditContext ctx = new AuditContext();
        String message = "deposit transaction";
        //Creates an audit event
        AuditEvent ev = new AuditEvent(ctx, eventName, category, "true", message);
 
        //Sets event attributes
        ev.setInitiator("johnsmith");
        ev.setAttributeInt("accounting:AccountNumber", 2134567);
        ev.setAttributeDate("accounting:Date", new Date());
        ev.setAttributeFloat("accounting:Amount", 100.00);
 
        //Logs audit event
        boolean ret = auditor.log(event);
}

28.8 Oracle Business Intelligence Publisherとの統合

Oracle Business Intelligence Publisherを利用することにより、Oracleコンポーネントで使用可能なものと同じレポート機能を使用して、アプリケーションの監査データからレポートを生成できます。

基本手順は次のとおりです。

  1. マッピング表を使用して、Oracle BI Publisherレポート・テンプレートを生成します。

  2. Oracle BI Publisherレポート・サービスを設定します。

  3. レポート・テンプレートをOracle BI Publisherにコピーして、コンポーネント監査イベントを表示します。

  4. Oracle BI Publisherでレポートを生成します。

28.9 監査定義の更新と保守

アプリケーションの監査要件の変化に応じて、変化を反映するように統合を更新できます。手順は、次のとおりです:

  1. 監査ファイル定義を更新します。この手順の実行時にはバージョニング・ルールに注意してください。

  2. 更新されたイベント定義ファイルとともにアプリケーションEARファイルを再デプロイします。または、監査登録サービスに新しいバージョンの存在を通知することもできます。

  3. 変更を検証します。