評估新 Azure 原則 定義的影響

Azure 原則 是管理 Azure 資源以符合商務標準合規性需求的強大工具。 當人員、程序或管線建立或更新資源時,Azure 原則會檢閱要求。 當原則定義效果為 ModifyAppendDeployIfNotExists 時,原則會更改要求或加以新增。 當原則定義效果為 AuditAuditIfNotExists 時,Policy 會為新的和更新的資源建立活動記錄專案。 當原則定義效果為 DenyDenyAction 時,原則會停止建立或變更要求。

若您確知原則已正確定義,這些結果就會完全符合預期。 不過,請務必先如預期般驗證新原則,再允許變更或封鎖工作。 驗證必須確保只有預定的資源判斷為不符合規範,且結果中未正確包含任何符合規範的資源(稱為 誤判)。

驗證新原則定義的建議方法為遵循下列這些步驟:

  • 嚴格定義原則
  • 測試原則的有效性
  • 稽核新的或更新的資源要求
  • 將原則部署至資源
  • 持續監視

嚴格定義原則

請務必了解如何將商務原則實作為原則定義,以及 Azure 資源與其他 Azure 服務的關聯性。 此步驟是藉由 識別需求判斷資源屬性來完成。 但也務必察覺您商務原則狹義之外的涵義。 例如,您的原則有說明「所有虛擬機器都必須...」嗎? 使用 VM 的其他 Azure 服務 (例如 HDInsight 或 AKS) 呢? 定義原則時,必須考慮此原則會如何影響其他服務所使用的資源。

基於此原因,應該盡可能嚴格地定義您的原則定義,並專注於您需要評估合規性的資源與屬性。

測試原則的有效性

使用新原則定義來管理新的或已更新的資源之前,最好先了解其如何評估受限的一部分現有資源,例如測試資源群組。 Azure 原則 VS Code 擴充功能可讓您使用隨選評估掃描,針對現有的 Azure 資源隔離測試定義。 您也可以在原則指派上使用強制模式Disabled (DoNotEnforce) 指派開發環境中的定義,以防止觸發或活動記錄專案建立效果

此步驟可讓您評估新原則對現有資源的合規性結果,而不會影響工作流程。 檢查不符合規範的資源是否顯示為不符合規範(誤判),且您預期不符合規範的所有資源都會正確標示。 在初始的資源子集如預期般驗證之後,請慢慢地將評估擴充至更多現有的資源及更多範圍。

以此方式評估現有資源也可在完整實作新原則之前,針對補救不符合規範的資源提供機會。 如果原則定義效果為 DeployIfNotExists 或 Modify,則可以手動或透過補救工作來完成此清除。

使用 DeployIfNotExist 的原則定義應該利用 Azure Resource Manager 範本,以 驗證及測試部署 ARM 範本時發生的變更。

稽核新的或已更新的資源

驗證在現有資源中正確回報新原則定義之後,即可在資源建立或更新完成時,查看原則的影響。 如果原則定義支援效果參數化,請使用 AuditAuditIfNotExist。 此設定可讓您監視建立及更新資源,了解新原則定義是否可在不影響現有工作或要求的情況下,為不符合規範的資源觸發 Azure 活動記錄中的項目。

建議您同時更新並建立符合原則定義的新資源,以查看稽核或 AuditIfNotExist 效果在預期時正確觸發。 請留意不應受到觸發 AuditAuditIfNotExist 效果之新原則定義影響的資源要求。 這些受影響的資源是誤判的另一個範例,而且必須在原則定義中修正,才能完整實作。

在此測試階段所變更原則定義的事件中,建議開始稽核現有資源的驗證程序。 對新資源或更新之資源誤判的原則定義變更,可能會對現有資源造成影響。

將原則部署至資源

使用現有資源及新的或已更新的資源完成新原則定義的驗證之後,將開始實作原則的程序。 建議針對新原則,先將原則指派給所有資源的子集,例如資源群組。 您可以使用原則指派內的 屬性,依資源類型或位置 resourceSelectors 進一步篩選。驗證初始部署之後,請將原則的範圍延伸至更廣泛的資源群組。 驗證初始部署之後,藉由調整 resourceSelector 篩選以鎖定更多位置或資源類型,或移除指派,並將它取代為訂用帳戶和管理群組等更廣泛範圍的新指派,以擴充原則的影響。 繼續此漸進式推出,直到指派給新原則定義所要涵蓋之資源的完整範圍為止。

推出期間,若發現應該從新原則定義中免除資源,則依照下列方式加以處理:

  • 將原則定義更新為更明確,以減少非預期的影響
  • 變更原則指派的範圍(藉由移除和建立新的指派)
  • 將資源群組新增至原則指派的排除清單

任何範圍變更 (層級或排除項目) 都應經過完整驗證,並傳達給您的安全性與合規性組織,以確保涵蓋範圍沒有任何缺口。

監視原則與合規性

實作及指派原則定義並不是最後步驟。 持續監視 新原則定義的資源合規性 層級,並在識別不符合規範的裝置時設定適當的 Azure 監視器警示和通知 。 也建議您在已排程基礎上評估原則定義與相關指派,以便確認原則定義符合商務原則與合規性需求。 若不再需要原則,應該將其移除。 原則也需要隨著基礎 Azure 資源的發展而不時更新,並新增屬性和功能。

下一步