當您需要審計和監控服務網格內的資源操作時,可以開啟網格審計并配置SLS的告警,為ASM資源(VirtualService、DestinationRule等)的變更行為添加審計告警能力。在重要資源變動時及時發送告警通知到告警聯系人,以保障服務網格的安全性和合規性。本文介紹如何為網格資源操作配置審計告警,并在虛擬服務被刪除時發送短信通知給告警聯系人。
前提條件
步驟一:開啟網格審計
開啟網格審計后,ASM實例的KubeAPI操作日志會被收集到SLS作為后續的告警配置的數據來源。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在KubeAPI操作審計頁面,選中啟用網格審計,然后單擊確定。
界面顯示如下,表明網格審計啟用成功。
步驟二:添加告警接收用戶
本示例后續產生的告警會被通知到SLS的服務網格內置用戶組,因此需要將能接收通知的賬號添加到該用戶組中。
確認測試子賬號已經添加了手機號,并且對應號碼能夠正常接收短信。具體操作,請參見創建用戶。
在用戶組中添加測試子賬號。
登錄日志服務控制臺。
在Project列表區域,單擊目標Project名稱,然后在左側導航欄,單擊告警。
如果是新建的Project(沒有在創建網格時或開啟審計功能時顯式地復用現有Project),則Project名字格式為
mesh-log-<Mesh ID>
。如果是復用已有的Project,單擊復用Project名稱。
在告警中心頁面,單擊
。在用戶組管理頁簽,單擊SLS 服務網格內置用戶組右側操作列下的修改。
SLS 服務網格內置用戶組對應的標識符為sls.app.asm.builtin。
在修改用戶組對話框,添加測試子賬號,然后單擊確認。
步驟三:配置審計告警
配置VirtualService資源刪除的短信告警通知。
登錄日志服務控制臺。
在Project列表區域,單擊目標Project名稱,然后在左側導航欄,單擊告警。
在告警中心頁面的告警規則頁簽,單擊新建告警。
在新建告警面板,配置相關信息,然后單擊確定。
部分配置項說明如下。關于配置項的詳細說明,請參見創建日志告警監控規則。
配置項
說明
規則名稱
配置為虛擬服務刪除。
檢查頻率
為了快速驗證本示例的效果,因此配置為1分鐘。
查詢統計
單擊添加,在查詢統計對話框的高級配置頁簽,選擇audit開頭的日志庫。
查詢區間選擇與檢查頻率相同的1分鐘(相對),以避免重復報警與漏報。
在查詢文本框,輸入
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: virtualservices and objectRef.apiGroup: "networking.istio.io" and ( verb: delete )
,然后單擊預覽,確認無誤后,單擊確定。
觸發條件
配置為當有數據時,嚴重度高。
添加標注
您可以按需修改title和desc,配置告警內容的標題和內容。更多說明,請參見內容模板變量說明(新版)。
輸出目標
選擇SLS通知,打開開啟開關,行動策略選擇SLS 服務網格內置行動策略 (sls.app.asm.builtin)。
步驟四:驗證審計告警
通過刪除一個VirtualService資源來驗證步驟三配置的審計告警。
創建并刪除虛擬服務。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 ,然后單擊使用YAML創建。
在創建頁面,命名空間選擇default,場景模板選擇HTTP基礎路由,然后單擊創建。
在虛擬服務頁面的操作列,單擊新建的reviews-route虛擬服務對應的刪除,然后在確認對話框,單擊確定。
查看審計告警是否成功。
相關信息
SLS服務網格內置行動策略細節
告警嚴重程度 | 行為 |
嚴重 | 語音通知 |
高 | 短信通知 |
其他 | 郵件通知 |
常用告警條件查詢參考
ASM網關IstioGateway創建、修改、刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: istiogateways and objectRef.apiGroup: "istio.alibabacloud.com" and ( verb: create or verb: delete or verb: update )
網關規則Gateway刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: gateways and objectRef.apiGroup: "networking.istio.io" and ( verb: delete )
證書ASMCredential刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: asmcredentials and objectRef.apiGroup: "istio.alibabacloud.com" and ( verb: delete )
虛擬服務VirtualService刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: virtualservices and objectRef.apiGroup: "networking.istio.io" and ( verb: delete )
目標規則DestinationRule刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: destinationrules and objectRef.apiGroup: "networking.istio.io" and ( verb: delete )
可觀測Telemetry刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: telemetries and objectRef.apiGroup: "telemetry.istio.io" and ( verb: delete )
授權策略AuthorizationPolicies刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: authorizationpolicies and objectRef.apiGroup: "security.istio.io" and ( verb: delete )
Envoy過濾器EnvoyFilter刪除
(responseStatus.code: 200 or responseStatus.code: 201) and objectRef.resource: envoyfilters and objectRef.apiGroup: "networking.istio.io" and ( verb: delete )
相關文檔
當您需要為RAM用戶授予日志服務告警的只讀權限或管理權限,請參見授予RAM用戶告警操作權限。
您可以在網格中配置工作負載身份、對等身份認證、請求身份認證、授權策略等,更加細粒度地管理網格資源,提高網格的安全性。具體操作,請參見零信任安全概述。