Share via


Efeito adicionar para as definições do Azure Policy

O efeito append é usado para adicionar outros campos ao recurso solicitado durante a criação ou atualização. Um exemplo comum é especificar os IPs permitidos para um recurso de armazenamento.

Importante

O efeito append se destina ao uso com propriedades que não sejam tags. Embora o append possa adicionar tags a um recurso durante uma solicitação de criação ou atualização, é recomendável, em vez disso, usar o efeito modificar para as tags.

Avaliação de acréscimo

O efeito append avalia antes que a solicitação seja processada por um Provedor de Recursos durante a criação ou a atualização de um recurso. O efeito adicionar adiciona o campos ao recurso quando a condição if de uma regra de política é atendida. Se o efeito append substituir um valor na solicitação original por um valor diferente, ele atuará como um efeito Negar e rejeitará a solicitação. Para acrescentar um novo valor a uma matriz existente, use a versão [*] do alias.

Quando uma definição de política usando o efeito append é executada como parte de um ciclo de avaliação, ela não faz alterações em recursos já existentes. Em vez disso, marca qualquer recurso que atenda à condição if como fora de conformidade.

Propriedades de acréscimo

Um efeito adicionar tem apenas uma matriz de details, que é obrigatória. Como details é uma matriz, pode optar por um único ou por vários pares de field/value. Confira a estrutura de definição para saber a lista de campos aceitáveis.

Exemplos de acréscimo

Exemplo 1: um único par de field/value usando um alias não [*] com um value de matriz para definir as regras de IP em uma conta de armazenamento. Quando o alias não [*] é uma matriz, o efeito adiciona o value como a matriz inteira. Se a matriz já existir, um evento deny ocorre como resultado do conflito.

"then": {
  "effect": "append",
  "details": [
    {
      "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules",
      "value": [
        {
          "action": "Allow",
          "value": "134.5.0.0/21"
        }
      ]
    }
  ]
}

Exemplo 2: um único par de field/value usando um alias[*] com um value de matriz para definir as regras IP em uma conta de armazenamento. Quando você usa o alias [*], o efeito adiciona o value a uma matriz possivelmente já existente. As matrizes que não existem são criadas.

"then": {
  "effect": "append",
  "details": [
    {
      "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]",
      "value": {
        "value": "40.40.40.40",
        "action": "Allow"
      }
    }
  ]
}

Próximas etapas