AgentCore preserva as permissões do usuário ao chamar o ServiceNow sem troca de tokens personalizada
Quando um agente de IA chama uma API corporativa com uma conta compartilhada, o log de auditoria perde o sentido e as permissões ficam mais amplas do que o necessário. O AgentCore Gateway resolve isso por meio do fluxo OAuth On-Behalf-Of: recebe o token do usuário, troca-o no Microsoft Entra ID por um token para o ServiceNow e preserva a identidade original. Com isso, o ServiceNow enxerga o funcionário específico e aplica exatamente as permissões dele, sem um intermediário Lambda separado.
Processado por IA de AWS Machine Learning Blog; editado por Hamidun News
Um agente de IA corporativo consegue abrir um incidente no ServiceNow, mas surge uma pergunta incômoda: em nome de quem ele faz isso? Se todas as requisições chegam com a conta técnica do aplicativo, o ServiceNow deixa de enxergar o verdadeiro solicitante. O log de auditoria mostra o gateway em vez do funcionário, as restrições de usuário não funcionam como planejado e o agente pode acabar com mais permissões do que precisa.
A AWS adicionou ao Amazon Bedrock AgentCore Gateway a troca nativa de tokens pelo esquema On-Behalf-Of (OBO). O gateway recebe o token do usuário, consulta o Microsoft Entra ID e obtém outro token, já destinado à API do ServiceNow, mas ainda vinculado ao usuário original. Não é mais necessário um intermediário próprio para essa troca.
Como isso funciona em um exemplo simples
Suponha que um funcionário peça ao agente para mostrar os incidentes ativos. Primeiro, o usuário obtém um JWT para o aplicativo do agente. No campo audience desse token consta o identificador do agente, por isso o ServiceNow não o aceitará: o sistema corporativo espera um token emitido para o seu próprio conector de API.
O agente entrega o JWT ao AgentCore Gateway. O gateway o envia ao Entra ID junto com as credenciais do aplicativo, o scope de destino e o parâmetro requested_token_use com o valor on_behalf_of. O Entra verifica a delegação permitida e emite um novo token com o audience do conector do ServiceNow, preservando os dados do usuário.
Em seguida, o Gateway chama a API REST do ServiceNow. A plataforma associa o claim preferred_username, por exemplo o e-mail corporativo, a um registro de funcionário existente e aplica seus papéis. Se a pessoa só pode ler incidentes, o agente também não poderá alterá-los. No log fica um rastro claro: a ação está vinculada ao usuário que deu o comando.
O que será preciso configurar
No Microsoft Entra ID são necessários dois registros de aplicativo: um representa o agente de IA e o outro, o conector de API do ServiceNow. O conector publica um scope delegado, user_impersonation, e o aplicativo do agente recebe permissão para solicitar esse scope.
No ServiceNow, cria-se uma integração OAuth de entrada com o Entra como provedor OIDC. É importante mapear corretamente o claim do usuário e limitar o auth scope apenas às APIs de que o agente realmente precisa. Por exemplo, um gateway que apenas consulta incidentes não tem motivo para abrir acesso a todas as tabelas da plataforma.
No AgentCore, cria-se uma configuração OAuth de saída com JWT authorization grant. Depois, sobe-se um Gateway com a versão de MCP 2025-11-25: versões anteriores não oferecem suporte ao OBO nativo. Para o destino REST, informam-se o scope do conector e o parâmetro requested_token_use:on_behalf_of. A partir daí, a troca ocorre automaticamente a cada requisição.
Onde é possível errar
A troca nativa de tokens não dispensa uma configuração de acesso cuidadosa. O usuário de preferred_username precisa existir no ServiceNow, o aplicativo do agente deve ter a permissão delegada e o auth scope tem de permitir o endpoint chamado. Um erro em qualquer um desses pontos terminará em recusa de autorização.
A proteção contra a reutilização de tokens merece atenção especial. O Entra passa um claim interno uti em vez do padrão jti. A AWS sugere considerar seu mapeamento para jti, para que o ServiceNow possa aplicar validação adicional e bloqueio de tokens. Os guardrails também não substituem a autorização: eles filtram o conteúdo, ao passo que o OBO determina se o usuário tem direito de executar a ação.
A conclusão prática é simples: se um agente trabalha com sistemas corporativos, não esconda todos os usuários atrás de uma única conta de serviço. Repasse a identidade por toda a cadeia, restrinja o scope às operações necessárias e teste separadamente os cenários para funcionários com papéis diferentes. É na fronteira entre o agente e o sistema de negócio que se decide se a automação será governável ou se tornará uma nova brecha privilegiada.
- 8 de nov. de 2026Fireworks processa 40 trilhões de tokens por dia em modelos personalizados — o dobro do verão
- 8 de nov. de 2026Anthropic acelera em 35% as respostas do Claude em conversas longas
- 8 de nov. de 2026Anthropic lança Message Threads: início da resposta 35% mais rápido em sessões longas
- 8 de nov. de 2026Microsoft e Berkeley lançam o TokenEconomizer: agentes de código ficam de 18% a 31% mais baratos
Perguntas frequentes sobre a notícia
Como isso funciona em um exemplo simples?
Suponha que um funcionário peça ao agente para mostrar os incidentes ativos. Primeiro, o usuário obtém um JWT para o aplicativo do agente. No campo audience desse token consta o identificador do agente, por isso o ServiceNow não o aceitará: o sistema corporativo espera um token emitido para o seu próprio conector de API. O agente entrega o JWT ao AgentCore Gateway. O gateway o envia ao Entra ID junto com as credenciais do aplicativo, o scope de destino e o parâmetro requested_token_use com o valor on_behalf_of.
O que será preciso configurar?
No Microsoft Entra ID são necessários dois registros de aplicativo: um representa o agente de IA e o outro, o conector de API do ServiceNow. O conector publica um scope delegado, user_impersonation, e o aplicativo do agente recebe permissão para solicitar esse scope. No ServiceNow, cria-se uma integração OAuth de entrada com o Entra como provedor OIDC. É importante mapear corretamente o claim do usuário e limitar o auth scope apenas às APIs de que o agente realmente precisa.
Onde é possível errar?
A troca nativa de tokens não dispensa uma configuração de acesso cuidadosa. O usuário de preferred_username precisa existir no ServiceNow, o aplicativo do agente deve ter a permissão delegada e o auth scope tem de permitir o endpoint chamado. Um erro em qualquer um desses pontos terminará em recusa de autorização. A proteção contra a reutilização de tokens merece atenção especial. O Entra passa um claim interno uti em vez do padrão jti.
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.