O Azure Custom Policy faz parte do Azure Policy, um serviço que ajuda a gerenciar e aplicar governança nos recursos do Azure. O Azure Policy permite criar, atribuir e gerenciar políticas para garantir que os recursos estejam em conformidade com os requisitos organizacionais.
O Custom Policy refere-se às políticas personalizadas que você pode criar quando as políticas internas do Azure não atendem às suas necessidades específicas.
🔹 Principais Características:
- Personalização: Diferente das políticas internas do Azure, as Custom Policies são feitas sob medida para atender às necessidades específicas da organização.
- Estrutura baseada em JSON: As políticas são definidas em arquivos JSON contendo regras (conditions) e ações (effects).
- Efeitos variados: Pode negar a criação de recursos, auditar o ambiente ou modificar configurações automaticamente.
- Escopo flexível: Aplicável em assinaturas, grupos de gerenciamento e recursos específicos.
🔹 Quando aplicar um Azure Custom Policy?
🔹 Restringir tipos de VMs para evitar instâncias muito caras.
🔹 Forçar tags obrigatórias em recursos para facilitar o gerenciamento e custos.
🔹 Impedir uso de IPs públicos em máquinas virtuais por questões de segurança.
🔹 Enforçar criptografia de discos para atender requisitos de conformidade.
🔹 Garantir que recursos sejam criados em locais aprovados (ex.: evitar regiões bloqueadas).
🔹 Diferença entre Azure Policy e RBAC
Embora o Azure Policy e o RBAC (Role-Based Access Control) sejam ferramentas de governança, eles possuem propósitos distintos:
✅ Azure Policy foca na conformidade e governança, garantindo que os recursos sigam regras específicas. Exemplo: impedir a criação de VMs fora de uma região específica.
✅ RBAC foca no controle de acesso, determinando quem pode fazer o quê no Azure. Exemplo: permitir que um usuário tenha acesso de leitura a um grupo de recursos.
📌 Resumo da diferença:
- Azure Policy → O que pode ou não ser configurado nos recursos.
- RBAC → Quem tem permissão para fazer algo nos recursos.

Criar um Azure Custom Policy para padronizar a nomenclatura de suas VM’s no Azure:
Acesse meu Github e faça o download do Script JSON que define uma nomenclatura padrão de nomes de VMs:
https://github.com/Fabio-Junio/Azure-VM-Naming-Convention—Padrao-de-Nomes/tree/main
De acordo com definição do script as VMs deverão seguir esse padrão de nomenclatura:
vm-XXXX-XXX-123
Segue exemplos que são válidos:
vm-ADDS-prd-001
vm-sqlx-hml-002
vm-appx-dev-003
Segue o detalhe do script:
{ "displayName": "VM - padrao de nomenclatura", "policyType": "Custom", "mode": "All", "version": "1.0.0" }
displayName: Nome amigável da política, indicando que ela define um padrão de nomenclatura para VMs.
policyType: Custom significa que essa política foi criada pelo usuário, não é uma das políticas padrão da Microsoft.
mode: All significa que a política pode ser aplicada tanto a recursos existentes quanto a novos.
version: Indica a versão da política.
Regras da Política (policyRule) A política usa uma condição if para verificar se a VM segue o padrão de nomenclatura. Se não seguir, o then bloqueia a criação.
Condição (if)
"if": { "allOf": [ { "field": "type", "equals": "Microsoft.Compute/virtualMachines" }, { "allOf": [ { "field": "name", "notMatch": "vm-????-...-###" } ] } ] }
field: “type”, equals: “Microsoft.Compute/virtualMachines”
Aplica-se apenas a VMs.
field: “name”, notMatch: “vm-????-…-###”
O nome da VM deve seguir um padrão específico.
“notMatch” significa que, se o nome da VM não seguir esse padrão, a regra será acionada.
O padrão “vm-????-…-###” provavelmente representa:
vm– → Prefixo fixo.
???? → Quatro caracteres obrigatórios (letras ou números).
… → Pode indicar um conjunto de caracteres obrigatórios.
### – Três números obrigatórios.
Ação (then)
"then": { "effect": "deny" }
effect: “deny” impede a criação da VM se ela não seguir o padrão de nomenclatura.
Resumo A política força um padrão de nomenclatura para Máquinas Virtuais (VMs) no Azure.
Se o nome da VM não seguir o formato “vm-????-…-###”, a criação será negada.
Isso ajuda a manter um padrão organizacional e facilitar a identificação das VMs.
Vejam o vídeo no meu canal Azure Xplorer onde mostro como configurar essa Custom Policy – VM Naming Convention.
Fonte:
Azure Policy – Microsoft Learn
https://learn.microsoft.com/pt-br/azure/governance/policy/overview
CAF – Defina sua convenção de nomes para seus recursos