Avaliar o impacto de uma nova definição de Política do Azure
A Política do Azure é uma ferramenta poderosa para gerenciar seus recursos do Azure para atender às necessidades de conformidade com os padrões de negócios. Quando pessoas, processos ou pipelines criam ou atualizam recursos, o Azure Policy revê o pedido. Quando o efeito de definição de política é modificar, acrescentar ou implantarIfNotExists, a política altera a solicitação ou adiciona a ela. Quando o efeito de definição de política é audit ou auditIfNotExists, Policy faz com que uma entrada de log de atividades seja criada para recursos novos e atualizados. E quando o efeito de definição de política é deny ou denyAction, Policy interrompe a criação ou alteração da solicitação.
Estes resultados são exatamente como desejado quando sabemos que a política está corretamente definida. No entanto, é importante validar que uma nova política funciona como pretendido antes de permitir que ela seja alterada ou bloqueada o trabalho. A validação deve garantir que apenas os recursos pretendidos são determinados como não conformes e que nenhum recurso compatível é incluído incorretamente (conhecido como falso positivo) nos resultados.
A abordagem recomendada para validar uma nova definição de política é seguir estas etapas:
- Defina rigorosamente a sua política.
- Teste a eficácia da sua política.
- Audite solicitações de recursos novas ou atualizadas.
- Implante sua política em recursos.
- Monitorização contínua.
Defina rigorosamente a sua política
É 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. Esta etapa é realizada identificando os requisitos e determinando as propriedades do recurso. Mas também é importante ver além da definição restrita da sua política de negócios. Por exemplo, sua política afirma que Todas as Máquinas Virtuais devem...? E quanto a outros serviços do Azure que usam VMs, como o HDInsight ou o Serviço Kubernetes do Azure (AKS)? Ao definir uma política, devemos considerar como essa política afeta os recursos que são usados por outros serviços.
Por esse motivo, suas definições de política devem ser o mais rigorosamente definidas e focadas nos recursos e nas propriedades que você precisa avaliar para fins de conformidade 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 da Política do Azure permite testes isolados 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ção Desabilitado (doNotEnforce) em sua atribuição de política para impedir que o efeito seja acionado ou entradas de log de atividades sejam criadas.
Esta etapa oferece a oportunidade de avaliar os resultados de conformidade da nova política sobre os recursos existentes sem afetar o fluxo de trabalho. Verifique se nenhum recurso compatível aparece como não compatível (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 for validado conforme o esperado, expanda lentamente a avaliação para mais recursos existentes e mais escopos.
A avaliação dos recursos existentes desta forma constitui também uma oportunidade para remediar os recursos não conformes antes da plena aplicação da nova política. Essa limpeza pode 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 do Azure Resource Manager para validar e testar as alterações que acontecem ao implantar o modelo 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 efeito da política quando os recursos são criados ou atualizados. Se a definição de política oferecer suporte à parametrização de efeitos, use audit ou auditIfNotExist. Essa configuração permite monitorar 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 novos recursos que correspondam à sua definição de política para ver se o audit
efeito ou auditIfNotExists
está sendo acionado corretamente quando esperado. Esteja atento às solicitações de recursos que não devem ser afetadas pela nova definição de política que aciona o audit
efeito or auditIfNotExists
. Esses recursos afetados são outro exemplo de falsos positivos e devem ser corrigidos na definição da política antes da implementação completa.
Caso a definição de política seja alterada nesta fase de teste, a recomendação é iniciar o processo de validação com a auditoria dos recursos existentes. É provável que uma alteração à definição de política para um falso positivo em recursos novos ou atualizados também tenha um efeito sobre os recursos existentes.
Implantar sua política em recursos
Depois de concluir a validação de sua 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 para a nova definição de política a um subconjunto de todos os recursos primeiro, 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 efeito da política ajustando os resourceSelector
filtros 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 implantação gradual até que ela seja atribuída ao escopo completo de recursos destinados a serem cobertos pela sua nova definição de política.
Durante a implantação, se houver recursos que devam ser isentos de sua nova definição de política, aborde-os de uma das seguintes maneiras:
- Atualize a definição de política para ser mais explícita para reduzir efeitos não intencionais.
- Altere o escopo da atribuição de política (removendo e criando uma nova atribuição).
- Adicione o grupo de recursos à lista de exclusão para a atribuição de política.
Quaisquer alterações no escopo (nível ou exclusões) devem ser totalmente validadas e comunicadas às suas organizações de segurança e conformidade para garantir que não haja lacunas na cobertura.
Monitore sua política e conformidade
Implementar e atribuir sua 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 de forma programada para validar que a definição de política está 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 periodicamente à medida que os recursos subjacentes do Azure evoluem e adicionam novas propriedades e recursos.
Próximos passos
- Saiba mais sobre a estrutura de definição de políticas.
- Saiba mais sobre a estrutura de atribuição de políticas.
- Entenda como criar políticas de forma programática.
- Saiba como obter dados de conformidade.
- Saiba como corrigir recursos não compatíveis.
- Analise o que é um grupo de gerenciamento com Organize seus recursos com grupos de gerenciamento do Azure.