前言
配置審計(Config)將您分散在各地域的資源整合為全局資源列表,可便捷地搜索全局資源;同時幫助您記錄雲上 IT 資源的配置變更歷史,持續自動地評估雲上資源配置的合規性,實現雲上 IT 合規治理。本文介紹如何使用配置審計(Config)幫助您快速發現未配置防盜鏈的 OSS Bucket 並修復的案例。
實際案例
公司 A 有 10 個垂直的業務部門,每個業務部門分配了 1~2 個 OSS Bucket 用於存儲運營圖片,並直接在網頁上使用的 OSS 生成的鏈接做圖片內容的展示。我們知道 OSS 的費用分為存儲費和流量費,當大量的外部請求獲取圖片資源時,產生的流量費用需要客戶自行承擔。為了杜絕不法網站盜用圖片資源,OSS 開發了“防盜鏈”功能,詳細的功能說明請參考: 防盜鏈
公司 A 打算使用該技術方案,需要為 OSS Bucket 開啟防盜鏈,並且設置 referer 白名單為 *.alibaba.com
和 *.aliyun.com
。作為公司的運維同學,非常不希望每個 Bucket 都檢查並參考文檔配置一遍,同時還需要額外製定對策防止 Bucket 配置被二次修改。
這時候,他想起了阿里雲的一款雲產品:配置審計(Config)。
我們可以將配置審計(Config)的能力簡單概括為3點:
- 統一的資源視角,多地域,甚至跨賬號;
- 規則(Rule)檢測資源配置是否滿足要求;
- 持續檢測資源及修復能力;
配置審計(Config)是如何工作的?
資源的配置數據通過異步消息通知會中心化的存儲在配置審計(Config)的數據庫中。規則會採用定時、變更被動觸發、用戶主動觸發的方式來對數據庫的資源配置進行評估, 將評估結果展現給用戶,同時會根據規則設置判斷是否需要進行修正,如執行修正任務,新的資源配置數據會重新被配置審計(Config)感知進入到下一次的評估循環中。我們一起來看看公司 A 的運維同學是如何通過配置審計(Config)完成任務的。
設置規則
打開配置審計控制檯,進入規則列表,點擊新建規則,即可看到配置審計(Config)為用戶提供的大量的託管規則(託管規則由平臺開發並提供給用戶使用),搜索“防盜鏈”或“referer”都可以搜索到該規則:OSS 存儲空間開啟防盜鏈功能。
點擊應用規則,
第一步:設置規則名稱、自定義風險等級、自定義備註信息;
第二步:可以根據實際的業務場景限定需要檢查的資源的範圍;可選項包括資源 ID、資源組 ID、地域、標籤等;
第三步:設置允許的 referer 白名單及是否允許 referer 為空;
第四步: 設置是否開啟自動修復,我們暫時先跳過,後續再討論;
第五步:預覽並提交
規則評估
規則創建完成後,規則便開始對存量的 Bucket 配置進行合規性的評估,參考規則的評估說明, “OSS 存儲空間開啟防盜鏈功能,視為合規”,該規則通過檢查 Bucket 配置信息中的 RefererList.Referer
不為空判定開啟防盜鏈功能是否合規。
規則評估完成後會生成一份評估結果,標註累計評估資源數、合規資源數、不合規資源數;您可以基於這份檢查結果去手動配置。注意:對於新增的 OSS Bucket 同樣會自動檢測其合規性。
下圖為檢測結果:累計檢測 23 個 OSS Bucket,23 個不合規,表示這 23 個 OSS Bucket 均未開啟防盜鏈功能。
如何修復
如果 Bucket 的數量很多,繁重的人工配置可能會帶來操作上的失誤,彆著急,配置審計(Config)提供修正能力,對於規則評估出的不合規資源結合運維編排(OOS)將其修復。可在規則詳情頁->修正詳情,然後點擊“修正配置”,完成修正配置。
注意有一個選項為:“自動修正/手動修正”,我們暫時勾選為“手動修正”。
這時候,在修正詳情 tab,將會出現“執行手動修正”的按鈕,點擊此按鈕,則手動觸發對不合規資源的修復任務。
由於修復任務是異步發起的,您可以直接去對象存儲的控制檯->存儲桶-> 權限管理 -> 防盜鏈查看是否修正成功,也可稍微等待一段時間(10分鐘左右)再來配置審計(Config)控制檯查看最新的配置信息。
如上圖所示,修復動作已經執行完成,OSS Bucket 防盜鏈已經正常設置, 回到配置審計控制檯,繼續等待片刻,修復觸發的資源變更數據會迴流到配置審計(Config)觸發規則的再一次評估,這時候我們發現所有的資源都變成合規狀態。
持續評估並修復
如何保證其他運維人員在後續的時間裡不再改變該配置呢?組織內部運行機制能夠勉強完成任務,但是人總是會犯錯誤的。我們可以藉助配置審計(Config)的持續檢測及修復能力。 在剛才配置修復設置中,將“手動執行”修改為“自動執行”,一旦資源發生了不合理的變更,配置審計(Config)將會識別並將其自動糾正為正確的配置,防止異常修改。
如,我們在 OSS 控制檯將某個 OSS Bucket 的配置規則修改為,改動點: *.alibaba.com
改成了 *.alibaba-inc.com
稍微等待幾分鐘,我們會發現:
這裡出現了我們剛才設置的錯誤的防盜鏈名單的 OSS Bucket,此時,自動修正已經觸發,之所以還有 1 個顯示為不合規,是因為配置審計(Config)需要等待修正後的正確置到達中心化的數據庫才能進行再一次的規則評估,將不合規資源評估為合規狀態。
如上圖,經過大約 10 分鐘的時間,最新的 Bucket 配置信息已經到達配置審計,規則評估觸發認定為“合規”。
我們再次回到 OSS Bucket 控制檯查看最新的資源配置是否生效。
配置被重新設置回了 *.alibaba.com
*.aliyun.com
。
總結
以上就是使用配置審計(Config)檢測不合規配置並持續自動修復的全部內容,我們通過設置規則,規則評估及修復等完成從發現問題,定位資源,到手動、自動變配,形成了問題在配置審計(Config)的閉環。
另外,我們還有很多適用於更復雜業務場景的規則及合規包,可以幫助企業運維、企業合規項目的同學們更高效地完成工作。 立即前往->