稽核安全性、使用者自建物件變更及 LCM 事件

服務管理員可啟用安全性稽核來追蹤對 Essbase 伺服器所做的變更。

根據您在稽核原則檔案中指定的參數,Essbase 會收集對系統層級安全性、使用者自建物件、LCM 事件和已執行 MaxL 敘述句 (包括匯入) 所做變更的相關資訊。Essbase 會將追蹤的資訊合併到稽核日誌檔,或將其串流至外部資料庫。每個事件的相關追蹤資訊包括時間、從屬端、使用者、受影響的使用者自建物件、持續時間、ID、應用程式和資料庫名稱、狀態和描述。

您可以使用 AUDITTRAIL SECURITY Essbase 組態設定啟用這些事件的伺服器層級稽核。

啟用 Essbase 伺服器安全性稽核的工作流程

此工作流程可讓您開始啟用 Essbase 伺服器的安全性稽核,並將記錄寫入 CSV 檔案或將其串流至外部資料庫。

在此工作流程中,我們使用 Oracle Database 作為外部資料庫,但您也可以使用 SQL Server、MySQL 或 DB2。

若要完成工作流程,您必須是系統管理員,且需要能存取 Essbase 伺服器機器上的 <Essbase 組態路徑>。

此路徑包含您需要編輯的檔案:
  • 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. 請使用 SSH 連線至 Essbase 伺服器。
    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> 參數值應該與在步驟 a 建立的連線名稱完全相同。
    編輯稽核原則以將安全性稽核歷程串流至 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. 測試稽核詳細資訊是否已串流至 Database。
    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 (甲骨文全球開發者技術網路 (OTN) 授權提供)、來自開放原始碼或非 Oracle Database 廠商的開放原始碼視覺化工具。

關於稽核原則檔案

稽核原則定義在 XML 檔案中,您可視需要進行編輯。您可以在此檔案中指定要追蹤的 Essbase 伺服器事件,以及要將資料寫入安全性稽核日誌,還是要將資料串流處理至外部資料庫。如果要將資料寫入稽核日誌,您可以指定檔案大小上限和要保留的安全性稽核日誌檔數目。

當您在啟用安全性稽核後重新啟動 Essbase 時,Essbase 會建立 EssbaseSecurityAuditLogPolicy.xml。您之後便能視需要編輯檔案以精簡稽核原則。此檔案位於 Essbase 部署組態階段指定的應用程式目錄中。如果您不知道 <應用程式目錄> 位於環境中的什麼位置,請參閱 Essbase 平台中的環境位置中的說明。

編輯稽核原則檔案:
  1. 瀏覽至 EssbaseSecurityAuditLogPolicy.xml。此檔案位於 Essbase 部署組態階段指定的應用程式目錄中。
  2. 在文字編輯器開啟該檔案。
  3. 新增您所需的項目。
    1. 如果要將資料串流處理至外部資料庫,請選擇性新增 <audit_sink_type>DATABASE</audit_sink_type>
    2. 如果在步驟 a 中指定了 DATABASE 的稽核接收類型,請在下面一行使用資料庫連線的名稱新增 <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 已從 [y] 撤銷 Essbase 服務角色 [x]
APPLICATION_ROLE_ASSIGN 已在應用程式 [z] 對使用者/群組 [x] 佈建 [y] 角色
APPLICATION_ROLE_REVOKE 已在應用程式 [z] 上撤銷使用者/群組 [x] 的 [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 已在應用程式 [y] 中刪除資料庫 [x]
DATABASE_CREATE 已在應用程式 [y] 中建立資料庫 [x]
DATABASE_RENAMED 已在應用程式 [z] 中將資料庫 [x] 重新命名為 [y]
LCM_EXPORT_START 已從檔案名稱 [x] 開始 LCM 匯出工作
LCM_EXPORT_END LCM 匯出工作已完成,檔案名稱為 [x] 且工作狀態為 [y]
LCM_IMPORT_START 應用程式 [x] 的 LCM 匯入已從檔案名稱 [y] 開始
LCM_IMPORT_END 應用程式 [x] 的 LCM 匯入已完成,檔案名稱為 [y]
LCM_IMPORT_FAIL 應用程式 [x] 的 LCM 匯入失敗,檔案名稱為 [y]
DATA_LOAD_MAXL 使用者 [z] 已對應用程式 [x] 和資料庫 [y] 執行 MaxL 匯入資料敘述句
EXECUTE_MAXL 已由使用者 [y] 執行 MaxL 敘述句 [x]
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

  • 持續時間 - 事件的持續時間 (毫秒)
  • 應用程式名稱 - 應用程式的名稱
  • 資料庫名稱 - 資料庫的名稱
  • 狀態 - 成功或失敗