Aliases de estrutura de definição do Azure Policy

Você pode usar aliases de propriedade para acessar propriedades específicas para um tipo de recurso. Os aliases permitem restringir quais valores ou condições são permitidas para uma propriedade em um recurso. Cada alias é mapeado para caminhos em diferentes versões de API para um tipo de recurso específico. Durante a avaliação de política, o mecanismo de políticas obtém o caminho de propriedade para essa versão de API.

A lista de aliases sempre está aumentando. Para localizar a quais aliases o Azure Policy dá suporte, use um dos seguintes métodos:

  • Extensão do Azure Policy para Visual Studio Code (recomendado)

    Use a extensão do Azure Policy para Visual Studio Code para ver e descobrir aliases das propriedades de recurso.

    Captura de tela da extensão do Azure Policy para Visual Studio Code passando o mouse sobre uma propriedade para exibir os nomes de alias.

  • 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
    

    Observação

    Para localizar aliases que possam ser usados com o efeito modify, use o seguinte comando no Azure PowerShell 4.6.0 ou superior:

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

    # 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
    

Noções básicas sobre o alias da matriz

Vários dos aliases que estão disponíveis têm uma versão que aparece como um nome normal e outra que possui [*] anexado, que é um alias de matriz. Por exemplo:

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules

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

  • O alias normal representa o campo como um único valor. Este campo é para cenários exatos de comparação de correspondência quando todo o conjunto de valores deve ser exatamente como definido.

  • O alias de matriz [*] representa uma coleção de valores selecionados dos elementos de uma propriedade de recurso de matriz. Por exemplo:

Alias Valores selecionados
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] Os elementos da matriz ipRules.
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action Os valores da propriedade action de cada elemento da matriz ipRules.

Quando usado em uma condição field, os aliases de matriz possibilitam a comparação de cada elemento individual de matriz com um valor de destino. Quando usado com a expressão count, é possível:

  • Verifique o tamanho de uma matriz.
  • Verifique se todos\qualquer\nenhum dos elementos da matriz atende a uma condição complexa.
  • Verifique se exatamente n elementos de matriz atendem a uma condição complexa.

Para obter mais informações e exemplos, consulte Referenciando propriedades de recurso da matriz.

Próximas etapas