收集 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 叢集
設定稽核記錄儲存位置
- 存取 Okera 叢集設定 YAML 檔案。
- 找出稽核記錄設定部分。
根據雲端平台設定稽核記錄目的地:
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:容器名稱
儲存設定檔。
使用 Helm 圖表更新 Okera 叢集:
helm upgrade okera okera/okera -f your-config.yaml確認稽核記錄檔是否寫入設定的位置:
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
- 建立 IAM 使用者,並授予該使用者存取 Okera 稽核記錄的 S3 bucket 讀取權限。
- 請按照 AWS S3 設定指南中的步驟操作:
- 建立 IAM 使用者
- 產生存取金鑰
- 授予
AmazonS3ReadOnlyAccess或具有s3:GetObject和s3:ListBucket權限的自訂政策
Google Cloud Storage
擷取 Google SecOps 服務帳戶電子郵件:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 按一下「設定單一動態饋給」。
- 輸入動態饋給的名稱 (例如
okera-audit-logs)。 - 選取「Google Cloud Storage V2」做為「來源類型」。
- 選取「Okera DAP」做為「記錄類型」。
- 按一下「取得服務帳戶」。
- 複製顯示的服務帳戶電子郵件地址。
授予服務帳戶 GCS bucket 的存取權:
- 前往 GCP Console 的「Cloud Storage」>「Buckets」頁面。
- 按一下包含 Okera 稽核記錄的值區。
- 前往「權限」分頁標籤。
- 按一下「授予存取權」。
- 在「新增主體」中,貼上 Google SecOps 服務帳戶電子郵件地址。
- 在「指派角色」專區,選取「Storage 物件檢視者」。
- 按一下 [儲存]。
適用於 Azure Blob 儲存體
擷取儲存體帳戶存取金鑰:
- 在 Azure 入口網站中,前往「儲存體帳戶」。
- 選取「Security + networking」(安全性 + 網路) 下方的「Access keys」(存取金鑰)。
- 按一下「顯示金鑰」。
- 複製「金鑰 1」或「金鑰 2」。
請記下 Blob 服務端點:
- 格式:
https://yourstorageaccount.blob.core.windows.net/
- 格式:
在 Google SecOps 中設定動態饋給,擷取 Okera ODAP 稽核記錄
Amazon S3
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 按一下「設定單一動態饋給」。
- 輸入專屬的動態饋給名稱 (例如
okera-audit-s3)。 - 選取「Amazon S3 V2」做為「來源類型」。
- 選取「Okera DAP」做為「記錄類型」。
- 依序點按「繼續」和「提交」。
為下列欄位指定值:
- S3 URI:
s3://your-company/okera/audit/ - 來源刪除選項:選取「永不」 (建議保留稽核記錄)
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)
- 存取金鑰 ID:具有 S3 bucket 讀取權限的 IAM 使用者存取金鑰
- 存取密鑰:IAM 使用者密鑰
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- S3 URI:
依序點按「繼續」和「提交」。
Google Cloud Storage
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 按一下「設定單一動態饋給」。
- 輸入專屬的動態饋給名稱 (例如
okera-audit-gcs)。 - 選取「Google Cloud Storage V2」做為「來源類型」。
- 選取「Okera DAP」做為「記錄類型」。
- 點選「下一步」。
為下列欄位指定值:
- 儲存空間值區網址:
gs://your-company/okera/audit/ - 來源刪除選項:選取「永不」 (建議保留稽核記錄)
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 儲存空間值區網址:
依序點按「繼續」和「提交」。
適用於 Azure Blob 儲存體
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 按一下「設定單一動態饋給」。
- 輸入專屬的動態饋給名稱 (例如
okera-audit-azure)。 - 選取「Microsoft Azure Blob Storage V2」做為「來源類型」。
- 選取「Okera DAP」做為「記錄類型」。
- 點選「下一步」。
為下列欄位指定值:
- Azure URI:
https://yourstorageaccount.blob.core.windows.net/okera-audit/ - 來源刪除選項:選取「永不」 (建議保留稽核記錄)
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)
- 共用金鑰:儲存空間帳戶存取金鑰
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- Azure URI:
依序點按「繼續」和「提交」。
確認稽核記錄擷取作業
- 等待 10 到 15 分鐘,讓系統完成初始擷取作業。
- 前往 Google SecOps 中的「搜尋」。
執行搜尋查詢,確認系統是否正在擷取 Okera 稽核記錄:
metadata.vendor_name = "Okera"確認事件顯示的時間戳記為近期時間。
檢查動態消息狀態:
- 依序前往「SIEM 設定」>「動態饋給」。
- 找出 Okera 稽核動態消息。
- 確認「狀態」顯示為「有效」。
- 檢查「最近一次成功擷取」時間戳記。
疑難排解
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,請按照下列步驟操作:
- 參閱 Databricks Unity Catalog 稽核記錄說明文件
- 設定將 Unity Catalog 稽核記錄傳送至雲端儲存空間
- 為 Unity Catalog 稽核記錄建立新的 Google SecOps 動態饋給
- 在遷移期間維持兩個動態消息
- 遷移作業完成後,停用 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 專業人員尋求答案。