收集 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 chart 或設定 YAML)
  • 下列其中一個雲端平台的特殊存取權:
    • Amazon S3 儲存空間的 AWS (S3、IAM)
    • GCP (Cloud Storage、IAM) for Google Cloud Storage
    • Azure (儲存體帳戶),適用於 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-opsokera-audit:容器名稱
  4. 儲存設定檔。

  5. 使用 Helm 圖表更新 Okera 叢集:

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

    • S3:

      aws s3 ls s3://your-company/okera/audit/
      
    • 適用於 GCS:

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

適用於 Azure Blob 儲存體

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

    1. 在 Azure 入口網站中,前往「儲存體帳戶」
    2. 選取「Security + networking」(安全性 + 網路) 下方的「Access keys」(存取金鑰)
    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 URIs3://your-company/okera/audit/
    • 來源刪除選項:選取「永不」 (建議保留稽核記錄)
    • 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 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. 為下列欄位指定值:

    • 儲存空間值區網址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 URIhttps://yourstorageaccount.blob.core.windows.net/okera-audit/
    • 來源刪除選項:選取「永不」 (建議保留稽核記錄)
    • 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 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:GetObjects3: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 專業人員尋求答案。