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 é modificar, acrescentar ou deployIfNotExists, o Policy altera a solicitação ou adiciona algo a ela. Quando o efeito de definição de política é auditar 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:
- Defina sua política de maneira estrita.
- Testar a eficácia da sua política.
- Audite solicitações de recursos novas ou atualizadas.
- Implante 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, sua política indica que Todas as máquinas virtuais devem...? E outros serviços do Azure que usam as VMs, como o HDInsight ou o AKS (Serviço de Kubernetes do Azure)? 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. Também é possível atribuir a definição em um ambiente Desenvolvimento usando o modo de aplicação Desativado (doNotEnforce) na sua atribuição de política para evitar que o efeito seja acionado ou que entradas no 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
ou modify
.
As definições de política com um deployIfNotExists
devem usar 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
Após validar que sua nova definição de política está relatando corretamente os recursos existentes, é hora de examinar o efeito 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 auditar 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.
A recomendação é atualizar e criar recursos que correspondam à definição de política para observar que o efeito audit
ou auditIfNotExists
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 auditIfNotExists
. 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, a recomendação é 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 efeito 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. A recomendação é 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. Filtre ainda mais por tipo de recurso ou local usando a propriedade resourceSelectors dentro da atribuição de política. Após validar a implantação inicial, estenda o escopo da política para mais amplo como um grupo de recursos. Após validar a implantação inicial, expanda o efeito 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 os efeitos indesejados.
- Altere o escopo da atribuição de política (removendo a atribuição e criando outra).
- Adicione 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. A recomendação é 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
- Saiba mais sobre a estrutura da definição de política.
- Saiba mais sobre a estrutura de atribuição de política.
- Entenda como criar políticas de maneira programática.
- Saiba como obter dados de conformidade.
- Saiba como corrigir recursos fora de conformidade.
- Veja o que é um grupo de gerenciamento com Organizar seus recursos com grupos de gerenciamento do Azure.