セキュリティ、アーティファクト変更およびLCMイベントの監査

サービス管理者は、セキュリティ監査を有効にして、Essbaseサーバーに加えられた変更をトラッキングできます。

監査ポリシー・ファイルで指定したパラメータに基づいて、Essbaseは、システム・レベルのセキュリティ、アーティファクト、LCMイベントおよび実行されたMaxL文(インポートを含む)の変更に関する情報を収集します。Essbaseは、トラッキング情報を監査ログ・ファイルに統合するか、外部データベースにストリーミングします。各イベントに関するトラッキング情報には、時間、クライアント、ユーザー、影響を受けるアーティファクト、期間、ID、アプリケーション名とデータベース名、ステータスおよび説明が含まれます。

AUDITTRAIL SECURITY Essbase構成設定を使用して、これらのイベントのサーバー・レベルの監査を有効にします。

Essbaseサーバーに対してセキュリティ監査を有効にするワークフロー

このワークフローでは、AUDITTRAIL SECURITYを使用してEssbaseサーバーでセキュリティ監査を有効にする方法について説明します。監査を有効にした後、EssbaseSecurityAuditLogPolicyを定義します。Essbaseで監査レコードをCSVファイルに書き込むことも、外部データベースにストリーミングこともできます。

このワークフローでは、Oracle Databaseは外部データベースですが、SQL Server、MySQLまたはDB2を使用することもできます。

このワークフローを実行するには、システム管理者である必要があります。また、Essbaseサーバー・マシン上の<Essbase Config Path>にアクセスする必要があります。

このパスには、編集する必要があるファイルが含まれています:
  • essbase.cfg構成ファイル
  • デフォルトのセキュリティ監査ポリシー・ファイル
  1. Essbaseサーバー・マシンにあるessbase.cfgに次の構成を追加することでサーバー・イベントの監査を有効にします:

    AUDITTRAIL SECURITY

    構成を更新したら、Essbaseを再起動します。

    サーバー・レベルの構成プロパティの設定およびサーバーの起動、停止およびチェックを参照してください。

  2. デフォルトのポリシー・ファイル(XML)がEssbaseサーバー上に作成されます。このファイル(EssbaseSecurityAuditLogPolicy.xml)は、Essbase構成を格納するデプロイメントの構成フェーズの間に指定したパスにあります(<Essbase構成パス>。essbase.cfgが存在する場所でもある)。

    作成されたデフォルト・ポリシー・ファイルには、次の内容が含まれています:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>CSV</audit_sink_type>
             <max-file-size>50000000</max-file-size>
             <roll-nos>100</roll-nos>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
    
    CSVはデフォルトの監査シンク・タイプです。デフォルト(CSV)の監査シンク・タイプを使用しており、監査詳細がセキュリティ監査ログのCSVファイルに書き込まれることをテストする必要がある場合は、
    1. アプリケーションの作成など、監査可能イベントであるアクションを実行します。ポリシーの<audit_events_to_capture>セクションにリストされているどのアクションでも選択できます。
    2. EssbaseサーバーにSSH接続します。
    3. <DOMAIN_HOME>/servers/serverName/logs/essbase/に移動します。<DOMAIN_HOME>の場所がわからない場合は、Essbaseプラットフォームでの環境の場所を参照してください。
    4. ファイルSecurityAuditLog_n.csvを開いて確認します。

      セキュリティ監査ログのCSVファイルの例:
      セキュリティ監査のcsvファイルの図。

  3. セキュリティ監査証跡を外部データベースにストリーミングする必要がある場合は、

    1. 外部ソースへの接続を作成します。「グローバル接続とデータソースの作成」または「アプリケーション・レベルの接続とデータソースの作成」を参照してください。
    2. ポリシー・ファイルを編集して監査シンクをDATABASEに変更します。
    3. <audit_sink>パラメータ内に<db_connection_name>パラメータを追加します。<db_connection_name>パラメータの値は、前述のサブステップで作成した接続の名前にする必要があります。
    Oracle Databaseにセキュリティ監査証跡をストリーミングするための編集済監査ポリシーの例:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>DATABASE</audit_sink_type>
               <db_connection_name>OraclePDB</db_connection_name>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
  4. 監査詳細がデータベースにストリーミングされていることをテストします。

    1. アプリケーションの作成など、監査可能イベントであるアクションを実行します。ポリシーの<audit_events_to_capture>セクションにリストされているどのアクションでも選択できます。

      Essbaseによって、外部データベース・スキーマにESSBASE_SECURITY_AUDIT_EVENT_LOGという監査表が作成される必要があります。

    2. 外部RDBMSにログインし、問合せを実行してその表が存在するかどうかを確認します。たとえば、SQL Developerにログインして次を実行します
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. データ・ビジュアライゼーション・ツールを使用してセキュリティ監査レコードを表示し分析します。Smart View、Oracle Data Desktop (Oracle Technology Networkライセンスで入手可能)、オープン・ソースまたはOracle以外のデータベース・ベンダーによるオープンソース・ビジュアライゼーション・ツールを使用できます。

