了解 Azure 原則中的範圍
有許多設定可決定哪些資源能夠進行評估,以及哪些資源是由 Azure 原則評估。 這些控制項的主要概念是範圍。 Azure 原則的範圍是以 Azure Resource Manager 中的範圍運作方式為基礎。 如需高階概觀,請參閱 Azure Resource Manager 中的範圍。
本文會說明範圍在 Azure 原則中的重要性,以及其相關的物件和屬性。
定義位置
建立原則定義時,Azure 原則會使用第一個執行個體範圍。 定義可以儲存在管理群組或訂閱中。 此位置可決定方案或原則的指派範圍。 資源必須位於定義位置的資源階層內,才可作為指派的目標。 Azure 原則所涵蓋的資源 會說明如何評估原則。
如果定義位置為:
- 訂用帳戶 - 定義原則的訂用帳戶,以及該訂用帳戶內的資源可以指派原則定義。
- 管理群組 - 原則定義所在的管理群組,以及子管理群組和子訂用帳戶內的資源可以獲指派原則定義。 如果您要套用原則定義至多個訂閱,其位置必須是包含各訂閱的管理群組。
該位置應位於針對所有您想使用原則定義的資源,其所共用的資源容器。 此資源容器通常是位於根管理群組附近的管理群組。
指派範圍
指派有數個可設定範圍的屬性。 使用這些屬性會決定 Azure 原則可評估的資源,以及哪些資源須計入合規性。 這些屬性對應至下列概念:
包含 - 應根據定義評估資源階層或個別資源的合規性。 指派物件所在的範圍會決定要包含和評估的合規性內容。 如需詳細資訊,請參閱指派定義。
排除 - 不應根據定義評估資源階層或個別資源的合規性。 指派物件上的
properties.notScopes
[陣列] 屬性會決定要排除的內容。 這些範圍內的資源不須評估,也不會包含在合規性次數中。 如需詳細資訊,請參閱指派定義 - 排除範圍。
除了原則指派上的屬性之外,還有原則豁免物件。 豁免可提供方法來識別指派不須評估的部分,藉此強化範圍案例。
豁免 - 資源階層或個別資源應根據定義評估其合規性,但不會因擁有豁免權或透過其他方法降低風險等緣故而須接受評估。 此狀態中的資源會在合規性報告中顯示為 [豁免] 以便追蹤。 系統會在資源階層或個別資源上將豁免物件建立為子物件,以決定豁免的範圍。 資源階層或個別資源可以豁免多重指派。 可使用
expiresOn
屬性,將豁免在排程上設定為到期。 如需詳細資訊,請參閱豁免定義。注意
將豁免授與資源階層或個別資源會造成影響,因此豁免會有額外的安全性措施。 除了需要資源階層或個別資源上的
Microsoft.Authorization/policyExemptions/write
作業之外,豁免的建立者必須在目標指派上擁有exempt/Action
動詞。
範圍比較
下表為範圍選項的比較:
包含 | 排除 (notScopes) | 豁免 | |
---|---|---|---|
資源已評估 | ✔ | - | - |
Resource Manager 物件 | - | - | ✔ |
需要修改原則指派物件 | ✔ | ✔ | - |
那麼,您如何選擇是否要使用排除或豁免? 通常會建議排除以永久略過廣泛範圍的評估,例如不需要相同層級治理的測試環境。 對於有時限或更具體的情節,建議進行豁免,在這些情節中,仍應追蹤資源或資源階層,否則將對其進行評估,但有一個特定的原因不應對其進行合規性評估。
下一步
- 了解原則定義結構。
- 了解如何以程式設計方式建立原則。
- 了解如何取得合規性資料。
- 了解如何補救不符合規範的資源。
- 透過使用 Azure 管理群組來組織資源來檢閱何謂管理群組。
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: