了解 Azure 原則中的範圍

有許多設定可決定哪些資源能夠進行評估,以及哪些資源是由 Azure 原則評估。 這些控制項的主要概念是範圍。 Azure 原則的範圍是以 Azure Resource Manager 中的範圍運作方式為基礎。 如需高階概觀,請參閱 Azure Resource Manager 中的範圍

本文會說明範圍在 Azure 原則中的重要性,以及其相關的物件和屬性。

定義位置

建立原則定義時,Azure 原則會使用第一個執行個體範圍。 定義可以儲存在管理群組或訂閱中。 此位置可決定方案或原則的指派範圍。 資源必須位於定義位置的資源階層內,才可作為指派的目標。 Azure 原則所涵蓋的資源 會說明如何評估原則。

如果定義位置為:

  • 訂用帳戶 - 定義原則的訂用帳戶,以及該訂用帳戶內的資源可以指派原則定義。
  • 管理群組 - 原則定義所在的管理群組,以及子管理群組和子訂用帳戶內的資源可以獲指派原則定義。 如果您要套用原則定義至多個訂閱,其位置必須是包含各訂閱的管理群組。

該位置應位於針對所有您想使用原則定義的資源,其所共用的資源容器。 此資源容器通常是位於根管理群組附近的管理群組。

指派範圍

指派有數個可設定範圍的屬性。 使用這些屬性會決定 Azure 原則可評估的資源,以及哪些資源須計入合規性。 這些屬性對應至下列概念:

  • 包含 - 應根據定義評估資源階層或個別資源的合規性。 指派物件上的 properties.scope 屬性會決定要包含和評估的合規性內容。 如需詳細資訊,請參閱指派定義

  • 排除 - 不應根據定義評估資源階層或個別資源的合規性。 指派物件上的 properties.notScopes [陣列] 屬性會決定要排除的內容。 這些範圍內的資源不須評估,也不會包含在合規性次數中。 如需詳細資訊,請參閱指派定義 - 排除範圍

除了原則指派上的屬性之外,還有原則豁免物件。 豁免可提供方法來識別指派不須評估的部分,藉此強化範圍案例。

  • 豁免 - 資源階層或個別資源應根據定義評估其合規性,但不會因擁有豁免權或透過其他方法降低風險等緣故而須接受評估。 此狀態中的資源會在合規性報告中顯示為 [豁免] 以便追蹤。 系統會在資源階層或個別資源上將豁免物件建立為子物件,以決定豁免的範圍。 資源階層或個別資源可以豁免多重指派。 可使用 expiresOn 屬性,將豁免在排程上設定為到期。 如需詳細資訊,請參閱豁免定義

    注意

    將豁免授與資源階層或個別資源會造成影響,因此豁免會有額外的安全性措施。 除了需要資源階層或個別資源上的 Microsoft.Authorization/policyExemptions/write 作業之外,豁免的建立者必須在目標指派上擁有 exempt/Action 動詞。

範圍比較

下表為範圍選項的比較:

包含 排除 (notScopes) 豁免
資源已評估 - -
Resource Manager 物件 - -
需要修改原則指派物件 -

那麼,您如何選擇是否要使用排除或豁免? 通常會建議排除以永久略過廣泛範圍的評估,例如不需要相同層級治理的測試環境。 對於有時限或更具體的情節,建議進行豁免,在這些情節中,仍應追蹤資源或資源階層,否則將對其進行評估,但有一個特定的原因不應對其進行合規性評估。

下一步