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