收集 Okera Dynamic Access Platform (ODAP) 稽核記錄

支援:

本文說明如何使用雲端儲存空間 (Amazon S3、Google Cloud Storage 或 Azure Blob 儲存空間),將 Okera Dynamic Access Platform (ODAP) 稽核記錄擷取至 Google Security Operations。

Okera Dynamic Access Platform (ODAP) 是資料存取控管和治理平台,提供精細的存取控管、自動化資料探索和分類,以及資料湖泊和數據分析平台的完整稽核記錄。平台會產生 JSON 格式的稽核記錄,記錄所有資料存取事件、政策變更和管理動作。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • 有效的 Okera ODAP 部署作業 (2.0 以上版本)
  • Okera 叢集設定的管理員權限 (Helm 資訊套件或設定 YAML)
  • 具備下列其中一個雲端平台的特殊權限:
    • AWS (S3、IAM),適用於 Amazon S3 儲存空間
    • Google Cloud Storage 的 GCP (Cloud Storage、IAM)
    • Azure (儲存體帳戶) for Azure Data Lake Storage Gen2
  • Okera 叢集必須具備雲端儲存空間位置的寫入權限

設定 Okera ODAP 稽核記錄匯出功能

Okera ODAP 稽核記錄是透過叢集設定 YAML 檔案設定,並使用 Okera Helm 圖表部署。稽核記錄會以 JSON 格式寫入共用雲端儲存空間位置。

判斷雲端儲存空間平台

根據 Okera 部署項目選擇下列其中一個雲端儲存空間平台:

  • Amazon S3:適用於在 AWS 上執行的 Okera 叢集
  • Google Cloud Storage:適用於在 GCP 上執行的 Okera 叢集
  • Azure Data Lake Storage Gen2:適用於在 Azure 上執行的 Okera 叢集

設定稽核記錄儲存位置

  1. 存取 Okera 叢集設定 YAML 檔案。
  2. 找出稽核記錄設定部分。
  3. 根據雲端平台設定稽核記錄目的地:

    • Amazon S3:

      WATCHER_LOG_DST_DIR: "s3://your-company/okera/ops/"
      WATCHER_AUDIT_LOG_DST_DIR: "s3://your-company/okera/audit/"
      WATCHER_S3_REGION: "us-east-1"
      WATCHER_S3_ENCRYPT: "true"
      WATCHER_AUDIT_UPLOAD_INTERVAL_SEC: "15"
      

      更改下列內容:

      • your-company:S3 bucket 名稱
      • us-east-1:您的 AWS 區域
    • Google Cloud Storage:

      WATCHER_LOG_DST_DIR: "gs://your-company/okera/ops/"
      WATCHER_AUDIT_LOG_DST_DIR: "gs://your-company/okera/audit/"
      WATCHER_AUDIT_UPLOAD_INTERVAL_SEC: "15"
      

      更改下列內容:

      • your-company:您的 GCS bucket 名稱
    • Azure Data Lake Storage Gen2:

      WATCHER_LOG_DST_DIR: "abfs://okera-ops@yourstorageaccount.dfs.core.windows.net/"
      WATCHER_AUDIT_LOG_DST_DIR: "abfs://okera-audit@yourstorageaccount.dfs.core.windows.net/"
      WATCHER_AUDIT_UPLOAD_INTERVAL_SEC: "15"
      

      更改下列內容:

      • yourstorageaccount:Azure 儲存體帳戶名稱
      • okera-ops 和 okera-audit:容器名稱
  4. 儲存設定檔。

  5. 使用 Helm 資訊套件更新 Okera 叢集:

    helm upgrade okera okera/okera -f your-config.yaml
    
  6. 確認稽核記錄檔是否寫入設定的位置:

    • 適用於 S3:

      aws s3 ls s3://your-company/okera/audit/
      
    • Google Cloud Storage:

      gsutil ls gs://your-company/okera/audit/
      
    • Azure:

      az storage blob list --account-name yourstorageaccount --container-name okera-audit
      

稽核記錄格式

Okera 稽核記錄會以 JSON 格式編寫,並具有下列特徵:

  • 每個檔案都包含多筆 JSON 記錄,每行一筆 (NDJSON 格式)
  • 記錄包括所有資料存取事件、政策變更和管理動作
  • 檔案在儲存位置會依日期整理
  • okera_system.audit_logs 資料集提供可查詢的稽核資料檢視畫面