監査ポリシー・ファイルについて

監査ポリシーはXMLファイルに定義され、必要に応じて編集できます。このファイルでは、追跡するEssbaseサーバー・イベント、およびデータをセキュリティ監査ログに書き込むか外部データベースにストリーミングするかを指定できます。監査ログにデータを書き込む場合は、最大ファイル・サイズおよび保持するセキュリティ監査ログファイルの数を指定できます。

セキュリティ監査の有効化後にEssbaseを再起動すると、EssbaseによってEssbaseSecurityAuditLogPolicy.xmlが作成されます。その後、必要に応じてファイルを編集して監査ポリシーを調整できます。ファイルは、Essbase構成を格納するデプロイメントの構成フェーズで指定したパスにあります(<Essbase Config Path>。essbase.cfgが存在する場所でもある)。環境内のこの場所がわからない場合、詳細は、Essbaseプラットフォームでの環境の場所を参照してください。

監査ポリシー・ファイルを編集するには、
  1. EssbaseSecurityAuditLogPolicy.xmlに移動します。ファイルは、Essbaseデプロイメントの構成フェーズで指定したアプリケーション・ディレクトリにあります。

  2. テキスト・エディタで開きます。

  3. 監査シンク、ロギングの詳細、および追跡するイベントを編集します。

    1. オプションで、外部データベースにデータをストリームする必要がある場合に<audit_sink_type>DATABASE</audit_sink_type>を追加します。

    2. ステップaでDATABASEの監査シンク・タイプを指定した場合は、次の行に、「Essbaseサーバーに対してセキュリティ監査を有効にするワークフロー」で定義したデータベース接続の名前を含む<db_connection_name>ConnectionName</db_connection_name>を追加します。

    3. 監査ログ・ファイルにデータを書き込む場合は、オプションで、<max-file-size>n</max-file-size>を使用して最大ファイル・サイズを変更します(ここでのnはバイト数です)。デフォルトは50000000バイトです。

    4. 監査ログ・ファイルにデータを書き込む場合は、<roll-nos>n</roll-nos>を使用して、保存するセキュリティ監査ログCSVファイルの数を指定します(ここでのnはファイル数です)。

    5. <audit_events_to_capture>events_list</audit_events_to_capture>を使用して、取得する監査イベントを指定します。

監査ポリシー・ファイル内で指定したイベントは、セキュリティ監査ログ・ファイルでトラッキングされるか、外部データベースにストリーミングされます。

監査ポリシー・ファイルで次のイベントの取得を指定できます。

