共用方式為


Azure 原則 的適用性為何?

將原則定義指派給範圍時,Azure 原則 會決定該範圍內應考慮哪些資源以進行合規性評估。 只有在資源被視為 適用於 指定的原則指派時,才會評估其合規性。

適用性取決於幾個因素:

  • 原則規則區塊中的if條件
  • 原則定義的模式
  • 指派中指定的排除範圍
  • 指派中指定的資源選取器
  • 資源 或資源階層的豁免。

原則規則區塊中的 if Condition(s) 會根據效果,以稍微不同的方式評估適用性。

注意

適用性與合規性不同,而用來判斷每個邏輯的邏輯則不同。 如果資源 適用 ,表示它與原則相關。 如果資源 符合規範 ,表示它遵守原則。 有時只有原則規則的某些條件會影響適用性,而原則規則的所有條件都會影響合規性狀態。

Resource Manager 模式

-IfNotExists 原則效果

DeployIfNotExists 原則的AuditIfNotExists適用性是以原則規則的整個if條件為基礎。 if當 評估為 false 時,原則不適用。

所有其他原則效果

Azure 原則 只會type評估原則規則if表達式中的、 namekind 條件,並將其他條件視為 true(或否定時為 false)。 如果最終評估結果為 true,則原則適用。 否則,不適用。

以下是先前所描述適用性邏輯的特殊案例:

案例 結果
條件中的任何 if 無效別名 此原則不適用
if 條件只 kind 包含條件時 此原則適用於所有資源
if 條件只 name 包含條件時 此原則適用於所有資源
if當條件只type包含和 kind 條件時 決定適用性時,只會 type 考慮條件
if當條件只type包含和 name 條件時 決定適用性時,只會 type 考慮條件
if 條件包含 typekind和其他條件時 決定適用性時,會 type 考慮 和 kind 條件
if 條件包含 typename和其他條件時 決定適用性時,會 type 考慮 和 name 條件
當任何條件 (包括部署參數) 包含 location 條件時 不適用於訂用帳戶

資源提供者模式

Microsoft.Kubernetes.Data

原則的 Microsoft.Kubernetes.Data 適用性是以原則規則的整個 if 條件為基礎。 if當 評估為 false 時,原則不適用。

Microsoft.KeyVault.Data、Microsoft.ManagedHSM.Data、Microsoft.DataFactory.Data 和 Microsoft.MachineLearningServices.v2.Data

如果原則規則的條件評估為 true, type 則適用具有這些 RP 模式的原則。 type是指元件類型。

金鑰保存庫元件類型:

  • Microsoft.KeyVault.Data/vaults/certificates
  • Microsoft.KeyVault.Data/vaults/keys
  • Microsoft.KeyVault.Data/vaults/secrets

受控 HSM 元件類型:

  • Microsoft.ManagedHSM.Data/managedHsms/keys

Azure Data Factory 元件類型:

  • Microsoft.DataFactory.Data/factories/outboundTraffic

Azure 機器學習 元件類型:

  • Microsoft.MachineLearningServices.v2.Data/workspaces/deployments

Microsoft.Network.Data

如果type原則規則的 和 name 條件評估為 true,則適用模式Microsoft.Network.Data的原則。 type指定的元件型態:

  • Microsoft.Network/virtualNetworks

不適用的資源

在某些情況下,資源會根據條件或範圍來套用至指派,但因商務原因而不適用。 屆時,最好套用 排除豁免。 若要深入瞭解何時使用任一專案,請檢閱 範圍比較

注意

根據設計,Azure 原則 不會從原則評估的資源提供者 (RP) 下Microsoft.Resources評估資源,但訂用帳戶和資源群組除外。

下一步