13-02-03 — Entra Agent ID GA: Identidade Dedicada para Agentes
O Problema que Existia Antes
Antes do Agent ID, agentes de IA eram implantados de formas problemáticas:
- App Registration genérico: Um service principal para todos os agentes — sem distinção de qual agente fez o quê nos logs
- Credenciais de usuário: "Cria um usuário bot@empresa.com com permissões admin" — violação direta do princípio de menor privilégio
- Managed Identity compartilhada: Vários agentes compartilhando a mesma identidade — compromisso de um afeta todos
O que é Entra Agent ID
É um tipo de identidade workload no Microsoft Entra ID, especificamente projetado para agentes de IA. Funciona como um "passaporte" do agente no ecossistema Microsoft:
- Identidade única por agente (não por deployment)
- Aparece no Entra ID como objeto distinguível de usuários e service principals normais
- Suporta Conditional Access policies específicas
- Logs de auditoria separados no Microsoft Purview Audit
- Integração com Copilot Studio e Azure AI Foundry nativamente
Criando um Agent ID
// Usando Microsoft Graph SDK para criar Agent ID
using Microsoft.Graph;
using Microsoft.Graph.Models;
var graphClient = new GraphServiceClient(credential);
// Agent ID é criado como Application com tag especial
var application = new Application
{
DisplayName = "Agente-Juridico-Contratos",
Description = "Agente de análise de contratos - equipe jurídica",
Tags = new List<string> { "AIAgent", "Legal", "Production" },
RequiredResourceAccess = new List<RequiredResourceAccess>
{
new RequiredResourceAccess
{
ResourceAppId = "00000003-0000-0000-c000-000000000000", // Graph
ResourceAccess = new List<ResourceAccess>
{
new ResourceAccess
{
Id = Guid.Parse("df021288-bdef-4463-88db-98f22de89214"), // User.Read.All
Type = "Role"
}
}
}
}
};
var result = await graphClient.Applications.PostAsync(application);
Console.WriteLine($"Agent ID criado: {result.AppId}");
Controles de Governança com Agent ID
Conditional Access para Agentes
Políticas que se aplicam especificamente a agentes:
- Agentes só podem autenticar de IPs/VNets específicas (ex: Azure region)
- Exigir certificado de identidade gerenciado (Managed Identity) ao invés de segredo
- Bloquear autenticação fora do horário comercial para agentes não críticos
- MFA não se aplica — mas device compliance (ex: Azure Arc-enabled server) pode
RBAC com Menor Privilégio
Cada Agent ID recebe exatamente as permissões que precisa:
- Agente de leitura de contratos: Files.Read no SharePoint site específico, não em toda a organização
- Agente de criação de tarefas: Tasks.ReadWrite apenas no Planner do projeto, não em todos os grupos
- Agente de envio de email: Mail.Send apenas via mailbox dedicado, não com acesso a todas as mailboxes
Auditoria Separada
Todas as ações do agente aparecem nos logs com o Agent ID como ator — não misturado com atividade humana. Isso permite:
- Relatórios de "o que cada agente fez hoje"
- Alertas de anomalia por agente específico
- Evidências de compliance auditáveis separadamente
Ciclo de Vida
Agent ID suporta access reviews periódicas — o mesmo processo usado para usuários. A cada 90 dias, owners do agente confirmam que ainda precisa dos acessos. Se não confirmar → acesso revogado automaticamente. Encerramento de projeto = desativar Agent ID = zero permissões residuais.