Definitionsstrukturalias för Azure Policy

Du använder egenskapsalias för att komma åt specifika egenskaper för en resurstyp. Med alias kan du begränsa vilka värden eller villkor som tillåts för en egenskap i en resurs. Varje alias mappas till vägar i olika API-versioner för en viss resurstyp. Under principutvärdering hämtar principmotorn egenskapssökvägen för den API-versionen.

Listan över alias växer alltid. Använd någon av följande metoder för att ta reda på vilka alias Azure Policy stöder:

  • Azure Policy-tillägg för Visual Studio Code (rekommenderas)

    Använd Azure Policy-tillägget för Visual Studio Code för att visa och identifiera alias för resursegenskaper.

    Skärmbild av Azure Policy-tillägget för Visual Studio Code som hovrar över en egenskap för att visa aliasnamnen.

  • 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
    

    Kommentar

    Om du vill hitta alias som kan användas med ändringseffekten använder du följande kommando i Azure PowerShell 4.6.0 eller senare:

    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
    

Förstå matrisaliaset

Flera av de tillgängliga aliasen har en version som visas som ett normalt namn och ett annat som har [*] kopplats till det, vilket är ett matrisalias. Till exempel:

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules

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

  • Det normala aliaset representerar fältet som ett enda värde. Det här fältet är för exakta matchningsjämförelsescenarier när hela uppsättningen värden måste vara exakt som definierat.

  • Matrisaliaset [*] representerar en samling värden som valts från elementen i en matrisresursegenskap. Till exempel:

Alias Valda värden
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] Elementen i matrisen ipRules .
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action Värdena för action egenskapen från varje element i matrisen ipRules .

När det används i ett fältvillkor gör matrisalias det möjligt att jämföra varje enskilt matriselement med ett målvärde. När det används med count-uttryck är det möjligt att:

  • Kontrollera storleken på en matris.
  • Kontrollera om alla\any\none av matriselementen uppfyller ett komplext villkor.
  • Kontrollera om exakt n matriselement uppfyller ett komplext villkor.

Mer information och exempel finns i Referera till matrisresursegenskaper.

Nästa steg