
Controle de acesso Just-in-Time (JIT) com Azure Bastion e Azure AD: acesso seguro e sob demanda às VMs
Introdução
Conceder acesso direto a máquinas virtuais (VMs) no Azure é uma prática sensível que pode abrir portas para vulnerabilidades, principalmente quando envolve acesso público por RDP/SSH. Para reduzir essa superfície de ataque, a Microsoft oferece uma abordagem moderna baseada em:
- Azure Bastion (acesso via portal sem IP público)
- Just-in-Time (JIT) VM Access com Microsoft Defender for Cloud
- Controle de identidade via Azure AD (PIM e RBAC)
Neste artigo, vamos explorar como combinar essas soluções para garantir acesso seguro, temporário e auditado às VMs no Azure.
Fundamentos da arquitetura segura
Recurso | Finalidade |
---|---|
Azure Bastion | Acesso RDP/SSH via browser sem IP público |
JIT VM Access | Liberação temporária de portas específicas por tempo limitado |
Entra ID + RBAC | Controle de quem pode solicitar acesso |
Azure PIM (Privileged Identity Management) | Elevação de privilégios sob demanda e com aprovação |
Azure Bastion: acesso privado e sem exposição externa
O Azure Bastion permite conectar-se a uma VM diretamente pelo navegador, sem expor a porta 3389 (RDP) ou 22 (SSH) à internet.
Benefícios:
- Sem IP público
- Autenticação segura com RBAC
- Auditoria de sessões com Azure Monitor
Diagrama com Bastion

Just-in-Time VM Access com Defender for Cloud
O JIT Access bloqueia permanentemente portas sensíveis (como 3389/22) via NSG e só libera temporariamente sob solicitação.
Como funciona:
- Usuário solicita acesso à VM via Azure Portal ou API
- Defender for Cloud altera a NSG dinamicamente
- Após o tempo definido, a porta é novamente bloqueada
Exemplo de configuração via PowerShell:
Set-AzJitNetworkAccessPolicy -ResourceGroupName "rg" -Location "eastus" -VirtualMachine "vm01" `
-Port 3389 -Protocol TCP -AllowedSourceAddressPrefix "IP_Público_Admin" -MaxRequestAccessDuration "01:00:00"
Habilitar JIT com Defender for Cloud
Azure AD + PIM: controle de identidade e aprovação
1. Controle via RBAC
Conceda acesso granular apenas a quem precisa:
az role assignment create --assignee user@empresa.com \
--role "Virtual Machine Contributor" \
--scope /subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.Compute/virtualMachines/vm01
2. Privileged Identity Management (PIM)
- Requer justificativa e aprovação
- Define tempo máximo de elevação
- Audita todas as ativações
Comparação: acesso tradicional vs. acesso seguro
Critério | Acesso tradicional | Azure Bastion + JIT |
---|---|---|
IP público | Necessário | Não necessário |
Exposição contínua | Sim | Não |
Controle por tempo | Não | Sim (JIT) |
Aprovação de acesso | Manual | Automatizada (PIM) |
Auditoria nativa | Limitada | Sim (Azure Monitor) |
Monitoramento e alertas
Você pode visualizar e alertar sobre acessos usando:
- Azure Activity Log (ativação JIT, uso de Bastion)
- Defender for Cloud → JIT usage and denied requests
- Log Analytics + Workbooks para auditoria visual
Boas práticas
- Nunca exponha VMs com IP público se puder usar Bastion
- Habilite JIT em todas as VMs sensíveis (Windows/Linux)
- Use RBAC + PIM para acesso controlado
- Audite todas as sessões e solicitações
- Automatize a habilitação com políticas de segurança
Conclusão
Ao combinar Azure Bastion, JIT Access e Entra ID RBAC/PIM, você elimina a exposição direta de portas de gerenciamento, reduz o risco de ataques e mantém controle detalhado sobre quem acessa o quê — e por quanto tempo.
Essa abordagem se alinha com o modelo de segurança Zero Trust, exigido por arquiteturas modernas e compliance regulatório.