Cloud Logging
本文將說明如何整合 Cloud Logging 與 Google Security Operations SOAR。
整合版本:1.0
事前準備
如要使用整合功能,您需要 Google Cloud 服務帳戶。你可以使用現有的服務帳戶,也可以建立新的服務帳戶。
建立服務帳戶
如需建立服務帳戶的指引,請參閱「建立服務帳戶」。
如果您使用服務帳戶向 Google Cloud進行驗證,可以建立 JSON 格式的服務帳戶金鑰,並在設定整合參數時提供下載的 JSON 檔案內容。
基於安全性考量,建議您使用工作負載身分電子郵件地址,不要使用服務帳戶金鑰。如要進一步瞭解工作負載身分,請參閱「工作負載身分」。
將 Cloud Logging 與 Google SecOps SOAR 整合
與 Cloud Logging 整合需要下列參數:
參數 | 說明 |
---|---|
Workload Identity Email |
選用 工作負載身分識別的用戶端電子郵件地址。 您可以設定這個參數或 如要使用工作負載身分電子郵件地址模擬服務帳戶,請將 |
User's Service Account |
選用 服務帳戶金鑰 JSON 檔案的內容。 您可以設定這個參數或 如要設定這個參數,請提供您在建立服務帳戶時下載的服務帳戶金鑰 JSON 檔案完整內容。 如要進一步瞭解如何使用服務帳戶做為驗證方法,請參閱服務帳戶總覽。 |
Quota Project ID |
選用 您用於 Google Cloud API 和帳單的專案 ID。 Google Cloud 如要使用這個參數,您必須將 整合功能會將這個參數值附加至所有 API 要求。 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取配額專案 ID。 |
Organization ID |
選用 要在整合中使用的機構 ID。 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。 |
Project ID |
選用 要在整合中使用的專案 ID。 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。 |
Verify SSL |
必要 如果選取這個選項,整合服務會驗證連線至 Cloud Logging 的 SSL 憑證是否有效。 (此為預設選項)。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您之後可以變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
與 Cloud Logging 整合後,您可以執行下列動作:
執行查詢
使用「執行查詢」動作,在 Cloud Logging 中執行自訂查詢。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「執行查詢」動作需要下列參數:
參數 | 說明 |
---|---|
Project ID |
選用 要在整合中使用的專案 ID。 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。 |
Organization ID |
選用 要在整合中使用的機構 ID。 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。 |
Query |
必要 用於尋找記錄的查詢。 |
Time Frame |
選用 要擷取結果的期間。 如果選取 可能的值如下:
Last Hour 。 |
Start Time |
選用 擷取結果的開始時間。 如果您為 如要設定這個參數,請使用 ISO 8601 格式。 |
End Time |
選用 擷取結果的結束時間。 如果您未設定這個參數的值,並為 如要設定這個參數,請使用 ISO 8601 格式。 |
Max Results To Return |
選用 要傳回的結果數上限。 預設值為 50。 |
動作輸出內容
「執行查詢」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例說明使用「執行查詢」動作時收到的 JSON 結果輸出:
[{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "system:clouddns"
},
"authorizationInfo": [
{
"granted": true,
"permission": "io.k8s.coordination.v1.leases.update",
"resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
}
],
"methodName": "io.k8s.coordination.v1.leases.update",
"requestMetadata": {
"callerIp": "192.0.2.6",
"callerSuppliedUserAgent": "clouddns-leader-election"
},
"resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
"serviceName": "k8s.io",
"status": {
"code": 0
}
},
"insertId": "ID",
"resource": {
"type": "k8s_cluster",
"labels": {
"cluster_name": "CLUSTER_NAME",
"project_id": "PROJECT_ID",
"location": "us-central1"
}
},
"timestamp": "2024-09-18T09:46:38.647428Z",
"labels": {
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
"authorization.k8s.io/decision": "allow"
},
"logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
"operation": {
"id": "ID",
"producer": "k8s.io",
"first": true,
"last": true
},
"receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
輸出訊息
「執行查詢」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Execute Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「執行查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
乒乓
使用「Ping」動作測試與 Cloud Logging 的連線。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
無
動作輸出內容
「Ping」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
「Ping」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully connected to the Cloud Logging server with
the provided connection parameters! |
動作成功。 |
Failed to connect to the Cloud Logging server! Error is
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用 Ping 動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。