評估新 Azure 原則定義的影響
Azure 原則是一項功能強大的工具,可讓您管理 Azure 資源,以符合商務標準合規需求。 當人員、程序或管線建立或更新資源時,Azure 原則會檢閱要求。 當原則定義效果為 Modify、Append 或 DeployIfNotExists 時,原則會更改要求或加以新增。 當原則定義效果為 Audit 或 AuditIfNotExists 時,原則會促使系統為新的和已更新的來源建立活動記錄項目。 當原則定義效果為 Deny 或 DenyAction 時,原則會停止建立或改變要求。
若您確知原則已正確定義,這些結果就會完全符合預期。 不過,請務必先驗證新的原則可如預期運作,再允許該原則變更或封鎖工作。 此驗證必須確定只有預期的資源會被認定為不符合規範,而不會誤將符合規範的資源包含在結果中 (也稱為誤判為真)。
驗證新原則定義的建議方法為遵循下列這些步驟:
- 嚴格定義原則
- 測試原則的有效性
- 稽核新的或更新的資源要求
- 將原則部署至資源
- 持續監視
嚴格定義原則
請務必了解如何將商務原則實作為原則定義,以及 Azure 資源與其他 Azure 服務的關聯性。 此步驟可藉由識別需求和確認資源屬性來完成。 但也務必察覺您商務原則狹義之外的涵義。 例如,您的原則有說明「所有虛擬機器都必須...」嗎? 使用 VM 的其他 Azure 服務 (例如 HDInsight 或 AKS) 呢? 定義原則時,必須考慮此原則會如何影響其他服務所使用的資源。
基於此原因,應該盡可能嚴格地定義您的原則定義,並專注於您需要評估合規性的資源與屬性。
測試原則的有效性
使用新原則定義來管理新的或已更新的資源之前,最好先了解其如何評估受限的一部分現有資源,例如測試資源群組。 Azure 原則 VS Code 延伸模組可讓您使用隨選評估掃描,針對現有的 Azure 資源隔離測試定義。 您也可在指派原則時使用強制模式 停用 (DoNotEnforce),在 Dev 環境中指派定義,以防止觸發效果或建立活動記錄項目。
此步驟可讓您在不影響工作流程的情況下,評估新原則用於現有資源時的合規性結果。 請確認沒有符合規範的資源顯示為不符合規範 (誤判為真),且所有預期不符合規範的資源均正確標示。 初始資源子集經驗證符合預期後,請漸次對更多現有資源和更多範圍進行評估。
以此方式評估現有資源也可在完整實作新原則之前,針對補救不符合規範的資源提供機會。 這項清除作業可以手動完成,或者,如果原則定義效果為 DeployIfNotExists 或 Modify,則透過補救工作來完成。
具有 DeployIfNotExist 的原則定義應該利用 Azure Resource Manager 範本假設,以驗證及測試在部署 ARM 範本時發生的變更。
稽核新的或已更新的資源
驗證在現有資源中正確回報新原則定義之後,即可在資源建立或更新完成時,查看原則的影響。 如果原則定義支援效果參數化,請使用 Audit 或 AuditIfNotExist。 此設定可讓您監視建立及更新資源,了解新原則定義是否可在不影響現有工作或要求的情況下,為不符合規範的資源觸發 Azure 活動記錄中的項目。
建議您更新和建立符合原則定義的新資源,以查看是否如預期正確地觸發 Audit 或 AuditIfNotExist 效果。 請留意觸發 Audit 或 AuditIfNotExist 效果的新原則定義是否對不應受影響的資源要求造成影響。 這些受影響的資源也屬於「誤判為真」,必須先在原則定義中修正,才能進行完整實作。
在此測試階段所變更原則定義的事件中,建議開始稽核現有資源的驗證程序。 因新的或更新的資源誤判為真而變更原則定義後,現有的資源也可能會受到影響。
將原則部署至資源
使用現有資源及新的或已更新的資源完成新原則定義的驗證之後,將開始實作原則的程序。 建議針對新原則,先將原則指派給所有資源的子集,例如資源群組。 您可以使用原則指派內的 resourceSelectors
屬性,依資源類型或位置進一步篩選。驗證初始部署之後,請將原則的範圍擴大為一個資源群組。 驗證初始部署之後,調整 resourceSelector 篩選以更多位置或資源類型為目標,或移除指派並將它取代為訂用帳戶和管理群組等更廣泛範圍的新指派,藉此擴大原則的影響。 繼續此漸進式推出,直到指派給新原則定義所要涵蓋之資源的完整範圍為止。
推出期間,若發現應該從新原則定義中免除資源,則依照下列方式加以處理:
- 將原則定義更新得更為明確,以減少非預期的影響
- 變更原則指派的範圍 (藉由移除指派並建立新的指派)
- 將資源群組新增至原則指派的排除清單
任何範圍變更 (層級或排除項目) 都應經過完整驗證,並傳達給您的安全性與合規性組織,以確保涵蓋範圍沒有任何缺口。
監視原則與合規性
實作及指派原則定義並不是最後步驟。 持續監視資源在新原則定義下的合規性層級,並設定適當的 Azure 監視器警示和通知,在識別出不符合規範的裝置時使用。 也建議您在已排程基礎上評估原則定義與相關指派,以便確認原則定義符合商務原則與合規性需求。 若不再需要原則,應該將其移除。 隨著基礎 Azure 資源的演變以及新增屬性和功能,原則也必須適時更新。
下一步
- 了解原則定義結構。
- 了解原則指派結構。
- 了解如何以程式設計方式建立原則。
- 了解如何取得合規性資料。
- 了解如何補救不符合規範的資源。
- 透過使用 Azure 管理群組來組織資源來檢閱何謂管理群組。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應