先來說下這個事的背景,以前咱們配置了Azure Policy,來限制在訂閱中可使用的Azure Service以及VM size, 這樣能夠避免一些沒必要要的額外費用,增強IT管理員對合規性的控制,可是有一個問題是,若是有一些擁有修改Policy權限的用戶對Policy作了一些修改,不管是有意仍是無心,都會致使咱們的管理規範受到影響,若是管理員沒發現這個問題,仍然覺得Policy還在正常工做的話,那麼就失去了設置Policy的意義,相反還可能致使比不設置Policy更嚴重的問題,因此咱們須要有有一個通知的機制,當策略受到了修改的時候,及時通知到管理員,這也是這篇博客須要作的事
ide
首先,完成這個任務咱們須要有log,任何對policy修改的log其實都會被記錄在Azure中,咱們手動查詢的時候是能夠查到的,可是默認不會有任何通知,因此咱們須要作的就是要增長一個觸發的機制
日誌
要作到這點的話咱們能夠藉助於Azure monitor以及Log Analytics, 首先能夠經過Log Analytics,把活動日誌都發送到Log Analytics中blog
在Log Analytics中,找到Azure活動日誌,這裏已經鏈接好了,若是沒鏈接的話,直接點擊鏈接便可圖片
以後到Policy這裏查下Role assignment的IDip
回到Log Analytics中,找到日誌博客
輸入查詢語句,能夠看到是能夠查到相應的日誌記錄的it
AzureActivityio
| where ResourceId contains "/subscriptions/ /providers/Microsoft.Authorization/policyAssignments/18414da0cc1e4b8c8b4dd423"class
| where ActivityStatus contains "Succeeded"bfc
| where OperationName contains "write"
點擊新建警報規則
根據須要,能夠修改警報邏輯,調整報警的判斷閾值等
以後再來定義所需的操做,這裏直接發送郵件便可
以後嘗試修改幾回policy,稍等一段時間以後,能夠看到警告已經出現了