收集 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 平台並啟用訊號模組
- 可存取「系統設定」的 Aware 管理員帳戶
- 至少一個協作平台 (Slack、Microsoft Teams、Zoom、Webex 或 Workvivo) 已連線,且 Aware 正在擷取內容
- 至少一項信號政策和規則已設定為產生事件
- 存取 Google Cloud 控制台 (用於建立 API 金鑰)
在 Google SecOps 中建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Aware Signal Events)。 - 選取「Webhook」做為「來源類型」。
- 選取「感知信號」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號:輸入
\n(NDJSON 酬載的換行分隔符號) - 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號:輸入
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生驗證用的密鑰:
- 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
取得動態消息端點網址
- 前往動態消息的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate請儲存這個網址,以供後續步驟使用。
按一下 [完成]。
建立 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 key」(API 金鑰) 欄位複製 API 金鑰值。
安全地儲存 API 金鑰。
取得 Aware API 金鑰
Aware 會使用 API 金鑰驗證外部整合。如何取得金鑰:
- 使用管理員帳戶前往 https://aware.work 登入 Aware。
- 按一下左下角的「系統設定」。
- 前往「整合」分頁。
複製頁面上顯示的「API Key」(API 金鑰)。
請妥善保存 API 金鑰,以供後續步驟使用。
設定 Aware Signal Webhook 轉送
建構 Webhook 網址
合併 Google SecOps 端點網址、API 金鑰和密鑰:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
在 Aware 中設定事件轉送
設定 Aware 將 Signal 事件轉送至 Google SecOps Webhook 端點。確切步驟可能會因 Aware 平台版本而異。
- 使用管理員帳戶前往 https://aware.work 登入 Aware。
- 按一下左下角的「系統設定」。
- 前往「整合」分頁。
使用下列詳細資料設定新的 Webhook 目的地:
到達網頁網址:貼上完整的 Webhook 網址,並附加 API 金鑰和密鑰做為查詢參數:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY內容類型:選取
application/json驗證標頭 (如果 Aware 版本支援):將標頭名稱設為
X-Aware-Api-Key,值設為 Aware API 金鑰
選取要轉送的事件類型。如要進行全面安全監控,請啟用所有信號事件的轉送功能:
- 違反政策事件
- 關鍵字比對事件
- AI/情緒偵測事件
- 惡意行為偵測事件
按一下「儲存」,啟用 Webhook 目的地。
替代方案:使用 Cloud Run 函式轉送事件
如果 Aware 版本不支援 Signal 事件的原生 Webhook 推送功能,您可以使用 Cloud Run 函式輪詢 Aware API,並將事件轉送至 Google SecOps Webhook 端點。
- 建立具有 Pub/Sub 觸發條件的 Cloud Run 函式 (Python 3.12 以上版本)。
- 將函式設定為:
- 使用
X-Aware-Api-Key標頭向 Aware API 驗證身分。 - 從 Aware API 端點查詢訊號事件。
- 將每個事件以 JSON 酬載的形式轉送至 Google SecOps Webhook 端點網址。
- 使用
使用 Cloud Scheduler 定期叫用函式 (例如每 5 分鐘一次)。
轉寄活動的要求範例:
curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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 設定」>「動態消息」。
- 按一下「Aware Signal Events」動態消息。
- 前往「狀態」分頁。
- 確認系統是否收到事件。
或者,在 Aware 中觸發測試信號事件:
- 在 Aware 中,依序前往「信號」> 事件。
- 確認政策是否會產生新事件。
- 稍候幾分鐘,Google SecOps 就會顯示事件。
Aware 信號事件類型
Aware Signal 會使用 AI 模型、關鍵字比對、規則運算式和情緒分析,偵測已連結協作平台中的事件。系統通常會產生下列事件類別:
| 類別 | 說明 | 範例 |
|---|---|---|
| 違反政策 | 由定義的政策規則觸發的事件 | 關鍵字偵測、規則運算式模式比對、機密資料 |
| AI/情緒 | AI 和情緒模型偵測到的事件 | 惡意言論、負面情緒、騷擾 |
| 資料遺失 | 與潛在資料竊取行為相關的事件 | 檔案共用違規、對外共用、憑證曝光 |
| 內部人員風險 | 指出潛在內部威脅的事件 | 異常行為模式、存取異常、離職員工風險 |
| 法規遵循 | 法規遵循相關事件 | PII 曝光、財務資料共用、違反《健康保險流通與責任法案》 |
驗證方法參考資料
Google SecOps 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。
方法 1:查詢參數
在 Webhook 網址中附加憑證。
網址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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 設定」>「資訊提供」。
- 按一下「Aware Signal Events」動態饋給。
- 前往「狀態」分頁。
- 檢查擷取錯誤。
- 確認記錄類型已設為「Aware Signals」。
- 確認 webhook 網址中的 API 金鑰和密鑰正確無誤。
驗證錯誤
原因:API 金鑰或密鑰無效
解決方法:
- 確認 Google SecOps API 金鑰有效,且 API 限制正確。
- 確認密鑰與建立動態消息時產生的密鑰相符。
手動測試端點:
curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"test": "event"}'如果測試失敗,請重新產生 API 金鑰或密鑰,並更新 Aware 中的 Webhook 設定。
酬載超過大小上限
原因:事件酬載超出 4 MB 大小上限
解決方法:
- 減少轉送的事件類型數量。
- 如要設定酬載大小限制,請與 Contact 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 專業人員尋求答案。