イベント 説明
LOGIN ユーザー[x]が正常にログインしました
LOGIN_AS ユーザー[x]が[y]としてログインしました
LOGOUT ユーザー[x]がログアウトしました
LOGIN_FAIL ユーザー[x]のログインは失敗しました
SERVICE_ROLE_ASSIGN Essbaseサービス・ロール[x]を[y]に割り当てました
SERVICE_ROLE_REVOKE Essbaseサービス・ロール[x]を[y]から取り消しました
APPLICATION_ROLE_ASSIGN ユーザー/グループ[x]は、アプリケーション[z]のロール[y]にプロビジョニングされました
APPLICATION_ROLE_REVOKE ユーザー/グループ[x]は、アプリケーション[z]のロール[y]から取り消されました
ARTIFACT_CREATE タイプ[y]のアーティファクト[x]が作成されました
ARTIFACT_UPLOADED アーティファクト・アップロード・リクエストがアプリケーション[a] データベース[b] オブジェクト名[c]およびオブジェクト・タイプ[d]に対してコールされました
ARTIFACT_MODIFIED タイプ[y]のアーティファクト[x]が変更されました
ARTIFACT_DELETED タイプ[y]のアーティファクト[x]が削除されました
ARTIFACT_RENAMED タイプ[y]のアーティファクト[x]の名前が[z]に変更されました
APPLICATION_DELETED アプリケーション[x]が削除されました
APPLICATION_CREATE アプリケーション[x]が作成されました
APPLICATION_RENAMED アプリケーション[x]の名前が[y]に変更されました
DATABASE_DELETED データベース[x]がアプリケーション[y]で削除されました
DATABASE_CREATE データベース[x]がアプリケーション[y]で作成されました
DATABASE_RENAMED データベース[x]の名前がアプリケーション[z]で[y]に変更されました
LCM_EXPORT_START LCMエクスポート・ジョブがファイル名[x]で開始されました
LCM_EXPORT_END LCMエクスポート・ジョブがファイル名[x]およびジョブ・ステータス[y]で完了しました
LCM_IMPORT_START LCMインポートがアプリケーション[x]に対してファイル名[y]で開始されました
LCM_IMPORT_END LCMインポートがアプリケーション[x]に対してファイル名[y]で完了しました
LCM_IMPORT_FAIL LCMインポートがアプリケーション[x]に対してファイル名[y]で失敗しました
DATA_LOAD_MAXL アプリケーション[x]およびデータベース[y]に対してユーザー[z]によってMaxLインポート・データ文が実行されました
EXECUTE_MAXL MaxL文[x]がユーザー[y]から実行されました
LOAD_DATA_JOB_START データ・ロード・ジョブがデータ・ファイル[x]およびルール・ファイル[y]を使用して開始されました
LOAD_DATA_JOB_END データ・ファイル[x]およびルール・ファイル[y]のデータ・ロード・ジョブがステータス[z]で完了しました
LOAD_DATA_JOB_FAILED [x]が原因でデータ・ロード・ジョブが失敗しました
DELETE_SESSION セッション[x]が削除されました

セキュリティ監査イベント

セキュリティ監査イベントは、監査ポリシー・ファイルでの指定内容に応じて、セキュリティ監査ログ・ファイルでトラッキングされるか外部データベースにストリーミングされます。

セキュリティ監査ログ、または外部データベース・スキーマ内の監査表を開く手順は、「Essbaseサーバーに対してセキュリティ監査を有効にするワークフロー」を参照してください。

セキュリティ監査ログおよび監査表には、各イベントに関する次の情報が含まれています(該当する場合):
  • 時間 - イベントが発生した時刻
  • クライアント - クライアントのIPアドレスまたはホスト名
  • ユーザー名 - アクションを開始するユーザー
  • セッションID - EssbaseセッションID
  • イベント・タイプ - イベント・タイプ
  • アーティファクト・タイプ - イベントに関連するアーティファクトのタイプ
    アーティファクト・タイプの例:
    • イベント・タイプARTIFACT_UPLOADEDのアーティファクト・タイプpartition_file
    • イベント・タイプLCM_EXPORT_STARTのアーティファクト・タイプ・アプリケーション
    • イベント・タイプAPPLICATION_ROLE_ASSIGNのアーティファクト・タイプ・ユーザー
  • アーティファクト名 - イベントに関連するアーティファクトの名前。ファイル名、ユーザー名、アプリケーション名など
  • 追加情報 - イベントに関連付けられた追加情報
  • 説明 - イベントの説明

    「説明」フィールドの内容はローカライズされています。

  • ID - イベントを説明する128ビットの全体一意識別子。

    例: 123e4567-e89b-12d3-a456-426614174000

  • 期間 - イベントの期間(ミリ秒単位)
  • アプリケーション名 - アプリケーションの名前
  • データベース名 - データベースの名前
  • ステータス - 成功または失敗