Share via


了解 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 物件 - -
需要修改原則指派物件 -

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

下一步