Compartilhar via


Avaliar o impacto de uma nova definição de Azure Policy

O Azure Policy é uma ferramenta poderosa para gerenciar seus recursos do Azure para atender a padrões de negócios e necessidades de conformidade. Quando as pessoas, os processos ou os pipelines criam ou atualizam recursos, o Azure Policy examina a solicitação. Quando o efeito de definição de política é Modify, Append ou DeployIfNotExists, o Policy altera a solicitação ou adiciona algo a ela. Quando o efeito de definição de política é Audit ou AuditIfNotExists, o Policy faz com que uma entrada no log de atividades seja criada para recursos novos e atualizados. E quando o efeito de definição de política é Negar ou DenyAction, o Policy interrompe a criação ou alteração da solicitação.

Esses resultados são exatamente os desejados quando você sabe que a política está definida corretamente. No entanto, é importante validar que uma nova política funcione como pretendido antes de permitir que ela altere ou bloqueie o trabalho. A validação deve garantir que apenas os recursos pretendidos sejam determinados como fora de conformidade e que nenhum recurso em conformidade seja incluído incorretamente (conhecido como um falso positivo) nos resultados.

A abordagem recomendada para validar uma nova definição de política é seguir estas etapas:

  • Definir sua política de maneira estrita
  • Testar a eficácia da sua política
  • Auditar solicitações de recursos novas ou atualizadas
  • Implantar sua política para recursos
  • Monitoramento contínuo

Definir sua política de maneira estrita

É importante entender como a política de negócios é implementada como uma definição de política e a relação dos recursos do Azure com outros serviços do Azure. Essa etapa é realizada identificando os requisitos e determinando as propriedades do recurso. Mas também é importante ver além da definição superficial de sua política de negócios. Por exemplo, por acaso sua política declara que "Todas as máquinas virtuais precisam..."? E quanto a outros serviços do Azure que fazem uso de VMs, como HDInsight ou AKS? Ao definir uma política, devemos considerar como ela afeta os recursos que são usados por outros serviços.

Por esse motivo, as definições de política devem ser tão focadas nos recursos e nas propriedades que você precisa avaliar para obter a conformidade e tão estritamente definidas quanto possível.

Testar a eficácia da sua política

Antes de procurar gerenciar recursos novos ou atualizados com sua nova definição de política, é melhor ver como ela avalia um subconjunto limitado de recursos existentes, como um grupo de recursos de teste. A extensão VS Code do Azure Policy permite o teste isolado de definições em relação aos recursos existentes do Azure usando a verificação de avaliação sob demanda. Você também pode atribuir a definição em um ambiente de Desenvolvimento usando o modo de imposiçãoDesabilitado (DoNotEnforce) em sua atribuição de política para impedir que o efeito dispare ou as entradas do log de atividades sejam criadas.

Esta etapa lhe dá a chance de avaliar os resultados de conformidade da nova política nos recursos existentes sem afetar o fluxo de trabalho. Verifique se nenhum recurso em conformidade está marcado como fora de conformidade (falso positivo) e se todos os recursos que você espera que não estejam em conformidade estão marcados corretamente. Depois que o subconjunto inicial de recursos é validado conforme o esperado, expanda lentamente a avaliação para todos os recursos existentes.

A avaliação de recursos existentes realizada desse modo também oferece uma oportunidade de corrigir recursos fora de conformidade antes da implementação completa da nova política. Essa limpeza poderá ser feita manualmente ou por meio de uma tarefa de correção se o efeito de definição de política for DeployIfNotExists ouModificar.

As definições de política com um DeployIfNotExist devem aproveitar o modelo what if do Azure Resource Manager para validar e testar as alterações que ocorrem ao implantar o modelo do ARM.

Auditar recursos novos ou atualizados

Depois de validar que sua nova definição de política está relatando corretamente os recursos existentes, é hora de examinar o impacto da política quando os recursos são criados ou atualizados. Se a definição de política der suporte à parametrização de efeito, use Audit ou AuditIfNotExist. Essa configuração permite que você monitore a criação e a atualização de recursos para ver se a nova definição de política dispara uma entrada no log de atividades do Azure para um recurso que não está em conformidade sem afetar o trabalho ou as solicitações existentes.

É recomendável atualizar e criar recursos que correspondam à definição de política para ver que o efeito Audit ou AuditIfNotExist está sendo disparado corretamente quando esperado. Esteja atento a solicitações de recursos que não devem ser afetadas pela nova definição de política e que disparam o efeito Audit ou AuditIfNotExist. Esses recursos afetados são outro exemplo de falsos positivos e precisam ser corrigidos na definição de política antes da implementação completa.

No caso de a definição de política ser alterada neste estágio de teste, é recomendável iniciar o processo de validação com a auditoria de recursos existentes. Uma alteração na definição de política para um falso positivo em recursos novos ou atualizados provavelmente também terá um impacto sobre os recursos existentes.

Implantar sua política para recursos

Depois de concluir a validação da nova definição de política com recursos existentes e solicitações de recursos novas ou atualizadas, você inicia o processo de implementação da política. É recomendável criar a atribuição de política da nova definição de política primeiro para um subconjunto de todos os recursos, como um grupo de recursos. Você pode filtrar ainda mais por tipo de recurso ou local usando a propriedade resourceSelectors dentro da atribuição de política. Depois de validar a implantação inicial, estenda o escopo da política para mais amplo como um grupo de recursos. Depois de validar a implantação inicial, expanda o impacto da política ajustando os filtros resourceSelector para direcionar mais locais ou tipos de recursos, ou removendo a atribuição e substituindo-a por uma nova em escopos mais amplos, como assinaturas e grupos de gerenciamento. Continue essa distribuição gradual até que ela seja atribuída ao escopo completo dos recursos destinados a serem cobertos por sua nova definição de política.

Durante a distribuição, se houver recursos localizados que deveriam ser isentos da nova definição de política, solucione a situação deles de uma das seguintes maneiras:

  • Atualizar a definição de política para ser mais explícita a fim de reduzir o impacto indesejado
  • Alterar o escopo da atribuição de política (removendo a atribuição e criando outra)
  • Adicionar o grupo de recursos à lista de exclusões para a atribuição de política

Todas as alterações no escopo (nível ou exclusões) devem ser totalmente validadas e comunicadas com suas organizações de segurança e conformidade para garantir que não haja nenhuma lacuna na cobertura.

Monitore sua política e conformidade

A implementação e a atribuição da definição de política não é a etapa final. Monitore continuamente o nível de conformidade dos recursos para sua nova definição de política e configure alertas e notificações apropriados do Azure Monitor para quando dispositivos não compatíveis forem identificados. Também é recomendável avaliar a definição de política e as atribuições relacionadas segundo um agendamento para validar que a definição de política esteja atendendo às necessidades de conformidade e à política de negócios. As políticas devem ser removidas se não forem mais necessárias. As políticas também precisam ser atualizadas de tempos em tempos, à medida que os recursos subjacentes do Azure evoluem e adicionam novas propriedades e funcionalidades.

Próximas etapas