您可以通過創建自定義告警規則,配置需要監控的事件,從而更加靈活地進行企業安全監控。操作審計會根據您添加的查詢統計、定義的檢查頻率、觸發條件等配置產生告警,并根據您所選擇的告警策略和行動策略進行告警降噪和通知。本文為您介紹如何創建自定義告警規則、不同場景的自定義告警語句和自定義告警示例。
背景信息
自定義告警規則使用SQL(Structured Query Language)語法篩選事件。關于SQL語法的更多信息,請參見查詢概述和分析概述。
操作步驟
登錄操作審計控制臺。
在左側導航欄,單擊事件告警。
在告警中心頁面的告警規則頁簽,單擊新建告警。
在新建告警面板,添加查詢統計。
單擊查詢統計右側的添加。
在查詢統計對話框的高級配置頁簽,選擇類型為日志庫、授權方式為默認。
說明區域和項目將自動填入,與啟用事件告警的跟蹤相同,無需手動設置。
選擇跟蹤投遞的日志庫(日志庫名稱格式為
actiontrail_<跟蹤名稱>
)選擇是否開啟獨享SQL。
說明自動:默認不使用獨享SQL。當遇到查詢并發限制或者查詢結果不精確時,自動嘗試使用獨享SQL再次查詢。
啟用:始終使用獨享SQL進行查詢和分析。
關閉:關閉獨享SQL。
關于開啟獨享SQL的更多信息,請參見開啟SQL獨享版。
設置查詢區間,并在查詢右側的文本框,輸入自定義告警語句,然后單擊預覽。
關于自定義告警語句的更多信息,請參見自定義告警語句。
單擊確認。
在告警監控規則面板,設置規則名稱、檢查頻率、分組評估、觸發條件、添加標簽、添加標注、恢復通知、高級配置和輸出目標等參數。
關于參數的更多信息,請參見告警監控規則參數。
單擊確定。
創建自定義告警規則成功后,告警規則列表中顯示新創建的告警規則,您可以根據需求管理告警規則。具體操作,請參見管理告警規則。
自定義告警語句
場景 | 說明 | 自定義告警語句 |
篩選云服務和事件 | 通過指定云服務名稱(serviceName)和事件名稱(eventName),對特定云服務和事件進行告警。 |
|
獲取和指定參數 | 事件參數以JSON格式存儲在event.requestParameterJson參數中,操作審計可以針對事件參數的具體取值進行告警。 |
|
獲取資源 | 通過指定事件的相關資源名稱(resourceName)和事件的相關資源類型(resourceType),獲取事件的資源。 關于參數的更多信息,請參見管控事件結構定義。 | 獲取單個資源。例如:獲取云服務器ECS釋放實例事件中操作的實例ID。
|
獲取身份 | 您可以獲取事件中的身份信息,對指定身份進行告警。 身份信息(userIdentity)包含身份類型(type)、身份名稱(userName)、身份ID(principalId)、阿里云賬號ID(accountId)等多個參數。關于參數的更多信息,請參見管控事件結構定義。 |
|
統計數量 | 您可以統計事件發生次數,超過指定次數時進行告警。 |
|
自定義告警示例
arbitrary函數用于返回x中任意一個非空的值,語法為:arbitrary(x)
。關于arbitrary函數的更多信息,請參見arbitrary函數。以下為您介紹兩個使用arbitrary函數的自定義告警示例:
示例一:RDS實例釋放告警
event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance) | SELECT account_id, resourceArray[num] as instance_id, ram_user_id, user_type, user_name FROM (SELECT "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::RDS::DBInstance') as num, "event.userIdentity.type" as user_type, "event.userIdentity.userName" as user_name FROM log ) where num > 0
示例二:安全組配置變更告警
event.eventName: CreateSecurityGroup OR event.eventName: AuthorizeSecurityGroup OR event.eventName: AuthorizeSecurityGroupEgress OR event.eventName: RevokeSecurityGroup OR event.eventName: RevokeSecurityGroupEgress OR event.eventName: JoinSecurityGroup OR event.eventName: LeaveSecurityGroup OR event.eventName: DeleteSecurityGroup OR event.eventName: ModifySecurityGroupPolicy) | select "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, "event.eventName" as event_name, arbitrary("event.userIdentity.type") as user_type, arbitrary("event.userIdentity.userName") as user_name group by account_id, ram_user_id, event_name
相關文檔
您還可以通過日志服務創建自定義告警規則。具體操作,請參見創建日志告警監控規則。
當您開啟告警規則后,可以通過日志服務查看相關的信息。具體操作,請參見管理告警監控規則。