防範資源誤用的利器:Azure原則

許俊龍Andy Hsu

  • 恆逸教育訓練中心-資深講師
  • 技術分類:雲端

 

 

武俠作品中常常會看到所謂【走火入魔】的說法,大概的意思是習武之人因為行功不當,導致身心失控、出現解離或人格異常、行為漸趨脫軌、最終害己害人。生活中也有很多類似的現象,例如炒股、宗教…等案例多到不勝枚舉,姑且不論這些行為是無意而為、或是有意為之,一切都要有個合適程度的規範,並且必須符合各項核心而根本的法則與準則,這樣才能有效的先前防止,避免事態嚴重到無法彌補的狀態。

經過數十年的演進過程,現在已經有相當多數的企業都能體會到雲端運算可以帶來很多好處,除了降低前期的資本與技術投入、免除維運與養護的高額費用、跨平台使用的服務、高等級的安全防護與擴展能力、彈性且穩定的迅速因應措施…等。然而相對地,使用雲端資源的支出則是需要好好規劃與控制,這樣才能避免無謂的浪費。

以虛擬機器的規格大小(Size)為例,如果未予以事先控管,具有建立虛擬機器或是變更規格權限的管理人員,可能會無意、甚至是有意的選擇了極高價格的虛擬機器大小,如同<圖一>所示,管理人員選擇的這個大小等級,每月初估的支出費用竟然高達$36639,這還尚未計入啟動後的資源運算、儲存異動與網路傳輸…等其他變動帶來的額外款項,如果這個虛擬機器的大小並不是營運必要所需的規格,不設限制所導致的結果,可以想見日後對於企業將會造成多大的影響。


<圖一>未受控前,管理者可建立極大規格的虛擬機器,造成高額的支出



Azure治理原生功能的【合規性管控設定-Azure原則(Policy)】,就包括了資源一致性、法規合規性、安全性、成本和掌控來進行管理,以JSON格式描述的商務規則做為原則定義,依據商務標準管理Azure資源,並遵循企業制定的合規需求,降低檢核環境所需的時間、減輕審批流程的管理負荷,從而提升控管能力和最佳化雲端的支出,讓組織投資可以獲得更多價值。以下示範對於虛擬機器大小以Azure原則控管後,管理者只能選擇原則中允許的大小,再也無法隨意指定其他規格的虛擬機器。

首先,我們必須選擇的是:決定要指派Azure原則的【範圍,Scope】,也就是想要套用控管設定的最上層管理位置,由上而下分別是【管理群組,Management Group、MG】、【訂用帳戶,Subscription】、以及【資源群組,Resource Group、RG】這三個位置,用來向下繼承管控設定至多個訂用帳戶、一個訂用帳戶內的多個資源群組、以及一個資源群組之中的資源,詳如<圖二>所示。管理者可以視管控目標與組織要求的規定,彈性決定要套用設定的範圍。


<圖二>可以套用Azure原則的三個範圍位置與繼承設定的關係結構



接著選擇要套用的【原則定義,Policy Definition】,附帶一提,如果考量日後可能會在此位置套用多個原則定義,可以將多個原則定義集合在【方案定義,Plan Definition】內,這樣在指派時只需透過一次的設定動作,即可完成多個原則的套用。所謂原則定義,就是要進行管控的設定內容,因為具有專用的程式語法,總是會有些難度,建議不該考慮直接進行撰寫,而是應經由系統每日自動更新來自Github提供的數千個原則中瀏覽,以關鍵字搜尋符合需要的原則定義。以此例子來說,我們以關鍵字【大小】進行搜尋後,即可在結果清單中找到【允許的虛擬機器大小SKU】,此原則定義,正可符合所需的限制目標,詳見<圖三>所示。


<圖三>搜尋內建的原則定義,通常可符合所需



隨後跟著步驟完成允許大小的選擇、是否要對新增設定時進行補救修復的矯正控制(Remediation)、以及不符合規範時要出現的訊息,這樣即可完成原則的限制設定。要注意的是,Azure原則是自動對【新增】的設定進行套用控管以及補救矯正,確保資源達到合規性的要求。至於套用原則之前就已經存在的既有資源,則只進行合規性的評估,不會強制變更為符合規定的設定。而預設掃描週期,為每隔24小時自動對指派範圍內的資源進行一次重新評估;同時也支援透過Azure CLI、REST API、Azure PowerShell的呼叫,或使用Azure原則合規性掃描GitHub Action來啟動訂用帳戶或資源群組的手動進行隨選掃描評估,由於這是一個非同步的作業,所以需要等待十多分鐘後才會完成。

之後管理者可經由儀表板所提供的彙總檢視,評估環境的整體狀態,並可向下切入至每個資源和每個原則的套用結果,檢閱合規性的狀態,如<圖四>所示,同時虛擬機器管理人員日後再也無法任意選擇不符合規定的大小規格了。這就是Azure原則的強大控管能力,善加運用之後,肯定會讓雲端資源的使用,更加符合效益與企業的營運目標。


<圖四>原則儀表板提供一目了然的合規狀態結果,以及詳細的資料內容