Efeito auditIfNotExists das definições do Azure Policy
Artigo
O efeito auditIfNotExists habilita a auditoria de recursos relacionados ao recurso que corresponde à condição if, mas não tem as propriedades especificadas em details da condição then.
Avaliação de AuditIfNotExists
auditIfNotExists é executado depois de um provedor de recursos ter tratado uma solicitação de criação ou atualização de recurso e ter retornado um código de status de êxito. A auditoria ocorre quando não há recursos relacionados ou se os recursos definidos por ExistenceCondition não são avaliados como true. Em recursos novos e atualizados, o Azure Policy adiciona uma operação Microsoft.Authorization/policies/audit/action ao log de atividades e marca o recurso como fora de conformidade. Quando disparado, o recurso que atendeu à condição if é o recurso marcado como não compatível.
Propriedades de AuditIfNotExists
A propriedade details dos efeitos AuditIfNotExists tem todas as subpropriedades que definem os recursos relacionados a serem correspondidos.
type (obrigatório)
Especifica o tipo do recurso relacionado a ser correspondido.
Se type for um tipo de recurso abaixo do recurso da condição if, a política consultará os recursos desse type no escopo do recurso avaliado. Caso contrário, a política consultará dentro do mesmo grupo de recursos ou assinatura como recurso avaliado, dependendo do existenceScope.
name (opcional)
Especifica o nome exato do recurso a ser correspondido e faz com que a política busque um recurso específico em vez de todos os recursos do tipo especificado.
Quando há correspondência entre os valores de condição if.field.type e then.details.type, name se torna obrigatório e deve ser [field('name')] ou [field('fullName')] para um recurso filho. No entanto, um efeito Audit deve ser considerado em seu lugar.
Observação
Os segmentos type e name podem ser combinados para recuperar genericamente recursos aninhados.
Para recuperar um recurso específico, você pode usar "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType" e "name": "parentResourceName/nestedResourceName".
Para recuperar uma coleção de recursos aninhados, um caractere curinga ? pode ser fornecido no lugar do segmento de sobrenome. Por exemplo, "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType" e "name": "parentResourceName/?". Isso pode ser combinado com funções de campo para acessar recursos relacionados ao recurso avaliado, como "name": "[concat(field('name'), '/?')]"."
resourceGroupName (opcional)
Permite que a correspondência do recurso relacionado venha de um grupo de recursos diferente.
Não se aplica se type for um recurso que estaria sob o recurso de condição if.
O padrão é o grupo de recursos do recurso de condição if.
existenceScope (opcional)
Os valores permitidos são Assinatura e ResourceGroup.
Define o escopo de onde buscar o recurso relacionado com o qual corresponder.
Não se aplica se type for um recurso que estaria sob o recurso de condição if.
Para ResourceGroup, limitaria ao grupo de recursos em resourceGroupName, se especificado. Se resourceGroupName não for especificado, limitará ao grupo de recursos do recurso de condição if, que é o comportamento padrão.
Para Assinatura, consulta a assinatura inteira para o recurso relacionado. O escopo de atribuição deve ser definido na assinatura ou superior para uma avaliação adequada.
O padrão é ResourceGroup.
evaluationDelay (opcional)
Especifica quando a existência dos recursos relacionados deve ser avaliada. O atraso é usado somente para avaliações que são resultado de uma solicitação de criação ou atualização de recurso.
Os valores permitidos são AfterProvisioning, AfterProvisioningSuccess, AfterProvisioningFailure ou uma duração ISO 8601 entre 0 e 360 minutos.
Os valores AfterProvisioning inspecionam o resultado de provisionamento do recurso que foi avaliado na condição if da regra de política. AfterProvisioning é executado após a conclusão do provisionamento, independentemente do resultado. O provisionamento que leva mais de 6 horas é tratado como uma falha ao determinar atrasos de avaliação de AfterProvisioning.
O padrão é PT10M (10 minutos).
A especificação de um atraso de avaliação longo pode fazer com que o estado de conformidade registrado do recurso não seja atualizado até o próximo gatilho de avaliação.
existenceCondition (opcional)
Se não for especificado, todos os recursos relacionados de type cumprem o efeito e não acionam a auditoria.
Usa a mesma linguagem que a regra de política para a condição if, mas é avaliado em relação a cada recurso relacionado individualmente.
Se algum recurso relacionado correspondente for avaliado como verdadeiro, o efeito será atendido e não acionará a auditoria.
Pode usar [field()] para verificar a equivalência com valores na condição if.
Por exemplo, pode ser usado para validar que o recurso pai (na condição if) está no mesmo local do recurso que o recurso relacionado correspondente.
Exemplo de AuditIfNotExists
Exemplo: avalia máquinas virtuais para determinar se a extensão antimalware existe e faz auditorias quando ausente.
Azure Policy initiatives are a collection of Azure policy definitions that are grouped together toward a specific goal or purpose. By consolidating multiple Azure policies into a single item, Azure Policy initiatives allow centralized control and enforcement of configurations across Azure resources.