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