設定 Google SecOps 的雲端儲存空間存取權

請根據雲端儲存空間平台,按照下列適當的指南操作:

Amazon S3

  1. 建立 IAM 使用者,並授予該使用者權限,可讀取含有 Okera 稽核記錄的 S3 bucket。
  2. 請按照 AWS S3 設定指南中的步驟操作:
    • 建立 IAM 使用者
    • 產生存取金鑰
    • 授予 AmazonS3ReadOnlyAccess 或具有 s3:GetObject 和 s3:ListBucket 權限的自訂政策

Google Cloud Storage

  1. 擷取 Google SecOps 服務帳戶電子郵件地址:

    1. 依序前往 「SIEM 設定」 > 「動態饋給」。
    2. 按一下「新增動態饋給」。
    3. 按一下「設定單一動態饋給」。
    4. 輸入動態饋給的名稱 (例如 okera-audit-logs)。
    5. 選取「Google Cloud Storage V2」做為「來源類型」。
    6. 選取「Okera DAP」做為「記錄類型」。
    7. 按一下「取得服務帳戶」。
    8. 複製顯示的服務帳戶電子郵件地址。
  2. 授予服務帳戶 GCS bucket 存取權:

    1. 前往 GCP 控制台的「Cloud Storage」>「Buckets」頁面。
    2. 按一下包含 Okera 稽核記錄的值區。
    3. 前往「權限」分頁標籤。
    4. 按一下「授予存取權」。
    5. 在「新增主體」中,貼上 Google SecOps 服務帳戶電子郵件地址。
    6. 在「指派角色」部分,選取「Storage 物件檢視者」。
    7. 按一下 [儲存]。

Azure Blob 儲存體

  1. 擷取儲存體帳戶存取金鑰:

    1. 在 Azure 入口網站中,前往「儲存體帳戶」。
    2. 在「安全性 + 網路」下方選取「存取金鑰」。
    3. 按一下「顯示金鑰」。
    4. 複製「金鑰 1」或「金鑰 2」。
  2. 請記下 Blob 服務端點:

    • 格式:https://yourstorageaccount.blob.core.windows.net/

在 Google SecOps 中設定資訊提供,擷取 Okera ODAP 稽核記錄

Amazon S3

  1. 依序前往 「SIEM 設定」 > 「動態饋給」。
  2. 按一下「新增動態饋給」。
  3. 按一下「設定單一動態饋給」。
  4. 輸入資訊提供的專屬名稱 (例如 okera-audit-s3)。
  5. 選取「Amazon S3 V2」做為「來源類型」。
  6. 選取「Okera DAP」做為「記錄類型」。
  7. 依序點按「繼續」和「提交」。
  8. 為下列欄位指定值:

    • S3 URI:s3://your-company/okera/audit/
    • Source deletion option:選取「Never」 (建議保留稽核記錄)
    • 檔案存在時間上限:納入過去幾天內修改過的檔案 (預設為 180 天)
    • 存取金鑰 ID:具有 S3 bucket 讀取權的 IAM 使用者存取金鑰
    • 私密存取金鑰:IAM 使用者私密金鑰
    • 資產命名空間:資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 依序點按「繼續」和「提交」。

Google Cloud Storage

  1. 依序前往 「SIEM 設定」 > 「動態饋給」。
  2. 按一下「新增動態饋給」。
  3. 按一下「設定單一動態饋給」。
  4. 輸入資訊提供的專屬名稱 (例如 okera-audit-gcs)。
  5. 選取「Google Cloud Storage V2」做為「來源類型」。
  6. 選取「Okera DAP」做為「記錄類型」。
  7. 點選「下一步」。
  8. 為下列欄位指定值:

    • 儲存空間 bucket 網址:gs://your-company/okera/audit/
    • 來源刪除選項:選取「永不」 (建議保留稽核記錄)
    • 檔案存在時間上限:納入過去幾天內修改過的檔案 (預設為 180 天)
    • 資產命名空間:資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 依序點按「繼續」和「提交」。

