共用方式為


Azure 原則的適用性為何?

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

數個因素決定適用性:

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

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

注意

適用性與合規性不同,且用來加以判斷的邏輯也不相同。 如果資源適用,表示其與原則相關。 如果資源符合規範,表示其符合原則。 有時候,原則規則中只有某些特定的條件會影響適用性,但原則規則中的所有條件都會影響合規性狀態。

Resource Manager 模式

ifNotExists 原則效果

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

所有其他原則效果

Azure 原則只會評估原則規則 if 運算式中的 typename,以及 kind 條件,且會將其他條件視為 true (在否定時則為 false)。 如果最終評估結果為 true,則原則為適用。 否則,其為不適用。

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

案例 結果
if 條件中的任何無效別名 原則不適用
if 條件僅由 kind 條件所組成時 原則適用於所有資源
if 條件僅由 name 條件所組成時 原則適用於所有資源
if 條件僅由 typekind 條件所組成時 判斷適用性時僅會考量 type 條件
if 條件僅由 typename 條件所組成時 判斷適用性時僅會考量 type 條件
if 條件包含 typekind 和其他條件時 判斷適用性時會同時考量 typekind 條件
if 條件包含 typename 和其他條件時 判斷適用性時會同時考量 typename 條件
當任何條件 (包括部署參數) 包括 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 則適用具有這些資源提供者模式的原則。 type 是指元件類型。

Key Vault 元件類型:

  • 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 Machine Learning 元件類型:

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

Microsoft.Network.Data

如果原則規則的 typename 條件評估為 true,具有 Microsoft.Network.Data 模式的原則為適用。 type 是指元件類型:

  • Microsoft.Network/virtualNetworks

不適用的資源

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

注意

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

下一步