Azure 原則 定義結構別名

您可以使用屬性別名來存取資源類型的特定屬性。 別名可讓您針對資源上的屬性限制所允許的值或條件。 每個別名會對應至指定資源類型之不同 API 版本中的路徑。 在原則評估期間,原則引擎會取得該 API 版本的屬性路徑。

別名清單一律會成長。 若要尋找 Azure 原則 支援的別名,請使用下列其中一種方法:

  • 適用於 Visual Studio Code 的 Azure 原則 延伸模組(建議)

    使用適用於 Visual Studio Code 的 Azure 原則 延伸模組來檢視和探索資源屬性的別名。

    Visual Studio Code Azure 原則 延伸模組的螢幕快照,將滑鼠停留在屬性上以顯示別名名稱。

  • Azure PowerShell

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    # Use Get-AzPolicyAlias to list available providers
    Get-AzPolicyAlias -ListAvailable
    
    # Use Get-AzPolicyAlias to list aliases for a Namespace (such as Azure Compute -- Microsoft.Compute)
    (Get-AzPolicyAlias -NamespaceMatch 'compute').Aliases
    

    注意

    若要尋找可與修改效果搭配使用的別名,請在 Azure PowerShell 4.6.0 或更高版本中使用下列命令:

    Get-AzPolicyAlias | Select-Object -ExpandProperty 'Aliases' | Where-Object { $_.DefaultMetadata.Attributes -eq 'Modifiable' }
    
  • Azure CLI

    # Login first with az login if not using Cloud Shell
    
    # List namespaces
    az provider list --query [*].namespace
    
    # Get Azure Policy aliases for a specific Namespace (such as Azure Compute -- Microsoft.Compute)
    az provider show --namespace Microsoft.Compute --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
    
  • REST API

    GET https://management.azure.com/providers/?api-version=2019-10-01&$expand=resourceTypes/aliases
    

了解陣列別名

有數個可用的別名有一個 版本,其顯示為一般 名稱,另一個已 [*] 附加至該別名,也就是陣列別名。 例如:

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]

  • 一般別名會將欄位表示為單一值。 當整個值集必須完全如定義時,此字段適用於完全相符的比較案例。

  • 陣列別名 [*] 代表從數位資源屬性的項目選取的值集合。 例如:

Alias 選取的值
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] 陣列的專案 ipRules
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action action陣列中每個元素的 ipRules 屬性值。

在欄位條件中使用時,陣列別名可讓您比較每個個別數位元素與目標值。 搭配 count 運算式使用時,可以:

  • 檢查陣列的大小。
  • 檢查所有\any\none 陣列元素是否符合複雜條件。
  • 檢查陣列 n 元素是否符合複雜條件。

如需詳細資訊和範例,請參閱參考陣列資源屬性

下一步