{ "mode": "Indexed", "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Resources/subscriptions/resourceGroups" }, { "field": "tags['Environment']", "exists": "false" } ] }, "then": { "effect": "Deny" } } } ```
* **Explicação**: Esta política verifica se o recurso é um grupo de recursos (`Microsoft.Resources/subscriptions/resourceGroups`) e se a tag `Environment` não existe (`exists: false`). Se ambas as condições forem verdadeiras, o efeito `Deny` impede a criação ou atualização do grupo de recursos.
- Clique em Salvar.
3. Atribuindo a Política Personalizada
Agora, vamos atribuir a política que acabamos de criar a um grupo de recursos específico.
- No painel de navegação esquerdo do serviço Política, em
Criação, selecione Atribuições. -
Clique em
+ Atribuir política. -
Noções básicas:
- Escopo: Clique nos três pontos (
...) e selecione a assinatura e o grupo de recursos onde você deseja aplicar a política (ex:my-resource-group). - Definição de política: Clique nos três pontos (
...) e procure pela política que você criou (Exigir Tag Environment em Grupos de Recursos). Selecione-a. - Nome da atribuição: Será preenchido automaticamente, mas você pode alterá-lo (ex:
Atribuicao-Tag-Environment-RG). - Descrição: Forneça uma descrição.
- Imposição de política: Mantenha
Habilitado.
- Escopo: Clique nos três pontos (
-
Clique em
Avançar. -
Parâmetros: Não há parâmetros para esta política, clique em
Avançar. - Remediação: Para políticas com efeitos como
DeployIfNotExistsouModify, você configuraria tarefas de remediação aqui. ParaDeny, não é aplicável. Clique emAvançar. - Mensagens de não conformidade: Opcionalmente, personalize a mensagem que os usuários verão quando tentarem criar um recurso não conforme. Clique em
Avançar. - Revisar + criar: Revise as configurações e clique em Criar.
4. Testando a Política de Tagging Obrigatória
- No portal do Azure, tente criar um novo grupo de recursos dentro do escopo da atribuição (
my-resource-group). - Ao preencher os detalhes do grupo de recursos, não adicione a tag
Environment. -
Tente criar o grupo de recursos.
- Resultado Esperado: A criação do grupo de recursos deve falhar com uma mensagem de erro indicando que a política
Exigir Tag Environment em Grupos de Recursosnegou a operação porque a tagEnvironmentestá faltando.
- Resultado Esperado: A criação do grupo de recursos deve falhar com uma mensagem de erro indicando que a política
-
Agora, tente criar um novo grupo de recursos e adicione a tag
Environmentcom um valor (ex:Environment: Development).- Resultado Esperado: A criação do grupo de recursos deve ser bem-sucedida.
5. Criando uma Iniciativa (Conjunto de Políticas)
Vamos criar uma iniciativa para agrupar políticas de segurança comuns, como exigir HTTPS em contas de armazenamento e criptografia em discos de VM.
- No painel de navegação esquerdo do serviço Política, em
Criação, selecione Iniciativas. -
Clique em
+ Definição de iniciativa. -
Noções básicas:
- Local da definição: Selecione a assinatura ou grupo de gerenciamento.
- Nome:
Iniciativa de Segurança Básica. - Descrição:
Conjunto de políticas de segurança essenciais para conformidade básica. - Categoria: Selecione
Usar existentee escolhaSegurança.
-
Clique em
Avançar. -
Políticas: Clique em
+ Adicionar definição de política.- Procure por políticas internas como
As contas de armazenamento devem usar apenas HTTPSeOs discos de máquina virtual devem ser criptografados. - Selecione-as e clique em
Adicionar.
- Procure por políticas internas como
-
Parâmetros da iniciativa: Se as políticas adicionadas tiverem parâmetros, você pode configurá-los aqui. Clique em
Avançar. - Revisar + criar: Revise as configurações e clique em Criar.
6. Atribuindo a Iniciativa
Atribua a iniciativa de segurança a uma assinatura inteira para garantir que todas as políticas dentro dela sejam aplicadas.
- No painel de navegação esquerdo do serviço Política, em
Criação, selecione Atribuições. -
Clique em
+ Atribuir iniciativa. -
Noções básicas:
- Escopo: Selecione a assinatura inteira.
- Iniciativa: Procure por
Iniciativa de Segurança Básicae selecione-a. - Nome da atribuição: Será preenchido automaticamente.
- Imposição de política: Mantenha
Habilitado.
-
Clique em
Avançar. -
Parâmetros: Configure quaisquer parâmetros definidos na iniciativa. Clique em
Avançar. - Remediação: Para políticas
Audit, você pode criar uma tarefa de remediação para corrigir recursos não conformes. ParaDeny, não é aplicável. Clique emAvançar. - Mensagens de não conformidade: Opcionalmente, personalize mensagens. Clique em
Avançar. - Revisar + criar: Revise as configurações e clique em Criar.
7. Revisando a Conformidade
Após a atribuição, o Azure Policy leva algum tempo para avaliar os recursos existentes e relatar a conformidade.
- No painel de navegação esquerdo do serviço Política, em
Autoria, selecione Conformidade. -
Você verá um painel de conformidade mostrando o status geral de conformidade de suas atribuições de política e iniciativa.
-
Clique em uma atribuição para ver os detalhes, incluindo quais recursos estão em conformidade e quais não estão. Você pode filtrar por
Estado de conformidadepara ver apenas os recursos não conformes. -
Para recursos não conformes com políticas
DeployIfNotExistsouModify, você pode criar uma tarefa de remediação para corrigir automaticamente esses recursos.- Na página de detalhes da atribuição, clique em
Criar tarefa de remediação. - Selecione a política que você deseja remediar e clique em
Remediar.
- Na página de detalhes da atribuição, clique em
Dicas de Segurança e Melhores Práticas
- Comece com
Audit: Ao implementar novas políticas, comece com o efeitoAuditpara entender o impacto e identificar recursos não conformes sem bloquear operações. Depois de validar, altere paraDenyouModify/DeployIfNotExists. - Escopo Adequado: Atribua políticas no escopo mais alto possível (grupo de gerenciamento ou assinatura) e use exclusões para escopos menores quando necessário. Isso garante uma cobertura ampla e consistente.
- Use Iniciativas: Agrupe políticas relacionadas em iniciativas para simplificar o gerenciamento e garantir que um conjunto completo de regras seja aplicado.
- Convenções de Nomenclatura: Use convenções de nomenclatura claras e consistentes para definições de política, iniciativas e atribuições para facilitar a identificação e o gerenciamento.
- Controle de Versão: Armazene suas definições de política personalizadas em um sistema de controle de versão (ex: Git) para rastrear alterações, colaborar e facilitar a implantação automatizada.
- Monitoramento Contínuo: Monitore o painel de conformidade do Azure Policy regularmente. Configure alertas para não conformidades críticas.
- Integração com Azure DevOps/GitHub Actions: Automatize a implantação de políticas usando pipelines de CI/CD para garantir que as políticas sejam aplicadas de forma consistente e rastreável.
- Documentação: Mantenha uma documentação clara de suas políticas, seus objetivos, efeitos e quaisquer exceções.
Troubleshooting Comum
- Recurso bloqueado indevidamente:
- Verifique os logs de atividade no Azure Monitor para ver qual política negou a operação. O erro geralmente inclui o nome da política.
- Revise a definição da política e a atribuição para garantir que as condições e o escopo estão corretos.
- Considere usar uma exclusão para o recurso ou grupo de recursos específico se o bloqueio for intencional.
- Recurso não conforme não está sendo detectado:
- Verifique se a política está atribuída ao escopo correto e se a imposição está
Habilitada. - Certifique-se de que a definição da política está correta e que as condições estão sendo avaliadas como
truepara o recurso não conforme. - Pode levar até 30 minutos para que as alterações de política se propaguem e para que os relatórios de conformidade sejam atualizados.
- Verifique se a política está atribuída ao escopo correto e se a imposição está
- Tarefas de remediação falham:
- Verifique os logs da tarefa de remediação para identificar o erro.
- Certifique-se de que a identidade gerenciada atribuída à atribuição de política tenha as permissões necessárias para modificar os recursos.
- A política
DeployIfNotExistsouModifypode ter um erro no modelo de implantação ou na operação de modificação.
- Política não se aplica a recursos existentes:
- Políticas com efeito
DenyouAuditavaliam recursos existentes e novos. Políticas comDeployIfNotExistseModifyrequerem uma tarefa de remediação para corrigir recursos existentes ou só agem em novas criações/atualizações.
- Políticas com efeito
- Conflitos de política: Se várias políticas se aplicam ao mesmo recurso, a política com o efeito mais restritivo geralmente prevalece (ex:
DenysobreAudit). Revise as atribuições e o escopo.
Conclusão
O Azure Policy é uma ferramenta fundamental para qualquer organização que busca estabelecer governança eficaz e garantir a conformidade de seus recursos na nuvem Azure. Ao permitir a automação da imposição de regras, desde a tagging de recursos até configurações de segurança críticas, o Azure Policy ajuda a manter a ordem, reduzir riscos e otimizar custos em ambientes complexos e em constante evolução. A capacidade de criar políticas personalizadas e agrupá-las em iniciativas oferece flexibilidade para atender a requisitos de negócios e regulatórios específicos. Com este guia prático, os profissionais de segurança e administradores de TI estarão bem equipados para configurar, validar e gerenciar o Azure Policy, construindo uma base sólida para uma estratégia de governança de nuvem segura e em conformidade.
Referências:
[1] Microsoft Learn. O que é o Azure Policy?. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/overview [2] Microsoft Learn. Tutorial: Criar e gerenciar políticas para impor conformidade. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/tutorials/create-and-manage [3] Microsoft Learn. Permissões do Azure Policy no Azure RBAC. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/overview#azure-rbac-permissions-in-azure-policy [4] Microsoft Learn. Estrutura de definição do Azure Policy. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/concepts/definition-structure [5] Microsoft Learn. Estrutura de definição de iniciativa do Azure Policy. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/concepts/initiative-definition-structure [6] Microsoft Learn. Tutorial: Criar uma definição de política personalizada. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/tutorials/create-custom-policy-definition [7] Microsoft Learn. Como remediar recursos não conformes com o Azure Policy. Disponível em: https://learn.microsoft.com/pt-br/azure/governance/policy/how-to/remediate-resources