Dela via


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