適用於 Azure Blob 儲存體

  1. 依序前往「SIEM 設定」>「動態饋給」。
  2. 按一下「新增動態饋給」。
  3. 按一下「設定單一動態饋給」。
  4. 在「資訊提供名稱」中輸入不重複的名稱 (例如 okera-audit-azure)。
  5. 選取「Microsoft Azure Blob Storage V2」做為「來源類型」。
  6. 選取「Okera DAP」做為「記錄類型」。
  7. 點選「下一步」。
  8. 為下列欄位指定值:

    • Azure URI:https://yourstorageaccount.blob.core.windows.net/okera-audit/
    • Source deletion option:選取「Never」 (建議保留稽核記錄)
    • 檔案存在時間上限:納入在過去天數內修改的檔案 (預設為 180 天)
    • 共用金鑰:儲存體帳戶存取金鑰
    • 資產命名空間:資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 依序點按「繼續」和「提交」。

確認稽核記錄擷取作業

  1. 等待 10 到 15 分鐘,讓系統完成初始擷取作業。
  2. 前往 Google SecOps 中的「搜尋」。
  3. 執行搜尋查詢,確認系統是否正在擷取 Okera 稽核記錄:

    metadata.vendor_name = "Okera"
    
  4. 確認事件顯示的時間戳記為近期時間。

  5. 查看動態消息狀態:

    1. 依序前往 「SIEM 設定」 > 「動態饋給」。
    2. 找出 Okera 稽核動態饋給。
    3. 確認「狀態」顯示「有效」。
    4. 檢查「最近一次成功擷取」時間戳記。

疑難排解

Google SecOps 未顯示任何記錄

  • 確認 Okera 是否將稽核記錄寫入設定的 Cloud Storage 位置
  • 確認動態饋給設定中的儲存路徑與 WATCHER_AUDIT_LOG_DST_DIR 設定相符
  • 確認雲端儲存空間權限設定正確無誤
  • 檢查動態饋給狀態,查看錯誤訊息

權限錯誤

  • S3:確認 IAM 使用者具備 s3:GetObject 和 s3:ListBucket 權限
  • GCS:確認 Google SecOps 服務帳戶具備「Storage 物件檢視者」角色
  • Azure:確認儲存體帳戶存取金鑰正確無誤,且未過期

Okera 未寫入稽核記錄

  • 確認 WATCHER_AUDIT_LOG_DST_DIR 設定正確無誤
  • 確認 Okera 叢集是否具備雲端儲存空間位置的寫入權限
  • 確認 Helm 資訊圖表更新已順利套用
  • 檢查 Okera 叢集記錄,找出與稽核記錄上傳相關的錯誤

遷移至 Databricks Unity Catalog

如果您打算從 Okera ODAP 遷移至 Databricks Unity Catalog:

  1. 詳閱 Databricks Unity Catalog 稽核記錄說明文件。
  2. 設定將 Unity Catalog 稽核記錄傳送至雲端儲存空間
  3. 為 Unity Catalog 稽核記錄建立新的 Google SecOps 動態饋給
  4. 在遷移期間同時維護兩個動態饋給
  5. 遷移完成後,停用 Okera 資訊提供

如需 Okera ODAP 或遷移至 Unity Catalog 的相關協助,請與 Databricks 支援團隊聯絡。

UDM 對應表

記錄欄位 UDM 對應 邏輯
extensions.auth.type extensions.auth.type 驗證類型
json_entry.request_time metadata.event_timestamp 事件發生時間的時間戳記
metadata.event_type metadata.event_type 活動類型
json_entry.statement_type metadata.product_event_type 產品專屬事件類型
metadata.product_name metadata.product_name 產品名稱
metadata.vendor_name metadata.vendor_name 供應商/公司名稱
json_entry.session_id network.session_id 工作階段 ID
json_entry.connected_user principal.user.userid 使用者 ID
json_entry.auth_failure security_result.action 採取的行動
json_entry.status security_result.summary 安全性結果摘要
json_entry.client_application target.application 應用程式名稱
json_entry.client_network_address target.ip IP 位址
json_entry.client_network_address target.port 通訊埠編號
json_entry.request_id target.resource.attribute.labels 資源屬性的鍵/值組合
json_entry.num_results_read target.resource.attribute.labels
json_entry.num_results_returned target.resource.attribute.labels
json_entry.peak_memory_usage target.resource.attribute.labels
json_entry.statement target.resource.attribute.labels
json_entry.bytes_scanned target.resource.attribute.labels
json_entry.for_reporting target.resource.attribute.labels
json_entry.auth_failure target.resource.attribute.labels
json_entry.default_db target.resource.name 資源名稱
target.resource.resource_type target.resource.resource_type 資源類型
json_entry.user target.user.userid 使用者 ID

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。