收集 Aware Signals 記錄
剖析器版本:1.0
本文說明如何設定 Aware,透過 Webhook 將訊號事件記錄推送至 Google Security Operations。
Aware (由 Mimecast 提供) 是協作安全性和內部風險平台,可監控 Slack、Microsoft Teams、Zoom、Cisco Webex 和 Workvivo 等企業通訊工具的內容。Aware Signal 應用程式會使用 AI 模型、關鍵字比對、規則運算式和情緒分析,偵測違反政策的行為並產生事件。這些信號事件可轉送至 SIEM 目的地,以便集中進行安全監控和關聯。
事前準備
請確認您符合下列必要條件:
- Google SecOps 執行個體
- 訂閱 Aware 平台並啟用 Signal 模組
- 具備「系統設定」存取權的 Aware 管理員帳戶
- 至少有一個協作平台 (Slack、Microsoft Teams、Zoom、Webex 或 Workvivo) 已連結並將內容擷取至 Aware
- 至少一項信號政策和規則已設定為產生事件
- 可存取 Google Cloud 控制台 (用於建立 API 金鑰)
在 Google SecOps 建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「Feed name」(動態饋給名稱) 欄位中,輸入動態饋給名稱 (例如
Aware Signal Events)。 - 「Source type」(來源類型) 請選取「Webhook」。
- 選取「Aware Signals」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號:輸入
\n(NDJSON 酬載的換行分隔符號) - 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號:輸入
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的新聞動態消息設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生用於驗證的密鑰:
- 在動態饋給詳細資料頁面,按一下「產生 Secret Key」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
取得動態饋給端點網址
- 前往動態饋給的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import其中
{region}是 Google SecOps 執行個體的區域 (例如us、europe或asia-southeast1),而{parent}是projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>格式的資源路徑。請儲存這個網址,以利進行後續步驟。
按一下「完成」。
建立 Google Cloud API 金鑰
Google SecOps 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。
建立 API 金鑰
- 前往 Google Cloud 控制台的「憑證」頁面。
- 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
- 依序點選「建立憑證」>「API 金鑰」。
- 系統會建立 API 金鑰,並在對話方塊中顯示。
- 按一下「編輯 API 金鑰」,即可限制金鑰。
限制 API 金鑰
- 在「API 金鑰」設定頁面中:
- 名稱:輸入描述性名稱 (例如
Chronicle Webhook API Key)
- 名稱:輸入描述性名稱 (例如
- 在「API 限制」下方:
- 選取「Restrict key」(限制金鑰)。
- 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
- 按一下 [儲存]。
- 複製頁面頂端「API 金鑰」欄位中的 API 金鑰值。
妥善保存 API 金鑰。
取得 Aware API 金鑰
Aware 會使用 API 金鑰驗證外部整合。取得金鑰的方法如下:
- 使用管理員帳戶登入 https://aware.work 的 Aware。
- 按一下左下角的「系統設定」。
- 前往「整合」分頁。
複製頁面上顯示的 API 金鑰。
妥善保存 API 金鑰,以便在後續步驟使用。
設定 Aware Signal Webhook 轉送
建構 Webhook 網址
合併 Google SecOps 端點網址、API 金鑰和密鑰:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
在 Aware 中設定事件轉送
設定 Aware,將 Signal 事件轉送至 Google SecOps Webhook 端點。實際步驟可能因 Aware 平台版本而異。
- 使用管理員帳戶登入 Aware (網址:https://aware.work)。
- 按一下左下角的「系統設定」。
- 前往「整合」分頁。
使用下列詳細資料設定新的 Webhook 目的地:
到達網頁網址:貼上完整的 Webhook 網址,並附加 API 金鑰和密鑰做為查詢參數:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEYContent Type:選取
application/json驗證標頭 (如果 Aware 版本支援):將標頭名稱設為
X-Aware-Api-Key,並將值設為 Aware API 金鑰
選取要轉送的事件類型。如要進行全面安全監控,請啟用所有信號事件的轉送功能:
- 違反政策事件
- 關鍵字比對事件
- AI/情緒偵測事件
- 惡意行為偵測事件
按一下「儲存」,啟用 Webhook 目的地。
替代方案:使用 Cloud Run 函式轉送事件
如果 Aware 版本不支援訊號事件的原生 Webhook 推送功能,您可以使用 Cloud Run 函式輪詢 Aware API,並將事件轉送至 Google SecOps Webhook 端點。
- 建立 Cloud Run 函式 (Python 3.12 以上版本),並設定 Pub/Sub 觸發條件。
- 將函式設定為:
- 使用
X-Aware-Api-Key標頭向 Aware API 驗證身分。 - 從 Aware API 端點查詢信號事件。
- 將每個事件以 JSON 酬載的形式,轉送至 Google SecOps Webhook 端點網址。
- 使用
使用 Cloud Scheduler 定期叫用函式 (例如每 5 分鐘)。
轉寄活動的要求範例:
curl -X POST "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"signal_id":"12345","event_type":"policy_violation","timestamp":"2026-01-15T10:30:00Z","user":"user@example.com","platform":"slack","policy":"Data Loss Prevention","rule":"Credit Card Numbers","message_snippet":"detected content"}'
確認事件傳送
- 在 Google SecOps 中,依序前往 「SIEM Settings」(SIEM 設定) >「Feeds」(動態饋給)。
- 按一下「Aware Signal Events」動態消息。
- 前往「狀態」分頁。
- 確認系統是否收到事件。
或者,您也可以在 Aware 中觸發測試 Signal 事件:
- 在 Aware 中,依序前往 「Signal」 > 「事件」。
- 確認政策是否會產生新事件。
- 稍候幾分鐘,事件就會顯示在 Google SecOps。
Aware Signal 事件類型
Aware Signal 結合 AI 模型、關鍵字比對、規則運算式和情緒分析,偵測連結協作平台上的事件。系統通常會產生下列事件類別:
| 類別 | 說明 | 範例 |
|---|---|---|
| 違反政策 | 由定義的政策規則觸發的事件 | 關鍵字偵測、規則運算式模式比對、機密資料 |
| AI/情緒 | AI 和情緒模型偵測到的事件 | 惡意言論、負面情緒、騷擾 |
| 資料遺失 | 與潛在資料竊取行為相關的事件 | 檔案共用違規、對外共用、憑證外洩 |
| 內部風險 | 指出潛在內部威脅的事件 | 異常行為模式、存取異常、離職員工風險 |
| 法規遵循 | 法規遵循相關事件 | PII 暴露、財務資料共用、違反《健康保險流通與責任法案》 |
驗證方式參考資料
Google SecOps Webhook 動態饋給支援多種驗證方式。請選擇供應商支援的方法。
方法 1:查詢參數
在 Webhook 網址中附加憑證。
網址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
方法 2:自訂標頭
如果您的設定支援自訂 HTTP 標頭,請使用這個方法提高安全性。
標頭:
x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY>
優點:
- 網址中不會顯示 API 金鑰和密鑰
- 更安全 (標頭不會記錄在網路伺服器存取記錄中)
Webhook 限制和最佳做法
要求限制
| 限制 | 值 |
|---|---|
| 要求大小上限 | 4 MB |
| QPS (每秒查詢次數) 上限 | 15,000 |
| 要求逾時 | 30 秒 |
| 重試行為 | 自動,採用指數輪詢 |
最佳做法
- 啟用所有 Signal 事件類型的轉送功能,確保安全防護滴水不漏
- 定期監控 Webhook 傳送狀態,確認是否發生失敗或延遲
- 在 Google SecOps 資訊提供設定中使用
\n分隔符號,處理 NDJSON 酬載 - 在部署至正式環境前,請先測試整合功能,確認是否會發生已知的政策違規情形
- 定期查看 Aware Signal 政策,確保系統擷取相關事件
疑難排解
Google SecOps 中未顯示事件
原因:Aware 正在產生事件,但未擷取事件
解決方法:
- 在 Google SecOps 中,依序前往 「SIEM Settings」(SIEM 設定) >「Feeds」(動態饋給)。
- 按一下 Aware 信號事件動態饋給。
- 前往「狀態」分頁。
- 檢查是否有擷取錯誤。
- 確認記錄類型已設為「Aware Signals」。
- 確認 Webhook 網址中的 API 金鑰和密鑰正確無誤。
驗證錯誤
原因:API 金鑰或密鑰無效
解決方法:
- 確認 Google SecOps API 金鑰有效,且已套用正確的 API 限制。
- 確認密鑰與建立動態饋給時產生的密鑰相符。
手動測試端點:
curl -X POST "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"test": "event"}'如果測試失敗,請重新產生 API 金鑰或密鑰,並更新 Aware 中的 Webhook 設定。
酬載超過大小上限
原因:事件酬載超過 4 MB 限制
解決方法:
- 減少轉送的事件類型數量。
- 如要設定酬載大小限制,請與 Aware 支援團隊聯絡。
- 如果使用 Cloud Run 函式方法,請實作批次處理,將大型酬載拆分成多個要求。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
has_principal |
metadata.event_type |
已對應:true → NETWORK_CONNECTION、true → STATUS_UPDATE |
has_user |
metadata.event_type |
已對應:true → USER_UNCATEGORIZED |
signalEventDetails.eventStatus |
security_result.action_details |
直接對應 |
contentObjectDetails_contentObjectIsChat_label |
security_result.detection_fields |
已合併 |
contentObjectDetails_contentObjectIsThread_label |
security_result.detection_fields |
已合併 |
detectionLength_label |
security_result.detection_fields |
已合併 |
detectionStart_label |
security_result.detection_fields |
已合併 |
ruleConditionMatches_label |
security_result.detection_fields |
已合併 |
search_label |
security_result.detection_fields |
已合併 |
signalEventDetails_createdTime_label |
security_result.detection_fields |
已合併 |
signalEventDetails_deletedTime_label |
security_result.detection_fields |
已合併 |
signalEventDetails_inspectionRequestId_label |
security_result.detection_fields |
已合併 |
signalEventDetails_isQuarantined_label |
security_result.detection_fields |
已合併 |
signalEventDetails_policyDetails_createdTime_label |
security_result.detection_fields |
已合併 |
signalEventDetails_policyDetails_policyId_label |
security_result.detection_fields |
已合併 |
signalEventDetails_policyDetails_policyName_label |
security_result.detection_fields |
已合併 |
signalEventDetails_ruleBehavior_label |
security_result.detection_fields |
已合併 |
signalEventDetails_ruleFamilyId_label |
security_result.detection_fields |
已合併 |
signalEventDetails_tenantId_label |
security_result.detection_fields |
已合併 |
signalEventId_label |
security_result.detection_fields |
已合併 |
signal_EventDetails_policyDetails_deletedTime_label |
security_result.detection_fields |
已合併 |
snippetContent_label |
security_result.detection_fields |
已合併 |
snippetLength_label |
security_result.detection_fields |
已合併 |
snippetStart_label |
security_result.detection_fields |
已合併 |
signalEventDetails_ruleId |
security_result.rule_id |
直接對應 |
signalEventDetails_ruleName |
security_result.rule_name |
直接對應 |
contentGroupDetails.contentGroupScope_label |
target.group.attribute.labels |
已合併 |
contentObjectDetails_contentGroupDetails_contentGroupTag_label |
target.group.attribute.labels |
已合併 |
contentGroupDetails_contentGroupName |
target.group.group_display_name |
直接對應 |
contentObjectDetails_contentPlatformId_label |
target.resource.attribute.labels |
已合併 |
contentObjectDetails_contentTime_label |
target.resource.attribute.labels |
已合併 |
contentObjectDetails_contentObjectId |
target.resource.product_object_id |
直接對應 |
contentObjectDetails_contentObjectType |
target.resource.resource_subtype |
直接對應 |
contentAuthorDetails_contentAuthorEmail |
target.user.email_addresses |
已合併 |
contentAuthorDetails_contentAuthorName |
target.user.user_display_name |
直接對應 |
contentAuthorDetails_contentAuthorId |
target.user.userid |
直接對應 |
| 不適用 | metadata.event_type |
常數:NETWORK_CONNECTION |
| 不適用 | metadata.product_name |
常數:AWARE SIGNALS |
| 不適用 | metadata.vendor_name |
常數:AWARE SIGNALS |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。