Blog

  • Faça mais com labels do AWS WAF usando interpolação dinâmica

    O problema com labels estáticas no AWS WAF

    O AWS WAF classifica o tráfego web anexando metadados a cada requisição avaliada. Grupos de regras gerenciadas como o AWS WAF Bot Control e o AWS WAF Fraud Control de prevenção de tomada de conta (ATP) aplicam labels que descrevem o que foi detectado — se uma requisição veio de uma categoria conhecida de bot, por exemplo, ou se ela corresponde a um padrão de credential stuffing.

    Esses metadados podem ser encaminhados à sua origem como headers de requisição, dando ao backend visibilidade sobre as decisões tomadas pelo WAF na borda. Também é possível construir políticas em camadas: um sinal de bot de baixa confiança pode disparar um desafio CAPTCHA, enquanto um sinal de alta confiança bloqueia a requisição diretamente.

    Com o AWS WAF AI Activity Dashboard, lançado em 24 de fevereiro de 2026, o Bot Control passou a identificar mais de 650 bots e agentes — incluindo crawlers de motores de busca, coletores de dados, assistentes de IA e crawlers de treinamento de modelos de linguagem de grande porte (LLM) — e esse número continua crescendo.

    Em um post anterior, a AWS mostrou como agrupar labels do Bot Control em níveis de confiança para criar experiências adaptativas. Essa abordagem funciona bem quando você consegue listar as labels que importam. Mas quando o catálogo cresce além do que é razoável enumerar, escrever uma regra por label vira um fardo de manutenção e consome capacidade de regras que poderia ser usada em outro lugar.

    É exatamente esse problema que a interpolação dinâmica de labels resolve.

    Como funciona a interpolação dinâmica

    Com a interpolação dinâmica, você referencia labels por namespace em vez de pelo nome individual. Uma única regra resolve para qualquer label que tenha correspondido durante a avaliação — sem necessidade de enumeração. A sintaxe usa uma cláusula ${namespace:} no valor de um header ou no corpo de uma resposta customizada, e o AWS WAF substitui os valores correspondentes em tempo de avaliação.

    Onde pode ser usado

    • Headers de requisição customizados: insere os valores resolvidos das labels em headers que o WAF encaminha à sua origem.
    • Corpos de resposta customizados: embute valores de labels e labels sintéticas (como IP do cliente ou ID da requisição) em páginas de bloqueio, desafios e outras respostas customizadas.
    • Headers de resposta customizados: insere valores de labels em headers de resposta, como o header Location para redirecionamentos.

    Regras de resolução da sintaxe

    O dois-pontos ao final do namespace é o sinal para o AWS WAF realizar a interpolação. O comportamento segue três regras:

    • Correspondência única: a cláusula resolve para o valor terminal da label. Se a requisição carrega awswaf:managed:aws:bot-control:bot:category:scraping, então ${awswaf:managed:aws:bot-control:bot:category:} resolve para scraping.
    • Múltiplas correspondências: o AWS WAF remove o prefixo do namespace e retorna os valores como lista separada por vírgulas, como scraping,advertising.
    • Sem correspondência: a cláusula resolve para string vazia. Isso garante compatibilidade retroativa — qualquer valor sem a sintaxe ${...} passa inalterado.

    Não há novos campos de API para configurar. A sintaxe é escrita diretamente nos valores de string existentes.

    Labels sintéticas

    Nem todo valor útil vem de uma correspondência de regra. Labels sintéticas são derivadas da própria requisição e interpoladas com a mesma sintaxe:

    • ${awswaf:request_id:} — identificador único da requisição no AWS WAF
    • ${awswaf:ip:} — endereço IP do cliente
    • ${awswaf:ja3:} — fingerprint TLS JA3
    • ${awswaf:ja4:} — fingerprint TLS JA4

    É possível combinar labels sintéticas com labels baseadas em namespace em um único valor e passar tudo para a origem no formato que melhor atender à sua aplicação.

    Cenários de uso práticos

    1. Sinalização para a aplicação (Application Signaling)

    O padrão de sinalização usa as labels e as encaminha à origem como headers de requisição customizados. Assim, sua aplicação recebe a classificação feita pelo WAF e decide como agir com base nela.

    Enumerar cada label individualmente não escala. Só o nível de proteção comum do Bot Control rastreia mais de 650 bots e agentes auto-identificáveis. Mapear apenas o namespace bot:category para headers exigiria centenas de regras idênticas, cada uma com um valor diferente fixo no código.

    Se você seguiu os passos do post How to use AWS WAF Bot Control for Targeted Bots signals and mitigate evasive bots with adaptive user experience, já mapeou labels para níveis de confiança dessa forma. Veja como era uma regra estática para uma única categoria:

    {
      "name": "add-header-for-bot-category-advertising",
      "statement": {
        "label_match_statement": {
          "scope": "LABEL",
          "key": "awswaf:managed:aws:bot-control:bot:category:advertising"
        }
      },
      "rule_action": {
        "count": {
          "custom_request_handling": {
            "insert_headers": [
              {
                "name": "bot-category",
                "value": "advertising"
              }
            ]
          }
        }
      }
    }

    Com interpolação, isso colapsa em uma única regra. O escopo muda de LABEL para NAMESPACE, e o valor usa uma cláusula ${...} em vez de uma string fixa:

    {
      "name": "forward-waf-signals",
      "statement": {
        "label_match_statement": {
          "scope": "NAMESPACE",
          "key": "awswaf:managed:aws:bot-control:bot:category:"
        }
      },
      "rule_action": {
        "count": {
          "custom_request_handling": {
            "insert_headers": [
              {
                "name": "x-waf-bot-category",
                "value": "${awswaf:managed:aws:bot-control:bot:category:}"
              },
              {
                "name": "x-waf-bot-name",
                "value": "${awswaf:managed:aws:bot-control:bot:name:}"
              },
              {
                "name": "x-waf-bot-signals",
                "value": "${awswaf:managed:aws:bot-control:signal:}"
              },
              {
                "name": "x-waf-fingerprint",
                "value": "${awswaf:managed:token:fingerprint:}"
              },
              {
                "name": "x-waf-token-id",
                "value": "${awswaf:managed:token:id:}"
              },
              {
                "name": "x-waf-client-ip",
                "value": "${awswaf:ip:}"
              }
            ]
          }
        }
      }
    }

    O header x-waf-bot-signals demonstra a resolução de múltiplos valores: o namespace signal: pode conter várias labels ao mesmo tempo, como non_browser_user_agent e automated_browser, que resolvem para uma lista separada por vírgulas. Os headers x-waf-fingerprint e x-waf-token-id carregam valores derivados de token únicos por dispositivo, que sua origem pode usar para correlação de sessão e detecção de fraude. E o x-waf-client-ip usa uma label sintética para passar o IP do cliente como o WAF o enxerga.

    Com esses headers, sua aplicação pode tomar decisões que o WAF não consegue tomar sozinho: um cliente autenticado com sinal de bot pode receber uma página simplificada, enquanto uma sessão anônima com o mesmo sinal é bloqueada. Uma requisição com múltiplos sinais de bot durante uma promoção relâmpago pode ser colocada em fila em vez de rejeitada. Um balanceador de carga pode ler os headers e rotear tráfego de search_engine para um serviço de renderização otimizado para crawlers.

    Esses headers também estão disponíveis para Amazon CloudFront Functions, permitindo lógica customizada antes mesmo de a requisição chegar à sua origem.

    2. Páginas de bloqueio e desafio com informações de diagnóstico

    Falsos positivos são um custo inevitável da mitigação de bots. O problema mais difícil geralmente é diagnosticá-los depois que ocorreram. Labels sintéticas ajudam nisso ao embutir o IP do cliente e o ID da requisição do AWS WAF no corpo de uma resposta customizada:

    {
      "CustomResponseBodies": {
        "BlockPage": {
          "Content": "Your request was blocked.\n\nIP: ${awswaf:ip:}\nRequestID: ${awswaf:request_id:}\n\nIfyou believe this is an error, contact support with the Request ID above.",
          "ContentType": "TEXT_PLAIN"
        }
      }
    }

    Isso agiliza o fluxo de suporte: um usuário bloqueado que reporta o problema pode fornecer o ID da requisição exibido na página. Você busca esse ID nos logs do AWS WAF, analisa as regras e labels que corresponderam, e decide se foi um falso positivo — sem precisar pedir ao usuário que reproduza o problema ou tentar adivinhar quando aconteceu.

    3. Redirecionamentos de verificação com contexto embutido

    Às vezes a resposta certa não é um bloqueio, mas um desvio — enviar tráfego suspeito para uma página de verificação antes de deixá-lo continuar. É possível construir isso no AWS WAF interpolando o IP do cliente e o ID da requisição no destino do redirecionamento:

    {
      "Action": {
        "Block": {
          "CustomResponse": {
            "ResponseCode": 302,
            "ResponseHeaders": [
              {
                "Name": "Location",
                "Value": "/verify?ip=${awswaf:ip:}&rid=${awswaf:request_id:}"
              }
            ]
          }
        }
      }
    }

    O header Location resolve para algo como /verify?ip=203.0.113.42&rid=a1b2c3d4-.... O endpoint de verificação pode usar o IP para uma verificação de geo ou rate-limit, e o ID da requisição para alinhar a visita com os logs do WAF. Como o redirecionamento é construído no próprio AWS WAF, esse comportamento é obtido sem alterar a aplicação de origem.

    4. Segmentação de cache do CloudFront com labels do WAF

    Quando o AWS WAF é usado na frente do Amazon CloudFront, um header inserido por uma regra fica disponível para o CloudFront ao calcular a chave de cache. Isso significa que é possível segmentar o cache por classificação de bot.

    Usando o header x-waf-bot-category da regra de encaminhamento, você instrui o CloudFront a incluir esse header na chave de cache e manter uma resposta em cache separada por categoria. Na prática: uma requisição de search_engine recebe uma versão pré-renderizada e cacheada na borda, otimizada para crawling. Uma requisição sem label de bot recebe a página dinâmica completa. Uma requisição de scraping recebe uma resposta mínima, também do cache. Crawlers recebem conteúdo indexável, scrapers param de consumir capacidade da origem, e visitantes humanos não percebem diferença alguma.

    Também é possível aplicar a mesma abordagem na origem para controle mais fino de atualização: configure sua aplicação para ler o header de classificação e definir o Cache-Control adequadamente — no-store para tráfego humano sem label, e TTLs mais longos para respostas direcionadas a bots.

    Um exemplo com labels customizadas

    A interpolação não se limita a grupos de regras gerenciadas. Ela funciona com a maioria dos namespaces, incluindo labels de outras AWS Managed Rules (como prevenção de tomada de conta, prevenção de fraude na criação de conta e listas de reputação de IP), grupos de regras gerenciadas do AWS Marketplace, e também com labels customizadas definidas nas suas próprias regras.

    Considere uma configuração que classifica requisições em tiers com base em um header de chave de API. A primeira regra identifica requisições cujo header x-api-key começa com pk_enterprise_ e aplica a label app:tier:enterprise:

    {
      "name": "classify-tier",
      "priority": 100,
      "statement": {
        "byte_match_statement": {
          "search_string": "pk_enterprise_",
          "field_to_match": {
            "single_header": {
              "name": "x-api-key"
            }
          },
          "positional_constraint": "STARTS_WITH",
          "text_transformations": [
            {
              "priority": 0,
              "type": "NONE"
            }
          ]
        }
      },
      "rule_labels": [
        {
          "name": "app:tier:enterprise"
        }
      ],
      "action": {
        "count": {}
      }
    }

    A segunda regra corresponde a labels no namespace app:tier e encaminha o valor resolvido, enterprise, no header x-customer-tier:

    {
      "name": "forward-tier",
      "priority": 200,
      "statement": {
        "label_match_statement": {
          "scope": "NAMESPACE",
          "key": "app:tier:"
        }
      },
      "action": {
        "count": {
          "custom_request_handling": {
            "insert_headers": [
              {
                "name": "x-customer-tier",
                "value": "${awswaf::webacl::app:tier:}"
              }
            ]
          }
        }
      }
    }

    Vale notar: em rule_labels, você usa o nome curto da label (app:tier:enterprise), e o AWS WAF o prefixa com o contexto da web ACL para produzir a label totalmente qualificada. Em uma instrução de correspondência de label, o namespace curto é aceito — mas em uma referência de interpolação, é necessário usar o namespace totalmente qualificado com o contexto de conta e ACL.

    O ganho aqui é que você pode adicionar app:tier:standard, app:tier:trial ou outros tiers depois, e a regra de encaminhamento os captura automaticamente, sem alterações.

    Conclusão

    A interpolação dinâmica de labels não muda como as labels funcionam — ela muda a quantidade de configuração de regras necessária para agir sobre elas. Um namespace que antes exigia uma regra por valor agora exige apenas uma regra total, e ela continua funcionando conforme o catálogo do Bot Control cresce além das 650 entradas atuais.

    Junto a isso, o recurso entrega páginas de bloqueio com contexto específico por requisição, redirecionamentos que carregam seu próprio contexto, e segmentação de cache baseada em classificação. Nenhuma dessas capacidades é dramática isoladamente, mas combinadas permitem parear a classificação na borda com julgamento na sua aplicação.

    O recurso se encaixa no AWS WAF da forma como você já o usa — sem quebrar nada, tornando a adoção uma questão de editar configurações de regras em vez de reconstruir qualquer coisa.

    Para começar, consulte a documentação de labels do AWS WAF e o guia de configuração de requisições e respostas customizadas. Exemplos adicionais estão disponíveis no repositório AWS Samples, e discussões podem ser iniciadas no AWS re:Post.

    Fonte

    Do more with AWS WAF labels using dynamic label interpolation (https://aws.amazon.com/blogs/security/do-more-with-aws-waf-labels-using-dynamic-label-interpolation/)

  • Como construir workflows de agentes especializados com Amazon Quick e NVIDIA NeMo Agent Toolkit

    Do dado ao plano de ação: o desafio das equipes de operações

    Equipes de cadeia de suprimentos em crescimento acelerado costumam ter dados suficientes para perceber que algo está errado — mas raramente têm tempo para investigar manualmente cada ruptura. Um atraso de fornecedor, por exemplo, exige que o planejador verifique ordens de compra, estoque disponível, compromissos com clientes, regras contratuais, opções logísticas e políticas de aprovação antes de tomar qualquer decisão.

    Dashboards ajudam a enxergar o que está acontecendo. O problema mais difícil é transformar esse sinal em um workflow de decisão confiável — que recomende o que fazer a seguir e apresente as evidências por trás da recomendação.

    Foi exatamente esse problema que a AWS abordou em um post técnico recente, mostrando como o Amazon Quick pode funcionar como a porta de entrada para workflows de agentes especializados, utilizando o NVIDIA NeMo Agent Toolkit no backend.

    Visão geral da solução

    A proposta combina duas ferramentas complementares. O Amazon Quick oferece aos usuários de negócio um espaço de trabalho conversacional único, capaz de lidar com dados estruturados e conhecimento corporativo não estruturado. As fontes de conhecimento podem incluir Serviço de Armazenamento Simples da Amazon (Amazon S3), Google Drive, Microsoft SharePoint, Atlassian Confluence e conteúdo web interno. Dentro desse espaço, os usuários podem se conectar a mais de 100 conectores de ação pré-construídos para interagir com sistemas de terceiros como Microsoft Outlook, Slack, Jira e Asana — além de invocar workflows agênticos expostos via Protocolo de Contexto de Modelo (MCP).

    Já o NVIDIA NeMo Agent Toolkit é uma biblioteca de código aberto e agnóstica de framework para conectar, avaliar, perfilar e otimizar workflows agênticos. Ele funciona em conjunto com frameworks populares como LangChain, LlamaIndex, CrewAI, Microsoft Semantic Kernel, Google ADK e agentes Python customizados.

    No exemplo apresentado, analistas de cadeia de suprimentos usam um agente de chat do Amazon Quick para diagnosticar problemas por meio de um workflow do Amazon QuickSight com NeMo Agent Toolkit. O workflow investiga a ruptura, aciona ferramentas de supply chain, valida a recomendação e retorna um plano de mitigação ranqueado ao planejador.

    Arquitetura da solução

    Na arquitetura proposta, cada componente tem um papel bem definido:

    • Amazon Quick provê a interface do usuário de negócio, o contexto do dashboard, o acesso ao conhecimento e o gatilho de ação.
    • Amazon Bedrock AgentCore Gateway expõe a ação MCP e serve como ponto de entrada para o workflow agêntico.
    • Amazon Bedrock AgentCore Runtime hospeda o container com o workflow do NeMo Agent Toolkit.
    • NeMo Agent Toolkit gerencia o workflow de backend: registra ferramentas, orquestra a investigação de supply chain, captura traces de execução e suporta avaliação e perfilamento.

    Existem dois padrões de uso na solução. No primeiro, o analista faz perguntas diagnósticas que o Amazon Quick responde a partir do dashboard e da fonte de conhecimento no Amazon S3 — respondendo “o que está acontecendo?” sem acionar o backend. No segundo, quando o analista pergunta o que fazer a seguir, o Amazon Quick invoca a ação MCP apoiada pelo NeMo, que retorna o plano de mitigação com evidências.

    Como o NeMo Agent Toolkit estrutura o workflow

    Para quem está conhecendo o NeMo Agent Toolkit agora, o workflow de backend tem três camadas de código:

    • Funções registradas: capacidades reutilizáveis como análise de risco em ordens de compra, exposição de estoque, impacto em clientes, consulta de políticas, opções logísticas e recomendação de mitigação.
    • Arquivo de configuração do workflow: nomeia as funções e as conecta em um único workflow de decisão.
    • Orquestrador: recebe a requisição, chama as funções em sequência e retorna o plano de mitigação com evidências, trace, latência e metadados do avaliador.

    As seis ferramentas registradas no orquestrador supply_chain_risk_orchestrator são:

    • po_risk_tool: localiza ordens de compra atrasadas e SKUs afetados.
    • inventory_exposure_tool: calcula dias de estoque e risco de ruptura.
    • customer_impact_tool: mapeia SKUs restritos para pedidos de clientes, receita, prioridade e exposição de SLA.
    • contract_policy_tool: verifica regras de contrato, sourcing, aprovação de frete e substituição.
    • logistics_options_tool: encontra opções de expedição, transferência ou fornecedor alternativo.
    • mitigation_recommendation_tool: ranqueia as opções de mitigação e retorna verificações do avaliador crítico.

    Configuração do workflow em YAML

    A lógica de decisão do backend é definida como uma configuração de workflow do NeMo Agent Toolkit. O arquivo YAML atribui um nome local a cada função registrada, e o orquestrador resolve essas funções no código Python. Para mais detalhes, consulte a documentação do NeMo Agent Toolkit sobre funções customizadas.

    # Each entry under functions configures a function available to the workflow
    # The _type value maps to a registered NeMo function in the plugin code.
    functions:
      po_risk:
        _type: po_risk_tool
      inventory_exposure:
        _type: inventory_exposure_tool
      customer_impact:
        _type: customer_impact_tool
      contract_policy:
        _type: contract_policy_tool
      logistics_options:
        _type: logistics_options_tool
      mitigation_recommendation:
        _type: mitigation_recommendation_tool
    
    # The workflow section defines the entry point and wires in the functions.
    workflow:
      _type: supply_chain_risk_orchestrator
      po_risk_fn: po_risk_tool
      inventory_fn: inventory_exposure_tool
      customer_impact_fn: customer_impact_tool
      contract_policy_fn: contract_policy_tool
      logistics_fn: logistics_options_tool
      mitigation_fn: mitigation_recommendation_tool

    Essa abordagem torna o workflow explícito e testável: as funções podem ser instrumentadas, testadas, reutilizadas e incluídas em workflows de avaliação e perfilamento do NeMo Agent Toolkit. Em produção, as funções de exemplo baseadas em CSV devem ser substituídas por ferramentas de dados governados, como queries no Amazon Athena, queries no RDS, APIs de ERP, APIs de WMS/TMS ou outras ferramentas MCP.

    Passos de implementação

    O repositório de exemplo inclui o template do AWS CloudFormation, scripts de implantação, dados de exemplo, o plugin de workflow do NeMo Agent Toolkit e notas de configuração do Quick.

    Pré-requisitos

    Para implantar e testar o exemplo, são necessários:

    • Uma conta AWS com acesso ao Amazon Quick, Amazon Bedrock AgentCore Runtime e Amazon Bedrock AgentCore Gateway.
    • Interface de Linha de Comando da AWS (AWS CLI) v2.
    • Python 3.11+ para validação local opcional do NeMo.
    • Docker não é necessário localmente, pois o quickstart usa o AWS CodeBuild para construir e enviar a imagem de container do AgentCore Runtime.
    • Permissões de Gerenciamento de Identidade e Acesso da AWS (IAM) para implantar stacks do AWS CloudFormation que criam roles IAM, buckets do Amazon S3, repositórios do Registro de Contêiner Elástico da Amazon (Amazon ECR), projetos do AWS CodeBuild, funções do AWS Lambda e recursos do Amazon Bedrock AgentCore.
    • Um usuário do Amazon Quick ou Amazon QuickSight com permissões para criar análises, datasets, integrações de conhecimento, agentes de chat e integrações de ação MCP.

    Passo 1: Clonar o repositório

    git clone https://github.com/aws-samples/sample-amazon-quick-nvidia-nemo-agent-toolkit
    cd amazon-quick-nemo-supply-chain-risk

    Passo 2: Autenticar na AWS

    Autentique-se com a conta AWS onde planeja implantar o exemplo. Os comandos configuram um perfil de IAM Identity Center / SSO, iniciam o fluxo de login via browser e verificam a identidade da conta.

    Para Mac ou Linux:

    aws configure sso
    aws sso login --profile <your-profile-name>
    export AWS_PROFILE=<your-profile-name>
    aws sts get-caller-identity

    Para Windows PowerShell:

    aws configure sso
    aws sso login --profile <your-profile-name>
    $env:AWS_PROFILE="<your-profile-name>"
    aws sts get-caller-identity

    Passo 3: Implantar a solução de exemplo

    Configure a região AWS e o nome da stack antes de executar o script de implantação.

    Mac ou Linux:

    export AWS_REGION=us-east-1
    export STACK_NAME=sc-risk-copilot-dev
    ./scripts/deploy.sh

    Windows PowerShell:

    $env:AWS_REGION="us-east-1"
    $env:STACK_NAME="sc-risk-copilot-dev"
    .\scripts\deploy.ps1

    O script de implantação executa as seguintes tarefas: implanta a stack base do AWS CloudFormation; faz upload dos datasets e documentos de conhecimento para o Amazon S3; usa o AWS CodeBuild para construir e enviar a imagem de container NeMo para o Amazon ECR; atualiza a stack para implantar o Amazon Bedrock AgentCore Runtime; cria um target Lambda MCP do Amazon Bedrock AgentCore Gateway; e grava os valores de configuração do Quick em outputs/quick-setup.txt.

    Passos 4 a 9: Configuração do Amazon Quick

    Após a implantação da infraestrutura, os passos seguintes envolvem a configuração manual dentro do Amazon Quick: revisar os outputs gerados, criar o dashboard do Amazon QuickSight a partir do CSV de exemplo, configurar a fonte de conhecimento apontando para o prefixo kb/ no bucket S3, registrar o workflow do NeMo Agent Toolkit como uma ação MCP via integração com o AgentCore Gateway e criar o agente de chat de risco de supply chain.

    Nota importante de segurança: O exemplo implanta o AgentCore Gateway com AuthorizerType=NONE, que não realiza nenhuma autenticação ou autorização. Use apenas em ambiente de demonstração privado e isolado, com dados sintéticos não sensíveis. Para implantações reais, configure um autorizador de entrada suportado, como CUSTOM_JWT, e use autenticação OAuth/OIDC para usuários ou serviços do Amazon Quick.

    Passo 10: Inspecionar trace, latência e resultados de avaliação do NeMo

    Após o funcionamento da ação no Amazon Quick, é possível inspecionar o que aconteceu dentro do workflow de backend. O trace mostra o caminho do workflow, os dados de latência indicam quanto tempo cada ferramenta levou, e o harness de avaliação verifica se o workflow retorna o nível de risco esperado, a ação de mitigação e o roteamento de aprovação para casos de teste conhecidos.

    Para inspecionar o trace e a latência do runtime implantado:

    export AWS_REGION=us-east-1
    export STACK_NAME=sc-risk-copilot-dev
    ./scripts/inspect-runtime.sh

    Para executar o harness de avaliação local do NeMo Agent Toolkit:

    PYTHON_CMD=python3.12 ./scripts/eval-nemo-local.sh

    Os resultados podem ser visualizados diretamente no Amazon Quick: basta fazer upload dos arquivos outputs/runtime-response.json e outputs/local-eval-report.json no chat e solicitar ao agente que crie um resumo visual dos resultados do workflow, trace, latência, recomendações de risco e flags do avaliador.

    Em uma execução de exemplo com dados sintéticos, o workflow do NeMo Agent Toolkit completou em 657 ms de ponta a ponta. A consulta de risco de ordens de compra (267 ms) e a recuperação de política contratual (196 ms) responderam por mais de 70% da latência total.

    Considerações de segurança para produção

    O exemplo foi projetado para demonstração. Antes de qualquer uso em produção, as seguintes mudanças são recomendadas:

    • Substituir AuthorizerType=NONE por um autorizador de produção no AgentCore Gateway, com validação de token, emissor, audiência e rotação de chaves.
    • Restringir as políticas IAM aos recursos e ações estritamente necessários.
    • Colocar as fontes de dados atrás de APIs governadas.
    • Tratar as ferramentas do NeMo Agent Toolkit como interfaces governadas: validar entradas contra schemas esperados, validar IDs de fornecedores e códigos SKU contra listas de permissão explícitas, parametrizar todas as queries para evitar injeção e validar as saídas das ferramentas antes de retorná-las.
    • Aplicar as mesmas regras de autorização em nível de linha e coluna nos datasets do Amazon QuickSight e nas ferramentas de dados do backend.
    • Adicionar aprovação humana antes de ações de escrita, como alterações de fornecedor, criação de tickets, notificação de clientes ou atualizações em ERP.

    Conclusão

    A combinação entre Amazon Quick e NVIDIA NeMo Agent Toolkit demonstra como transformar visibilidade de cadeia de suprimentos em um workflow de decisão guiado. Planejadores trabalham em um espaço de negócio governado com dashboards, contexto de conhecimento, agentes de chat e acionamento de ações. O NeMo Agent Toolkit executa o workflow de decisão no backend, com trace, latência por etapa e metadados de avaliação que ajudam as equipes a identificar gargalos e melhorar o workflow antes da produção.

    O padrão é útil tanto para startups quanto para equipes corporativas que precisam escalar a tomada de decisões operacionais sem adicionar etapas de revisão manual para cada ruptura. A mesma arquitetura pode ser adaptada para outros domínios, como risco de renovação de clientes, resposta a incidentes, qualidade de manufatura ou tratamento de exceções logísticas.

    Para monitoramento mais amplo de uso do Amazon Quick, adoção, invocação de ações e desempenho de dashboards, é possível usar o monitoramento de administração do Amazon Quick e as métricas do Amazon CloudWatch — conforme detalhado em um post associado no blog da AWS.

    Fonte

    Build specialized agent workflows for your business with Amazon Quick and NVIDIA NeMo Agent Toolkit (https://aws.amazon.com/blogs/machine-learning/build-specialized-agent-workflows-for-your-business-with-amazon-quick-and-nvidia-nemo-agent-toolkit/)

  • Instalação de SO personalizado agora disponível nos dispositivos AWS DeepRacer

    O problema com o firmware original

    Os dispositivos AWS DeepRacer são carrinhos autônomos em escala 1/18 movidos por modelos treinados com aprendizado por reforço. Combinados com um ambiente de nuvem para treino e avaliação de redes neurais, eles formam uma plataforma educacional bastante popular para quem quer dar os primeiros passos em aprendizado de máquina (ML).

    O problema é que, desde o início, o firmware seguro embarcado nesses dispositivos só permitia inicializar sistemas operacionais assinados pela própria AWS — especificamente versões do Ubuntu 16.04 e 20.04. Ambas já estão fora do ciclo de suporte oficial, o que tornava difícil continuar experimentando e pesquisando com esses hardwares. Sem a possibilidade de atualizar o sistema operacional (SO), os dispositivos iam ficando para trás tecnologicamente.

    Para resolver isso sem abandonar o hardware, a AWS desenvolveu e disponibilizou um novo bootloader para desenvolvedores, que permite instalar SOs customizados nesses carrinhos e, assim, prolongar sua vida útil.

    A solução: o developer shim

    O bootloader lançado pela AWS é baseado no projeto open source shim. Chamado de developer shim, ele oferece acesso de autoatendimento para desenvolvedores que queiram instalar distribuições customizadas ou de terceiros nos dispositivos DeepRacer.

    O público-alvo são desenvolvedores familiarizados com processos de boot Linux e gerenciamento de certificados — especialmente membros da comunidade que queiram criar e distribuir suas próprias imagens de instalação para o DeepRacer.

    Com esse bootloader, passa a ser possível:

    • Instalar distribuições Linux modernas;
    • Adicionar drivers de hardware personalizados;
    • Executar stacks de software mais atuais;
    • Construir projetos educacionais inovadores;
    • Desenvolver protótipos de novos algoritmos veiculares.

    E caso o desenvolvedor precise retornar à configuração original, o processo é completamente reversível. Basta seguir as instruções de atualização e restauração do veículo para voltar ao estado de fábrica.

    Como o developer shim funciona

    O funcionamento do bootloader se apoia em três elementos principais:

    1. Gerenciamento de certificados por autoatendimento

    Quando a verificação de assinatura embutida falha (porque o SO não é assinado pela AWS), o developer shim procura por certificados de desenvolvedor no caminho /EFI/DEVELOPER/certs/ na partição de boot do dispositivo. O desenvolvedor pode gerenciar seus próprios certificados usando ferramentas padrão como OpenSSL e sbsign, mantendo a verificação criptográfica adequada.

    2. Avisos visuais claros

    Quando certificados de desenvolvedor estão em uso, o sistema sinaliza isso de forma explícita:

    • Aviso na tela (via HDMI): informa que o modo desenvolvedor está ativo;
    • Indicação por hardware: as luzes do dispositivo piscam “DEVELOPER MODE” em código Morse;
    • Atraso no boot: dá tempo suficiente para observar a ativação do modo desenvolvedor.

    A ideia é garantir transparência total: sempre que o modo desenvolvedor estiver ativo, o dispositivo deixa isso bem claro.

    3. Fluxo de verificação padrão

    A solução utiliza ferramentas de assinatura baseadas em certificados já conhecidas do mercado, tornando-a acessível a quem já trabalha com processos de boot seguro. O desenvolvedor fornece seus próprios certificados enquanto mantém a integridade criptográfica da cadeia de boot e do sistema operacional.

    Sequência de boot esperada

    Ao ligar o dispositivo, o processo segue as seguintes etapas:

    • O firmware carrega o developer shim (BOOTX64.EFI) e transfere a execução para ele;
    • O shim exibe um aviso na tela (se um monitor HDMI estiver conectado) e pisca “DEVELOPER MODE” em Morse nas luzes do dispositivo — essa etapa leva aproximadamente 21 segundos;
    • O bootloader carrega o kernel do sistema operacional;
    • O shim verifica a assinatura do kernel contra o repositório de certificados local em /EFI/DEVELOPER/certs;
    • Se a assinatura bater, a execução é transferida para o kernel e o boot continua normalmente.

    Impacto na comunidade open source

    A comunidade open source do AWS DeepRacer, em deepracing.io, já aproveitou o developer shim para criar uma nova distribuição customizada. Ela é construída sobre Ubuntu 24.04 com o stack ROS2 Jazzy e traz uma interface de usuário baseada em Cloudscape.

    Pensada para ser uma demonstração prática da abordagem do bootloader de autoatendimento, a distribuição vem pronta para uso, com um processo de instalação muito similar ao da distribuição original da AWS. A comunidade priorizou desempenho nas corridas, removendo pacotes não essenciais — incluindo o sistema gráfico X Window System. Quem precisar da experiência de desktop pode adicioná-la posteriormente. As instruções de instalação estão disponíveis no README do repositório.

    A distribuição pode ser encontrada em https://github.com/aws-deepracer-community/deepracer-custom-car.

    Como usar o bootloader

    O bootloader pode ser utilizado de três formas diferentes, dependendo do nível de controle desejado pelo desenvolvedor:

    Opção A: Instalar uma distribuição da comunidade

    A forma mais simples de começar é instalando a Distribuição da Comunidade Ubuntu 24.04. Essa opção dispensa a necessidade de instalar o Linux manualmente e reconfigurar os processos de boot do zero.

    Opção B: Distribuições de terceiros

    Para quem quer mais controle sobre o processo de instalação, é possível usar o developer shim com uma distribuição de terceiros, como o Ubuntu padrão. Após instalar o SO, basta substituir o arquivo BOOTX64.EFI pelo developer shim e adicionar os certificados adequados. Esse passo pode precisar ser feito duas vezes: uma na mídia de instalação e outra após a instalação no dispositivo. O arquivo USAGE.md incluso no pacote do developer shim contém as orientações detalhadas.

    Opção C: SO completamente customizado

    Para quem está construindo um SO do zero para o DeepRacer, o processo envolve criar um volume de boot no dispositivo, posicionar o developer shim em EFI/BOOT/BOOTX64.EFI, colocar o kernel ou bootloader do SO em EFI/BOOT/GRUBX64.EFI e instalar o certificado público em DEVELOPER/certs. O arquivo USAGE.md do pacote do developer shim também cobre esse cenário.

    Integração com a solução self-managed

    Com o developer shim e a solução de gerenciamento próprio lançada em 26 de janeiro de 2026, os desenvolvedores passam a ter controle total tanto sobre os ambientes de treinamento em nuvem quanto sobre os dispositivos físicos. É possível customizar o stack de software embarcado, experimentar novos pacotes ROS2 e iterar sobre modelos de corrida com flexibilidade completa de ponta a ponta. Mais detalhes sobre a solução self-managed estão disponíveis na página do DeepRacer on AWS.

    Como começar

    Para dar os primeiros passos, a AWS recomenda explorar primeiro a Solução DeepRacer on AWS e depois baixar o developer shim em deepracer-developer-shim.zip.

    Para criar ou modificar a mídia de boot do novo SO customizado:

    • Coloque o arquivo shim BOOTX64.EFI no diretório EFI/BOOT;
    • Armazene o kernel do SO escolhido como GRUBX64.EFI;
    • Armazene o certificado público do kernel em EFI/DEVELOPER/CERTS no formato x509 DER.

    Esse processo pode precisar ser repetido tanto na mídia de instalação quanto no próprio dispositivo após a instalação. Para documentação técnica detalhada, solução de problemas e uso avançado, o arquivo USAGE.md dentro do zip é a referência principal.

    Alternativamente, é possível baixar diretamente a Distribuição da Comunidade e seguir as instruções para uma instalação limpa com o developer bootloader já incorporado.

    Conclusão

    Com o novo bootloader, os dispositivos AWS DeepRacer ganham uma segunda vida como ambiente de educação e desenvolvimento em aprendizado de máquina. Agora é possível rodar sistemas operacionais modernos, ferramentas atualizadas e stacks de software contemporâneos — ou até criar sua própria distribuição customizada. Para começar, basta baixar o deepracer-developer-shim.zip, seguir as instruções no arquivo USAGE.md e continuar a jornada de ML com a Solução DeepRacer on AWS.

    Fonte

    Custom OS installation now available on AWS DeepRacer devices (https://aws.amazon.com/blogs/machine-learning/custom-os-installation-now-available-on-aws-deepracer-devices/)

  • Amazon Connect expande suporte a idiomas e controles de voz para experiências agênticas mais naturais

    Amazon Connect ganha voz mais natural com IA agêntica

    A AWS anunciou uma série de melhorias no Amazon Connect voltadas para experiências de voz agêntica mais naturais e humanizadas. A atualização chega com suporte expandido a mais de 50 idiomas — incluindo espanhol, francês, italiano, japonês, coreano, português e tailandês —, mais de 100 novas opções de voz e aprimoramentos conversacionais que tornam as interações com agentes de IA mais fluidas e responsivas.

    O que são as capacidades de autoatendimento agêntico

    O Amazon Connect conta com capacidades de autoatendimento agêntico que permitem aos agentes de IA compreender, raciocinar e agir em canais de voz e digitais. Isso significa que o sistema consegue adaptar as respostas ao tom e ao sentimento do cliente, mantendo um ritmo de conversa natural — sem aquelas pausas estranhas ou sobreposições de fala que costumam trair a origem artificial de um atendente virtual.

    O que muda na prática com este lançamento

    Com esta atualização, as empresas que utilizam o Amazon Connect podem contar com três melhorias principais:

    • Cadência de resposta mais suave: o sistema preenche as pausas naturais da conversa, fazendo com que a interação pareça imediata em vez de travada ou robótica.
    • Troca de turnos mais precisa: agentes e clientes deixam de se sobrepor na fala, tornando o diálogo mais organizado e compreensível.
    • Controles de fala personalizáveis: é possível ajustar velocidade, volume e emoção da voz para refletir a identidade e o tom da marca.

    Para quem é esse recurso

    Essas melhorias são especialmente relevantes para empresas que dependem de centrais de atendimento ao cliente e querem oferecer experiências automatizadas sem abrir mão da naturalidade. O Amazon Connect é posicionado pela AWS como uma solução de IA agêntica para empresas que buscam entregar experiências excepcionais ao cliente em escala.

    Onde encontrar mais informações

    Para se aprofundar no funcionamento do recurso, a AWS disponibiliza o Guia do Administrador do Amazon Connect. A lista completa de idiomas e vozes suportados está disponível na página de Idiomas Suportados. Para verificar em quais regiões o recurso está disponível, consulte a página de disponibilidade de recursos do Amazon Connect por região. Mais detalhes sobre a solução podem ser encontrados no site oficial do Amazon Connect.

    Fonte

    Amazon Connect delivers more natural agentic voice experiences with expanded language support and speech controls (https://aws.amazon.com/about-aws/whats-new/2026/07/amazon-connect-agentic-voice/)

  • Certificados ISO e CSA STAR 2026 da AWS já estão disponíveis com dois novos serviços incluídos

    AWS renova certificações ISO e CSA STAR com dois novos serviços no escopo

    A Amazon Web Services (AWS) concluiu com êxito uma auditoria de integração — sem nenhuma não conformidade registrada — para renovar suas certificações ISO e CSA STAR referentes ao ciclo de 2026. Os certificados foram reemitidos em 31 de maio de 2026 pela auditora independente EY CertifyPoint.

    Quais normas estão cobertas?

    A auditoria contemplou um conjunto robusto de normas internacionais. Veja o que cada uma abrange:

    Juntas, essas certificações demonstram o comprometimento da AWS em manter controles de segurança sólidos e proteger os dados dos clientes em seus serviços.

    Os dois novos serviços adicionados ao escopo

    Em relação à certificação anterior, emitida em 25 de fevereiro de 2026, dois novos serviços da AWS passaram a integrar o escopo das certificações ISO e CSA STAR:

    • AWS Skill Builder — plataforma de treinamento e capacitação digital da AWS
    • Amazon Nova Act — serviço de inteligência artificial da família Amazon Nova

    A inclusão desses dois serviços significa que eles agora passam a ser auditados e monitorados sob os mesmos critérios rigorosos que já se aplicam aos demais serviços certificados da AWS.

    Como verificar os serviços certificados e acessar os documentos

    Para quem precisa validar quais serviços da AWS estão cobertos pelas certificações ISO e CSA STAR — seja para fins de conformidade, due diligence ou relatórios internos — a AWS disponibiliza duas formas de consulta:

    • A página ISO e CSA STAR Certificados traz a lista completa e atualizada de serviços certificados.
    • Os próprios certificados também podem ser acessados diretamente pelo AWS Artifact, dentro do Console de Gerenciamento da AWS — o que facilita o download e o compartilhamento com times de auditoria e conformidade.

    Por que isso importa para você?

    Para equipes de segurança, conformidade e arquitetura que utilizam serviços da AWS, cada expansão no escopo de certificação é um dado relevante. Significa que mais serviços passam a ter sua postura de segurança validada por auditores externos independentes, facilitando a vida de quem precisa demonstrar conformidade com normas internacionais para clientes, parceiros ou reguladores.

    Fonte

    2026 ISO and CSA STAR certificates are now available with two additional services (https://aws.amazon.com/blogs/security/2026-iso-and-csa-star-certificates-are-now-available-with-two-additional-services/)

  • Filtre eventos de atividade de rede por identidade no AWS CloudTrail

    Novo filtro de identidade para eventos de rede no CloudTrail

    A AWS anunciou um aprimoramento importante no AWS CloudTrail: agora é possível filtrar eventos de atividade de rede com base na identidade do usuário Controle de Acesso e Identidade (IAM) que realizou a chamada de API. Essa novidade se aplica especificamente aos eventos de atividade de rede em endpoints de Nuvem Privada Virtual (VPC), um tipo de evento do CloudTrail que registra ações transmitidas por meio de um endpoint de VPC.

    O que muda na prática

    Antes dessa atualização, as equipes tinham controle limitado sobre quais eventos de atividade de rede eram registrados. Agora, com a filtragem por UserIdentity, é possível configurar seletores avançados para capturar apenas os eventos que realmente importam para o contexto de segurança da organização.

    Um exemplo prático: é possível configurar o CloudTrail para registrar somente eventos de acesso negado quando a identidade que fez a chamada não está em uma lista de identidades confiáveis. Isso permite capturar tentativas de acesso não autorizado enquanto exclui o tráfego rotineiro de identidades já conhecidas — reduzindo tanto o custo de armazenamento quanto o volume de ruído nos logs.

    Casos de uso em estratégias de perímetro de dados

    Para equipes que trabalham com estratégias de perímetro de dados (data perimeter), esse recurso é especialmente valioso. É possível configurar seletores para registrar apenas eventos do tipo VpceAccessDenied originados de identidades fora de um conjunto confiável de perfis IAM. Isso viabiliza a detecção de possíveis tentativas de exfiltração de dados por meio de endpoints de VPC, sem o custo de registrar cada chamada de API bem-sucedida feita por usuários e perfis já aprovados.

    Combinação com outros filtros existentes

    A filtragem por UserIdentity pode ser combinada com campos já disponíveis nos seletores avançados, como eventName e vpcEndpointId. Essa combinação oferece controle granular sobre o que é registrado, permitindo cenários de monitoramento muito mais precisos e direcionados.

    Disponibilidade e como usar

    O recurso está disponível por meio do Console de Gerenciamento da AWS, da Interface de Linha de Comando (AWS CLI) e dos kits de desenvolvimento de software (SDKs) da AWS. A funcionalidade está ativa em todas as regiões da AWS onde os eventos de atividade de rede do CloudTrail já são suportados.

    Para saber mais sobre eventos de atividade de rede, consulte o guia do usuário do AWS CloudTrail ou leia o post no blog da AWS sobre como habilitar eventos de atividade de rede.

    Fonte

    Selectively log network activity events by identity in AWS CloudTrail (https://aws.amazon.com/about-aws/whats-new/2026/07/aws-cloudtrail-filter-useridentity-advance-selectors/)

  • Agente de Investigação do Amazon GuardDuty: avaliação de ameaças com IA sob demanda

    O que é o agente de investigação do GuardDuty

    A AWS anunciou a prévia pública do agente de investigação do Amazon GuardDuty, uma nova capacidade que usa inteligência artificial para investigar achados de segurança no ambiente Amazon Web Services (AWS) de forma automática e sob demanda. O objetivo declarado é reduzir o tempo de investigação de horas para minutos.

    O GuardDuty já é o serviço gerenciado de detecção de ameaças da AWS, monitorando continuamente contas e workloads em busca de atividades suspeitas. O agente de investigação chega como uma camada adicional: em vez de deixar o analista correlacionar dados manualmente em múltiplas ferramentas, ele automatiza essa correlação e entrega inteligência acionável diretamente no serviço.

    O acesso acontece via Console de Gerenciamento da AWS, Interface de Linha de Comando (AWS CLI), APIs ou SDKs da AWS.

    Principais capacidades

    Cada investigação concluída retorna um conjunto estruturado de informações:

    • Nível de risco: Info, Baixo, Médio, Alto ou Crítico
    • Confiança: Desconhecida, Baixa, Média ou Alta
    • Resumo: narrativa das observações e achados principais
    • Detalhes da investigação: contexto adicional sobre o incidente
    • Ações recomendadas: passos priorizados de remediação, incluindo comandos AWS CLI
    • Mapeamento MITRE ATT&CK®: técnicas de ataque e recursos AWS afetados

    O escopo da investigação pode ser definido para um achado específico, uma conta individual ou todas as contas da organização. Via AWS CLI e API, é possível usar um campo de texto livre de até 2.048 caracteres para descrever em linguagem natural o que deve ser investigado — permitindo indicar áreas de preocupação, causas raiz suspeitas ou prioridades de análise.

    As APIs do agente de investigação também estão disponíveis pelo servidor MCP da AWS, parte do Agent Toolkit for AWS, o que permite integrá-las em fluxos de trabalho com IA e nas cadeias de ferramentas de segurança já existentes.

    Como o agente analisa os achados

    Ao criar uma investigação, o agente usa inferência entre regiões (Cross-Region Inference) para processar os achados conforme o escopo definido. O serviço CRIS (Serviço de Inferência Entre Regiões) seleciona a região AWS mais adequada dentro da mesma geografia para processar a avaliação. Os dados permanecem armazenados apenas na região de origem da requisição, mas os dados e resultados da investigação podem ser processados fora dessa região. A transmissão ocorre de forma criptografada pela rede segura da Amazon. A tabela de roteamento de inferência pode ser consultada na seção de investigação do Guia do Usuário do Amazon GuardDuty.

    Pré-requisitos e permissões de Gerenciamento de Identidade e Acesso (IAM)

    Para usar o agente de investigação, é necessário ter o Amazon GuardDuty habilitado em uma conta em uma região suportada. Três novas permissões de IAM são exigidas:

    • guardduty:CreateInvestigation — para iniciar novas investigações
    • guardduty:GetInvestigation — para recuperar resultados
    • guardduty:ListInvestigations — para listar investigações de um detector

    Exemplo de política IAM:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "guardduty:CreateInvestigation",
            "guardduty:GetInvestigation",
            "guardduty:ListInvestigations"
          ],
          "Resource": "*"
        }
      ]
    }

    Modelo de autorização

    Contas administradoras podem criar investigações, recuperar resultados e listar investigações para si mesmas e para suas contas membros. Contas membros só podem recuperar resultados e listar investigações da própria conta — não podem criar investigações nem acessar investigações de outras contas ou da conta administradora. A especificação do ID de conta só é necessária ao investigar uma conta membro específica.

    Como habilitar e criar a primeira investigação

    Com as permissões IAM configuradas, o processo pelo console segue os passos abaixo:

    1. Acesse o Console de Gerenciamento da AWS na região suportada desejada e navegue até o Amazon GuardDuty.
    2. No painel de navegação, selecione Investigations.
    3. Se as investigações não estiverem habilitadas, acesse Go to Settings e ative a funcionalidade.
    4. Após habilitar, volte à página de investigações e selecione Initiate Investigation.
    5. Escolha o escopo: um Finding ID específico, um ID de conta AWS, ou todas as contas da organização.
    6. Clique em Initiate investigation e aguarde a conclusão — tipicamente 2 a 5 minutos para nível de conta e 10 a 12 minutos para achados específicos durante a prévia.

    Ao concluir, a investigação apresenta: informações gerais (ID, status, conta que disparou, timestamp), resumo narrativo, mapeamento de técnicas de ataque e recursos afetados, avaliação de ameaça com nível de risco e pontuação de confiança, e ações recomendadas priorizadas.

    Executando investigações via AWS CLI

    As investigações são assíncronas — o agente consulta múltiplas fontes de dados, correlaciona achados entre serviços e realiza análise com IA. Após criar uma investigação, é necessário verificar periodicamente o status até a conclusão.

    Passo 1: Localizar o ID do detector

    Cada implantação do GuardDuty tem um ID de detector único por conta e por região. Para encontrá-lo:

    aws guardduty list-detectors --region=us-east-1

    Resposta esperada:

    {
      "DetectorIds": [
        "12abc34d567e8fa901bc2d34eexample"
      ]
    }

    Para evitar repetição ao trabalhar sempre na mesma região, é possível definir uma variável de ambiente (exemplo no Linux):

    export AWS_DEFAULT_REGION=us-east-1

    Passo 2: Criar uma investigação

    Para investigar um achado específico:

    aws guardduty create-investigation us-east-1 \
      --detector-id 12abc34d567e8fa901bc2d34eexample \
      --trigger-prompt "Investigate this finding ID 1ab2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

    Para investigar todos os achados de uma conta:

    aws guardduty create-investigation --region=us-east-1 \
      --detector-id 12abc34d567e8fa901bc2d34eexample \
      --trigger-prompt "Investigate findings in Account 123456789012"

    Para investigar toda a organização:

    aws guardduty create-investigation --region=us-east-1 \
      --detector-id 12abc34d567e8fa901bc2d34eexample \
      --trigger-prompt "Investigate findings across my AWS Organization"

    A resposta retorna o ID da investigação:

    {
      "InvestigationId":"a1b2c3d4-5678-90ab-cdef-ef1234567890"
    }

    Passo 3: Verificar o status da investigação

    aws guardduty get-investigation --region=us-east-1 \
      --detector-id 12abc34d567e8fa901bc2d34eexample \
      --investigation-id a1b2c3d4-5678-90ab-cdef-ef1234567890 \
      --query 'Investigation.Status'

    Repita o comando até o campo Status mostrar COMPLETED. Verificar a cada 30 segundos é suficiente. Os valores possíveis são: RUNNING, COMPLETED e FAILED. Em caso de falha, verifique a mensagem de erro e confirme se as permissões estão de acordo com o modelo de autorização.

    Para listar todas as investigações de um detector:

    aws guardduty list-investigations --region=us-east-1 \
      --detector-id 12abc34d567e8fa901bc2d34eexample \
      --max-results=10

    Os endpoints de API disponíveis são: CreateInvestigation, GetInvestigation e ListInvestigations.

    Integração em pipelines de segurança existentes

    O design orientado a API do agente de investigação resolve um padrão comum: equipes que já encaminham achados do GuardDuty para ferramentas de terceiros via Amazon EventBridge podem adicionar uma função AWS Lambda no pipeline. Essa função chama CreateInvestigation com o ID do achado, aguarda a conclusão e repassa os resultados enriquecidos — nível de risco, pontuação de confiança, mapeamento MITRE ATT&CK e ações recomendadas — para o Sistema de Informação e Gerenciamento de Eventos de Segurança (SIEM) junto ao achado original.

    Com isso, achados críticos vão diretamente para a fila de resposta a incidentes, enquanto achados de baixo risco com alta confiança podem ser fechados automaticamente ou agrupados para revisão semanal. O analista passa de correlação manual de logs para validação de avaliações e ação em ameaças confirmadas.

    O agente de investigação é especializado em achados do GuardDuty e é distinto de outros agentes da AWS, como o AWS Security Agent e o AWS DevOps Agent.

    Integração com o servidor MCP da AWS

    O Protocolo de Contexto de Modelo (MCP) é um padrão aberto que permite que assistentes de IA se conectem de forma segura a fontes de dados e ferramentas externas. Como o servidor MCP da AWS implementa esse padrão para serviços AWS, é possível invocar investigações do GuardDuty por linguagem natural em ferramentas como Kiro, Claude da Anthropic ou outros clientes compatíveis com MCP.

    Exemplos de prompts em linguagem natural que o agente suporta:

    • “Investigate the latest high-severity finding in my production account”
    • “Create an investigation for finding ID abc123 in account 987654321098 and summarize what happened”
    • “List investigations from the last 24 hours and flag those that need human review”

    Relação com o AWS Security Incident Response

    O agente de investigação do GuardDuty e o AWS Security Incident Response (AWS SIR) atuam em estágios diferentes do fluxo de segurança. O agente de investigação oferece avaliação sob demanda: quando a equipe precisa de contexto mais profundo sobre um achado específico, uma postura de segurança de conta ou da organização inteira. O resultado é uma avaliação estruturada com níveis de risco, pontuações de confiança, mapeamentos MITRE ATT&CK e recomendações acionáveis.

    Já o AWS SIR é voltado para eventos de segurança ativos, onde há necessidade de automação com IA e expertise humana para coordenar contenção e recuperação. Quando um caso com suporte da AWS é criado via SIR, um agente de investigação SIR é ativado em paralelo com os engenheiros de resposta a incidentes da AWS.

    As equipes de segurança podem usar as duas capacidades de forma complementar: usar o agente do GuardDuty para avaliar e priorizar achados, escalar problemas confirmados com evidências de suporte e criar ou atualizar um caso no AWS SIR quando for necessário envolvimento adicional da AWS.

    Disponibilidade e preços

    A prévia pública do agente de investigação do GuardDuty está disponível em 10 regiões AWS: US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (London), Europe (Paris), Europe (Stockholm) e Asia Pacific (Tokyo).

    Durante a prévia pública, o agente de investigação está disponível sem custo adicional. O uso é limitado a 10 investigações por conta por dia, com limite cumulativo de 100 investigações por conta durante o período de prévia. Investigações com falha não contam para essas cotas.

    Para saber mais

    Fonte

    Introducing the Amazon GuardDuty investigation agent: on-demand AI-powered threat assessment (https://aws.amazon.com/blogs/security/introducing-the-amazon-guardduty-investigation-agent-on-demand-ai-powered-threat-assessment/)

  • AWS Data Exports passa a oferecer metadados padronizados do Amazon Bedrock

    O que mudou no AWS Data Exports

    A AWS anunciou uma atualização relevante para quem gerencia custos de inteligência artificial na nuvem: o AWS Data Exports — serviço que permite criar exportações personalizadas de dados de custo e uso e entregá-las ao Amazon S3 para consulta via Amazon Athena ou carregamento em um data warehouse — agora fornece metadados padronizados do Amazon Bedrock no Relatório de Custo e Uso (CUR, do inglês Cost and Usage Report).

    A novidade é especialmente útil para equipes de FinOps e administradores de nuvem que precisam entender e categorizar os gastos com o Bedrock de forma confiável e estruturada.

    O problema que essa atualização resolve

    Até então, quem precisava detalhar os custos do Amazon Bedrock no CUR 2.0 se deparava com metadados inconsistentes, o que exigia a criação de lógicas personalizadas para interpretar e classificar cada linha de custo. Isso gerava retrabalho, risco de erros e dificuldade para consolidar relatórios.

    Com a padronização anunciada pela AWS, esse processo se torna muito mais direto: os atributos já chegam estruturados, prontos para análise.

    Quais atributos estão disponíveis

    Os novos metadados padronizados incluem os seguintes atributos:

    • Provedor do modelo (model provider): identifica a empresa por trás do modelo de IA utilizado.
    • Nome do modelo (model name): especifica qual modelo foi acionado.
    • Unidade de precificação (pricing unit): indica como o uso é cobrado.
    • Tipo de inferência (inference type): diferencia, por exemplo, tokens de entrada (input tokens) de tokens de saída (output tokens).
    • Funcionalidade (feature): representa o modo de execução da inferência, como On-Demand (sob demanda) ou Batch (em lote).

    Além disso, foi introduzido um nome de família de produto unificado — “Amazon Bedrock” — que consolida todos os custos relacionados ao serviço em uma única categoria, facilitando filtros e agrupamentos nos relatórios.

    Como os dados aparecem no CUR 2.0

    No CUR 2.0, os atributos de provedor do modelo, nome do modelo, tipo de inferência e funcionalidade estão disponíveis dentro da coluna de mapa de produto (product map). Já a unidade de precificação aparece como uma coluna independente.

    Disponibilidade e custo

    Os campos padronizados já estão disponíveis por padrão para todos os clientes do Amazon Bedrock que utilizam o AWS Data Exports, sem custo adicional.

    Para saber mais, acesse a página do Amazon Bedrock ou consulte a documentação sobre colunas de produto no Guia do Usuário do AWS Data Exports para ver todos os atributos padronizados disponíveis.

    Fonte

    AWS Data Exports now provides standardized Amazon Bedrock product metadata (https://aws.amazon.com/about-aws/whats-new/2026/07/aws-data-exports-amazon-bedrock-product-metadata/)

  • CloudTroop Weekly #021 — 2026-w29





    CloudTroop Weekly #021 — 2026-w29

    19 de julho de 2026

    Resumo da Semana

    A semana foi dominada pela convergência entre segurança e IA agêntica na AWS. Security Hub e GuardDuty ganharam proteção nativa para workloads de IA, enquanto o WAF Bot Control passou a autenticar agentes com assinaturas criptográficas. No Bedrock, chegaram GPT-5.6 e Grok 4.3 com contexto de 1 milhão de tokens, ampliando opções para RAG e agentes. Cognito eliminou o reset de senha em migrações de identidade. Para quem opera dados, o EMR on EKS ganhou diagnóstico de Spark por linguagem natural. O recado é claro: IA em produção exige camada de segurança dedicada, não improviso.

    O que muda na prática

    • Segurança de IA deixa de ser responsabilidade manual: GuardDuty detecta prompt injection e ataques a modelos Bedrock e SageMaker automaticamente, sem configuração adicional.
    • Migrações de identidade ficam mais simples: Cognito agora importa usuários com hashes bcrypt e Argon2id, eliminando o reset forçado de senha que travava projetos de modernização.
    • Custo de inferência de LLMs cai com quantização: quatro padrões prontos para SageMaker, EC2, EKS e ECS permitem reduzir drasticamente o gasto com modelos em produção sem abrir mão de qualidade.

    Ações da semana

    • Ative o GuardDuty AI Threat Detection nas contas que rodam Bedrock ou SageMaker em produção — o recurso cobre prompt injection e exfiltração de credenciais sem custo de configuração.
    • Se você tem uma migração de sistema de autenticação parada por causa do reset de senha, teste agora o novo fluxo de importação de usuários do Cognito com hash de senha existente.

    Top 10 da Semana

    1

    Security Hub ganha proteção para IA e suporte multicloud Azure

    Consolida em uma plataforma a visibilidade de segurança para workloads de IA e ambientes Azure, mudando decisões de arquitetura de segurança multicloud.

    Para quem: Arquitetos de segurança e times de cloud governance que operam em múltiplas nuvens.

    Segurança multicloud

    2

    GuardDuty AI Protection detecta ameaças em Bedrock e SageMaker

    Monitora prompt injection e ataques a modelos de IA sem configuração manual, cobrindo uma lacuna crítica de segurança em workloads generativos.

    Para quem: Times de segurança e engenheiros que operam modelos de IA em produção na AWS.

    Segurança IA

    3

    GPT-5.6 Sol, Terra e Luna da OpenAI disponíveis no Amazon Bedrock

    Traz a família mais avançada da OpenAI para dentro do ecossistema AWS com prompt caching e acesso zero ao operador, ampliando opções para agentes e RAG.

    Para quem: Engenheiros de IA e arquitetos que constroem aplicações generativas e precisam comparar modelos de ponta.

    Modelos IA

    4

    Amazon Cognito importa usuários com hashes de senha (bcrypt, Argon2id…)

    Elimina a obrigação de reset de senha em migrações de identidade, desbloqueando migrações de sistemas legados sem atrito para os usuários finais.

    Para quem: Engenheiros responsáveis por migrações de sistemas de autenticação e identidade para a AWS.

    Identidade

    5

    AWS WAF Bot Control autentica agentes de IA com assinaturas criptográficas

    Resolve o problema crescente de distinguir agentes de IA legítimos de tráfego malicioso em APIs multi-tenant usando padrão IETF.

    Para quem: Engenheiros de segurança e arquitetos que expõem APIs consumidas por agentes de IA.

    Segurança API

    6

    Troca de tokens OBO para agentes multi-tenant com Bedrock AgentCore Gateway

    Implementa delegação de identidade OAuth 2.0 em agentes de IA sem código adicional no agente, resolvendo um padrão crítico de segurança em SaaS multi-tenant.

    Para quem: Arquitetos e engenheiros que constroem plataformas de agentes de IA com múltiplos tenants e integrações OAuth.

    Agentes IA segurança

    7

    Grok 4.3 da xAI chega ao Amazon Bedrock com contexto de 1M tokens

    Adiciona mais uma opção de modelo de raciocínio avançado com janela de contexto gigante e API compatível com OpenAI dentro do Bedrock.

    Para quem: Engenheiros de IA que avaliam modelos de raciocínio para agentes e pipelines de análise de documentos longos.

    Modelos IA

    8

    AWS é designada Terceiro Crítico para o setor financeiro do Reino Unido

    Estabelece supervisão regulatória direta sobre a AWS no setor financeiro britânico, impactando estratégias de compliance e contratos de clientes FSI.

    Para quem: Times de compliance, risco e arquitetos de clientes do setor financeiro com operações no Reino Unido.

    Compliance regulatório

    9

    Guia: modelos quantizados com Unsloth no SageMaker, EC2, EKS e ECS

    Apresenta quatro padrões práticos para reduzir drasticamente custo de inferência sem perda significativa de qualidade, com código pronto para produção.

    Para quem: Engenheiros de ML que precisam otimizar custo de implantação de LLMs em produção na AWS.

    Otimização ML

    10

    EMR on EKS ganha agente de diagnóstico de Spark com linguagem natural

    Permite investigar falhas em jobs Spark via linguagem natural com análise automática de causa raiz, reduzindo tempo de troubleshooting em pipelines de dados.

    Para quem: Engenheiros de dados e plataforma que operam workloads Spark no Amazon EMR.

    Dados operações


  • Amazon GameLift Streams passa a suportar credenciais de função IAM em sessões de streaming

    O que mudou no Amazon GameLift Streams

    A AWS anunciou uma atualização importante no Amazon GameLift Streams: o serviço agora suporta a atribuição de funções do IAM (Gerenciamento de Identidade e Acesso) diretamente a sessões de streaming. Com isso, aplicações em execução dentro de uma sessão de streaming passam a acessar recursos da conta AWS — como buckets do Amazon S3 e tabelas do DynamoDB — de forma segura e sem a necessidade de gerenciar credenciais manualmente.

    Como funciona na prática

    A partir dessa atualização, é possível passar um parâmetro RoleArn ao iniciar uma sessão de streaming. A partir daí, a aplicação recebe automaticamente credenciais AWS de curta duração e com renovação automática, por meio da cadeia padrão de resolução de credenciais do SDK da AWS — sem necessidade de alterar nenhuma linha de código da aplicação.

    O mecanismo utilizado é o mesmo provedor de credenciais em contêineres já consolidado e confiável que está por trás das funções de tarefa do Amazon ECS e do Pod Identity do Amazon EKS. Ou seja, a AWS está trazendo para o GameLift Streams um padrão de segurança já bem estabelecido em outros serviços gerenciados da plataforma.

    Por que isso importa: o problema que existia antes

    Antes dessa funcionalidade, equipes que precisavam que suas aplicações em streaming acessassem serviços da AWS enfrentavam um dilema operacional e de segurança: ou embutiam chaves de acesso de longa duração diretamente nos pacotes da aplicação, ou as passavam como variáveis de ambiente. Ambas as abordagens são problemáticas — aumentam a superfície de ataque e dificultam a rotação e o gerenciamento dessas credenciais.

    Com o suporte a funções IAM, esse risco é eliminado. As credenciais são temporárias, renovadas automaticamente e gerenciadas pelo próprio GameLift Streams, sem intervenção manual.

    Validação e configuração simplificada

    Outro ponto relevante do anúncio é a experiência de diagnóstico: erros de configuração na função IAM são detectados e sinalizados no momento do início da sessão, com mensagens de erro claras — em vez de falhar silenciosamente durante a execução da aplicação. Isso reduz o tempo de depuração e facilita a identificação de problemas de permissão.

    Para facilitar ainda mais a adoção, a AWS também disponibilizou a configuração de funções IAM diretamente no console do Amazon GameLift Streams, com um modelo de política de confiança pré-preenchido para simplificar o processo de criação da função.

    Disponibilidade

    O suporte a funções IAM em sessões de streaming está disponível em todas as regiões da AWS onde o Amazon GameLift Streams já está disponível.

    Para saber mais sobre como configurar credenciais de sessão, a AWS disponibiliza documentação detalhada: Configuração de Credenciais de Sessão no Guia do Desenvolvedor do Amazon GameLift Streams.

    Fonte

    Amazon GameLift Streams now supports IAM role credentials for stream sessions (https://aws.amazon.com/about-aws/whats-new/2026/07/amazon-gamelift-streams-iam/)