Implementando_o_Azure_Policy_para_Governanca_e_Conformidade_de_Recursos

{ "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.
  1. 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.

  1. No painel de navegação esquerdo do serviço Política, em Criação, selecione Atribuições.
  2. Clique em + Atribuir política.

  3. 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.
  4. Clique em Avançar.

  5. Parâmetros: Não há parâmetros para esta política, clique em Avançar.

  6. Remediação: Para políticas com efeitos como DeployIfNotExists ou Modify, você configuraria tarefas de remediação aqui. Para Deny, não é aplicável. Clique em Avançar.
  7. 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.
  8. Revisar + criar: Revise as configurações e clique em Criar.

4. Testando a Política de Tagging Obrigatória

  1. No portal do Azure, tente criar um novo grupo de recursos dentro do escopo da atribuição (my-resource-group).
  2. Ao preencher os detalhes do grupo de recursos, não adicione a tag Environment.
  3. 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 Recursos negou a operação porque a tag Environment está faltando.
  4. Agora, tente criar um novo grupo de recursos e adicione a tag Environment com 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.

  1. No painel de navegação esquerdo do serviço Política, em Criação, selecione Iniciativas.
  2. Clique em + Definição de iniciativa.

  3. 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 existente e escolha Segurança.
  4. Clique em Avançar.

  5. Políticas: Clique em + Adicionar definição de política.

    • Procure por políticas internas como As contas de armazenamento devem usar apenas HTTPS e Os discos de máquina virtual devem ser criptografados.
    • Selecione-as e clique em Adicionar.
  6. Parâmetros da iniciativa: Se as políticas adicionadas tiverem parâmetros, você pode configurá-los aqui. Clique em Avançar.

  7. 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.

  1. No painel de navegação esquerdo do serviço Política, em Criação, selecione Atribuições.
  2. Clique em + Atribuir iniciativa.

  3. Noções básicas:

    • Escopo: Selecione a assinatura inteira.
    • Iniciativa: Procure por Iniciativa de Segurança Básica e selecione-a.
    • Nome da atribuição: Será preenchido automaticamente.
    • Imposição de política: Mantenha Habilitado.
  4. Clique em Avançar.

  5. Parâmetros: Configure quaisquer parâmetros definidos na iniciativa. Clique em Avançar.

  6. Remediação: Para políticas Audit, você pode criar uma tarefa de remediação para corrigir recursos não conformes. Para Deny, não é aplicável. Clique em Avançar.
  7. Mensagens de não conformidade: Opcionalmente, personalize mensagens. Clique em Avançar.
  8. 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.

  1. No painel de navegação esquerdo do serviço Política, em Autoria, selecione Conformidade.
  2. Você verá um painel de conformidade mostrando o status geral de conformidade de suas atribuições de política e iniciativa.

  3. 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 conformidade para ver apenas os recursos não conformes.

  4. Para recursos não conformes com políticas DeployIfNotExists ou Modify, 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.

Dicas de Segurança e Melhores Práticas

  • Comece com Audit: Ao implementar novas políticas, comece com o efeito Audit para entender o impacto e identificar recursos não conformes sem bloquear operações. Depois de validar, altere para Deny ou Modify/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 true para 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.
  • 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 DeployIfNotExists ou Modify pode 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 Deny ou Audit avaliam recursos existentes e novos. Políticas com DeployIfNotExists e Modify requerem uma tarefa de remediação para corrigir recursos existentes ou só agem em novas criações/atualizações.
  • 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: Deny sobre Audit). 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