Category: Uncategorized

  • Criando políticas Dogwood a partir de linguagem natural no Amazon Bedrock AgentCore

    O problema de controlar agentes de IA em produção

    Agentes de IA são capazes de automatizar fluxos de trabalho complexos, mas sem os controles certos, eles podem tomar ações que conflitam com as políticas internas da organização ou com obrigações regulatórias. Para endereçar esse desafio, a AWS desenvolveu o recurso de Política no Amazon Bedrock AgentCore, que permite às equipes aplicar controles de forma centralizada sobre os agentes que rodam no Amazon Bedrock AgentCore.

    Recentemente, a AWS expandiu esse recurso com novas capacidades que permitem impor restrições ao longo do tempo — como limites de taxa, pré-requisitos de chamadas, ordenação sequencial de ferramentas e controle de efeitos cumulativos. Essas políticas são expressas em Dogwood, uma linguagem de governança de código aberto, e aplicadas em tempo real pelo monitor Dogwood embutido no AgentCore Gateway.

    O que é o Policy Authoring

    Como parte desse lançamento, a AWS também expandiu as capacidades do Policy Authoring, uma ferramenta baseada em IA que converte documentos de especificação de políticas escritos em linguagem natural em especificações formais Dogwood — sintaticamente e semanticamente corretas.

    Com essa funcionalidade, é possível gerar políticas que:

    • Impõem restrições temporais e de trajetória de ações;
    • Invocam o Amazon Bedrock Guardrails para detectar conteúdo inadequado em campos de texto livre;
    • Restringem os parâmetros de entrada das ferramentas disponíveis para o agente.

    O ponto central é que qualquer pessoa, independentemente do nível técnico, pode importar um documento de políticas escrito em prosa diretamente no Amazon Bedrock AgentCore para proteger os sistemas agênticos em produção.

    Como o Policy Authoring funciona na prática

    O Policy Authoring funciona melhor quando as regras já existem em prosa — quando o trabalho é de transcrição, não de design. Você pode fornecer um documento com um conjunto de regras: uma lista de políticas, a seção de regras de um procedimento operacional ou um parágrafo descrevendo ações permitidas ou restritas.

    A ferramenta atua como um tradutor, não como um resumidor. Documentos que misturam regras com justificativas e comentários funcionam melhor quando pré-processados para isolar apenas as regras em si.

    O cenário de exemplo: banco de varejo

    Para ilustrar as traduções, o artigo da AWS usa o exemplo de um agente de atendimento ao cliente em um banco de varejo. Esse agente verifica identidades, abre disputas, emite reembolsos, move fundos entre contas e solicita aprovação de supervisores. Suas ferramentas são acessadas via AgentCore Gateway e incluem:

    • verify_identity — verificação de identidade do chamador;
    • initiate_transfer — transferência de fundos entre contas do cliente;
    • issue_refund — reversão de uma cobrança disputada;
    • file_dispute — abertura de caso de disputa;
    • request_approval — solicitação de aprovação de um supervisor.

    O Policy Authoring recebe junto ao documento um esquema com os nomes das ferramentas, seus argumentos e retornos — gerado a partir do manifesto de ferramentas MCP (Model Context Protocol) do agente. Isso garante que as políticas geradas referenciem exatamente os mesmos nomes que o agente usa.

    Exemplos de tradução de políticas

    Restrição em argumentos de uma ferramenta

    Regra em linguagem natural: Reembolsos só podem ser emitidos durante o horário comercial (9h–17h UTC) e apenas para valores de até US$ 2.500.

    permit (
      principal,
      action == AgentCore::Action::"issue_refund",
      resource
    )
    when {
      context.system.now.toTime() >= duration("9h") &&
      context.system.now.toTime() <= duration("17h")
    }
    when {
      context.input.amount <= 2500
    };

    Uma única frase com dois requisitos independentes se torna uma política com duas condições. Para mais detalhes sobre funções baseadas em tempo como duration, consulte o suporte a políticas baseadas em tempo.

    Pré-requisito obrigatório

    Regra: Não inicie uma transferência a menos que a identidade do chamador tenha sido verificada para a mesma conta nos últimos 15 minutos.

    permit (
      principal,
      action == AgentCore::Action::"initiate_transfer",
      resource
    )
    when temporal {
      formerly within 15m
        AgentCore::Action::"verify_identity"::response{
          input.account: context.input.account,
          output.verified: true
        }
    };

    Aqui a condição não pode ser resolvida apenas com a requisição de transferência — ela consulta o histórico da sessão. O operador formerly within 15m verifica se o evento descrito ocorreu nos últimos 15 minutos. A correlação por account garante que uma verificação de outra conta não satisfaça a regra.

    Limite cumulativo

    Regra: Bloqueie uma transferência se o total transferido nas últimas 12 horas ultrapassar US$ 50.000.

    forbid (
      principal,
      action == AgentCore::Action::"initiate_transfer",
      resource
    )
    when temporal {
      exists (total: Long). (
        (sum a for (a: Long), (t: Timepoint).
          where (
            formerly within 12h (
              AgentCore::Action::"initiate_transfer"::request{
                input.amount: a
              } && tp(t)
            )
          )
        ) == total &&
        total > 50000
      )
    };

    Aqui o histórico não é apenas consultado — ele é somado. A política soma o argumento amount de todas as transferências nas últimas 12 horas e bloqueia a chamada atual se o total ultrapassar US$ 50.000. Cada transferência individual pode ser pequena, mas a condição restringe o agregado.

    Limite de taxa

    Regra: O agente não pode tentar mais de três reembolsos para a mesma conta em uma hora.

    forbid (
      principal,
      action == AgentCore::Action::"issue_refund",
      resource
    )
    when temporal {
      exists (n: Long). (
        (count for (t: Timepoint).
          where (
            formerly within 1h (
              AgentCore::Action::"issue_refund"::request{
                input.account: context.input.account
              } && tp(t)
            )
          )
        ) == n &&
        n > 3
      )
    };

    Estrutura semelhante ao exemplo anterior, mas contando eventos em vez de somar valores. A contagem inclui a tentativa atual, portanto a quarta tentativa na mesma hora é bloqueada. Como a regra diz "tentativa", reembolsos negados ou com falha também contam.

    Verificação de texto livre

    Regra: Rejeite qualquer abertura de disputa cuja descrição contenha um número de Seguro Social americano.

    forbid (
      principal,
      action == AgentCore::Action::"file_dispute",
      resource
    )
    when {
      BedrockGuardrails::SensitiveInformation(
        ["US_SOCIAL_SECURITY_NUMBER"],
        [context.input.description]
      ).maxConfidenceScore().greaterThanOrEqual(decimal("0.2"))
    };

    Algumas regras dizem respeito ao significado de texto livre, não a valores estruturados. Para esses casos, a política gerada invoca uma verificação do Amazon Bedrock Guardrails diretamente no campo indicado. Como a regra original não especifica um limiar de confiança, a tradução usa o valor padrão para essa verificação.

    Regra que combina múltiplos tipos de condição

    Regra: Um reembolso acima de US$ 500 exige aprovação de supervisor para aquela cobrança, registrada nos últimos 30 minutos.

    forbid (
      principal,
      action == AgentCore::Action::"issue_refund",
      resource
    )
    when {
      context.input.amount > 500
    }
    unless temporal {
      formerly within 30m
        AgentCore::Action::"request_approval"::response{
          input.charge_id: context.input.charge_id,
          output.approved: true
        }
    };

    A sentença tem duas partes verificadas de formas distintas: um limite no argumento da chamada atual e uma condição sobre o histórico da sessão. A cláusula unless levanta a negação quando uma aprovação correspondente está registrada. A correlação por charge_id impede que uma aprovação para uma cobrança autorize o reembolso de outra.

    Boas práticas para escrever políticas em linguagem natural

    Políticas claras e sem ambiguidade geram comportamentos mais previsíveis — tanto para humanos quanto para o autoformalizador. A AWS destaca as seguintes orientações:

    • Diga se você quer a tentativa ou o resultado. "Após uma transferência" é ambíguo. "Após uma transferência ser concluída com sucesso" não é. Limites de taxa e caps cumulativos geralmente se aplicam a tentativas; pré-requisitos e regras de ordenação, a resultados.
    • Declare a janela de tempo. "Recentemente" não tem tradução. "Nos últimos 30 minutos" sim. Se a regra deve resetar em um limite de calendário (e não deslizar com o relógio), declare isso explicitamente.
    • Nomeie o sujeito da regra. "Não mais que três transferências por hora" não diz de quem: três pelo mesmo chamador ou três contra a mesma conta? Ambas são expressáveis, mas são políticas diferentes.
    • Forneça o limiar e seu limite. "Mais de três" e "pelo menos três" diferem por uma ação — geralmente a que a regra existe para impedir. O mesmo vale para níveis de confiança em verificações de conteúdo.
    • Revise as políticas Dogwood geradas. Cada política é retornada junto com a frase que a originou para leitura lado a lado. A validação verifica se a política é bem formada, mas não confirma se ela expressa exatamente o que o autor pretendia. Esse julgamento fica com quem é dono do documento.

    O que não pode ser aplicado por políticas

    O serviço de authoring consegue identificar e sinalizar políticas incompatíveis com o mecanismo de execução. Há quatro categorias comuns de regras que não podem ser traduzidas para Dogwood:

    • Não é uma regra sobre uma ação. Exemplo: "Agentes devem sempre agir no melhor interesse financeiro do cliente." Não há condição sobre nenhuma ação, campo ou principal. Essa é uma exigência legítima, mas pertence às instruções do agente, às avaliações e ao treinamento — não a um mecanismo de autorização.
    • Pede uma ação, não um veredicto. Exemplo: "Quando uma descrição de disputa contiver um número de Seguro Social, remova-o antes de salvar." Um mecanismo de políticas permite ou nega uma chamada — ele não a modifica. Redação é um controle diferente, aplicado em outro ponto do pipeline.
    • Usa construtos não suportados pela linguagem. Exemplo: "Negue transferências em fins de semana e feriados federais americanos." O suporte a data e hora no Dogwood cobre pontos no tempo, offsets e diferenças, mas não há acesso ao dia da semana nem a calendários de feriados. O guia da linguagem Dogwood detalha quais construtos estão disponíveis.
    • Está fora do escopo de execução. Exemplo: "Um cliente pode iniciar no máximo dez transferências por dia, contadas em todas as sessões simultâneas." A execução avalia trajetórias dentro de uma sessão; um cap que agrega entre sessões não pode ser recuperado com uma formulação diferente.

    Em cada um desses casos, o resultado útil não é uma política, mas um rótulo indicando que a regra não pode ser traduzida para Dogwood — o que sinaliza a necessidade de considerar alternativas: reescrever, mover para outro controle ou aceitar que permanece como processo humano.

    Como funciona o pipeline de autoformação

    O processo de autoformação roda em quatro etapas:

    1. Decomposição: O documento é quebrado em regras atômicas. Uma cláusula numerada frequentemente carrega várias obrigações independentes, e cada uma se torna uma instrução sobre uma ferramenta específica que pode ser aplicada de forma isolada.
    2. Roteamento: Cada regra é classificada como expressável ou não em Dogwood. As inexpressáveis são separadas antes da tradução, evitando que se tornem políticas que validam corretamente mas aplicam a coisa errada.
    3. Autoformação: As regras restantes são convertidas em Dogwood, ancoradas no esquema de ferramentas fornecido junto ao documento.
    4. Validação: Cada política candidata é validada usando as mesmas ferramentas de linha de comando Dogwood que acompanham a linguagem open source. O compilador é uma autoridade precisa e determinística sobre se uma política pode ser analisada e se todos os nomes existem no esquema. Quando uma candidata é rejeitada, seus diagnósticos são retornados e a regra é traduzida novamente com esses erros em vista, por um número limitado de rodadas.

    O resultado final são duas coleções: as políticas que validaram para sintaxe e compatibilidade com o esquema do ambiente (junto com as regras atômicas que as geraram) e as regras atômicas que foram separadas por não serem expressáveis.

    Conclusão

    O Policy Authoring no Amazon Bedrock AgentCore representa um avanço importante para equipes que precisam aplicar governança sobre agentes de IA sem precisar dominar uma linguagem formal de especificação. A abordagem reconhece que as regras geralmente já existem em prosa — em procedimentos operacionais, documentos de conformidade ou políticas internas — e encurta o caminho entre esse documento e um conjunto de políticas revisável e implantável.

    O Dogwood pode ser escrito diretamente por quem preferir trabalhar na linguagem. O Policy Authoring existe para o caso mais comum: quando as regras já estão em prosa e o trabalho é de transcrição.

    Para começar, consulte a documentação de Política no AgentCore para criar um motor de políticas e gerar políticas a partir de um documento, e o guia da linguagem Dogwood para quem quiser ler ou estender as políticas geradas. Para entender como essas políticas são interpretadas e aplicadas em tempo de execução, veja também Securing AI agents with temporal policies in Amazon Bedrock AgentCore e Introducing Dogwood: runtime verification for AI agents.

    Fonte

    Authoring Dogwood policies from natural language in Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/authoring-dogwood-policies-from-natural-language-in-amazon-bedrock-agentcore/)

  • Amazon Timestream para InfluxDB agora suporta chaves gerenciadas pelo cliente

    Controle de criptografia nas mãos do cliente

    A AWS anunciou uma novidade importante para quem utiliza o Amazon Timestream para InfluxDB: o serviço agora suporta Chaves Gerenciadas pelo Cliente (CMK — Customer Managed Keys) por meio do Serviço de Gerenciamento de Chaves da AWS (AWS KMS — AWS Key Management Service). Com isso, os clientes ganham controle direto sobre as chaves usadas para criptografar dados em repouso.

    O suporte abrange três tipos de recursos: instâncias de banco de dados InfluxDB 2, Read Replicas do InfluxDB 2 e clusters InfluxDB 3. Em todos os casos, a chave selecionada é utilizada para criptografar o armazenamento subjacente do banco de dados.

    Como funciona na prática

    A configuração é feita no momento da criação do recurso: o cliente seleciona uma chave simétrica do AWS KMS e o Timestream para InfluxDB passa a utilizá-la automaticamente para proteger os dados armazenados. É importante destacar dois pontos de atenção:

    • A chave deve estar na mesma conta AWS e na mesma região do recurso de banco de dados.
    • A chave é definida apenas durante a criação do recurso — não é possível alterá-la depois.

    Como habilitar o recurso

    O suporte a CMK está disponível por três canais:

    • Console de Gerenciamento da AWS (AWS Management Console)
    • Interface de Linha de Comando da AWS (AWS CLI — AWS Command Line Interface)
    • Interface de Programação de Aplicações (API) do Timestream para InfluxDB

    Para começar, basta acessar o console do Amazon Timestream. Informações detalhadas estão disponíveis na documentação do Amazon Timestream para InfluxDB e na página de preços.

    Disponibilidade e custos

    O recurso está disponível em todas as regiões da AWS onde o Amazon Timestream para InfluxDB é oferecido. Do ponto de vista financeiro, a AWS não cobra nenhuma taxa adicional do Timestream para InfluxDB pelo uso de CMK — as cobranças que se aplicam são apenas as tarifas padrão do AWS KMS.

    Fonte

    Amazon Timestream for InfluxDB now supports customer managed keys (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-timestream-influxdb-cmk/)

  • Amazon EKS agora suporta rotação de Autoridade Certificadora (CA) com gerenciamento automatizado de ciclo de vida

    O que foi anunciado

    O Amazon Elastic Kubernetes Service (Amazon EKS) anunciou suporte à rotação de Autoridade Certificadora (CA), permitindo que os clientes rotem a CA do cluster por meio de um ciclo de vida gerenciado com salvaguardas automatizadas.

    Cada cluster do Amazon EKS possui sua própria CA, responsável por habilitar conexões criptografadas com a Interface de Programação de Aplicações (API) do Kubernetes. Com esse novo recurso, é possível realizar a rotação da CA antes de sua expiração, garantindo que o cluster continue operacional e seguro.

    Por que isso é relevante agora

    Os clusters do Amazon EKS criados desde o lançamento do serviço em 2018 possuem CAs com validade de 10 anos — ou seja, muitos desses clusters estão se aproximando do momento em que a rotação deve ser iniciada. É exatamente para esse cenário que a AWS desenvolveu esse mecanismo gerenciado.

    Responsabilidade compartilhada na rotação

    A rotação de CA no Amazon EKS segue um modelo de responsabilidade compartilhada:

    • A AWS gerencia o ciclo de vida da rotação e atualiza automaticamente os componentes gerenciados pela própria AWS para que passem a confiar na CA sucessora. Instâncias no EKS Auto Mode e nós do AWS Fargate são atualizados automaticamente.
    • Os clientes são responsáveis por substituir os worker nodes e atualizar clientes externos para que confiem na CA sucessora antes de sua ativação — inclusive quando utilizam EKS Auto Mode ou Fargate, no que diz respeito aos clientes externos que se conectam ao servidor de API do cluster.

    Salvaguardas automatizadas

    Para apoiar os clientes durante o processo, o Amazon EKS oferece um conjunto de proteções automáticas:

    • Notificações antecipadas antes da expiração da CA;
    • Adição automática de uma CA sucessora, caso o cliente não crie uma por conta própria;
    • Ativação automática da CA sucessora, caso o cliente não realize a ativação dentro do prazo;
    • Capacidade de rollback, permitindo reverter para a CA anterior caso algum problema surja durante a transição.

    Disponibilidade e como começar

    A rotação de CA no Amazon EKS está disponível sem custo adicional em todas as regiões comerciais da AWS. Para iniciar o processo, é possível utilizar o AWS CLI, as APIs do EKS, o CloudFormation ou o console da AWS.

    Para mais detalhes, consulte a documentação oficial do Amazon EKS e o artigo técnico Deep dive sobre rotação de Autoridade Certificadora no Amazon EKS.

    Fonte

    Amazon EKS now supports certificate authority (CA) rotation with automated lifecycle management (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-eks-certificate-authority-ca-rotation-automated-lifecycle-management)

  • Amazon CloudFront agora suporta Controle de Acesso de Origem (OAC) para Pontos de Acesso Multi-Região do S3

    O que foi anunciado

    A AWS anunciou que o Amazon CloudFront agora oferece suporte nativo ao Controle de Acesso de Origem (OAC — Origin Access Control) para os Pontos de Acesso Multi-Região (MRAP — Multi-Region Access Points) do Amazon S3. A novidade simplifica bastante a forma como equipes protegem seus conteúdos distribuídos globalmente.

    Como funciona essa combinação

    Quando times de engenharia utilizam o Amazon S3 MRAP junto ao CloudFront, o objetivo é servir conteúdo a partir de um único endpoint global. Esse endpoint roteia automaticamente as requisições para o bucket replicado mais próximo do usuário, sempre que ocorre um cache miss — ou seja, quando o conteúdo solicitado ainda não está em cache na borda. Esse modelo melhora tanto a performance quanto a resiliência para usuários distribuídos ao redor do mundo.

    Qual era o problema antes

    Até então, para proteger adequadamente os origens MRAP, as equipes precisavam calcular e encaminhar manualmente o cabeçalho de autorização SigV4a (Versão de Assinatura Assimétrica 4) usando uma função personalizada de Lambda@Edge. Esse processo adicionava complexidade operacional: era necessário manter código customizado apenas para lidar com a assinatura das requisições.

    O que muda com o novo suporte

    Com o suporte nativo ao OAC, o CloudFront passa a assinar automaticamente as requisições direcionadas às origens S3 MRAP — sem nenhuma função Lambda@Edge adicional. Na prática, isso traz dois ganhos diretos:

    • Preenchimento de cache mais rápido: as requisições de cache miss são resolvidas a partir da região mais próxima disponível.
    • Acesso restrito e seguro via OAC: o MRAP fica protegido sem a necessidade de computação personalizada do cabeçalho de autorização.

    Disponibilidade e como começar

    O suporte ao OAC do CloudFront para origens S3 MRAP está disponível mundialmente, com exceção da região CloudFront China. Para habilitar o recurso, basta acessar o Console do CloudFront, o SDK, a CLI ou o CloudFormation e ativar o OAC ao configurar o endpoint S3 MRAP desejado.

    Não há cobrança adicional associada a essa funcionalidade. Para mais detalhes técnicos, a AWS disponibiliza o Guia do Desenvolvedor do CloudFront com todas as instruções necessárias.

    Fonte

    Amazon CloudFront now supports Origin Access Control (OAC) for Amazon S3 Multi-Region Access Points (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-cloudfront-oac-s3-mrap)

  • AWS Network Firewall agora suporta contagem de hits por regra

    O problema que motivou a novidade

    Quem gerencia firewalls em ambientes corporativos sabe bem como conjuntos de regras crescem com o tempo. Novas regras são adicionadas para atender a requisitos de segurança, auditorias ou incidentes pontuais — e poucas são removidas. O resultado é um conjunto de regras cada vez mais extenso, com muitas entradas que podem nunca ser acionadas na prática.

    Até então, a única forma de descobrir quais regras do AWS Network Firewall estavam realmente correspondendo ao tráfego era analisar logs manualmente. Isso cria dois problemas sérios: operacional e de conformidade. Do ponto de vista operacional, equipes não conseguem identificar regras dormentes que consomem capacidade sem servir a nenhum propósito. Do ponto de vista de conformidade, frameworks como o Padrão de Segurança de Dados da Indústria de Cartões de Pagamento (PCI) 4.0 e a Lei de Resiliência Operacional Digital (DORA) exigem evidências de que controles específicos estão ativamente funcionando — e sem dados de ativação de regras, essa evidência simplesmente não existe.

    Para resolver esse cenário, a AWS anunciou o suporte a rule hit count (contagem de hits por regra) no Network Firewall, uma funcionalidade que entrega exatamente essa visibilidade de forma nativa e automática.

    Como funciona o rule hit count

    O rule hit count registra quantas vezes cada regra stateful corresponde ao tráfego de rede. O contador é incrementado sempre que uma regra gera um log de alerta — ou seja, regras com ações de alert, drop ou reject são contabilizadas automaticamente, pois essas ações produzem logs de alerta por padrão.

    Regras configuradas com a ação pass, por outro lado, não geram logs de alerta por padrão e, portanto, não aparecem na métrica de hit count. Para incluir esse tipo de regra na contagem, basta adicionar a palavra-chave alert dentro da própria regra de pass. Isso faz com que o tráfego continue sendo permitido normalmente, mas um log de alerta também seja gerado, tornando a regra visível na métrica. O exemplo abaixo, em sintaxe Suricata, ilustra esse padrão:

    pass tls $HOME_NET any -> $EXTERNAL_NET 443 (msg:"Pass and Log HTTPS traffic"; alert; sid:1000001; rev:1;)

    Essa regra permite o tráfego HTTPS ao destino pretendido e, ao mesmo tempo, gera um log de alerta para que a regra apareça no hit count.

    Metadados adicionados nos logs de alerta

    A funcionalidade também enriquece cada log de alerta com um bloco de metadados que identifica o grupo de regras responsável pelo match. Esse enriquecimento é automático e não requer configuração adicional:

    "aws_metadata": {
      "resource_arn": "arn:aws:network-firewall:us-east-1:123456789012:stateful-rulegroup/StatefulRuleGroup"
    }

    Para ilustrar como esse metadado aparece em um log completo, veja o exemplo abaixo:

    {
      "firewall_name": "egress-and-east-west-firewall",
      "availability_zone": "us-east-1a",
      "event_timestamp": "1786112515",
      "event": {
        "tx_guessed": true,
        "aws_category": "",
        "tx_id": 0,
        "app_proto": "http",
        "ip_v": 4,
        "src_ip": "10.2.1.205",
        "src_port": 46240,
        "event_type": "alert",
        "alert": {
          "severity": 3,
          "signature_id": 10000003,
          "rev": 0,
          "signature": "Egress HTTP but not port TCP/80",
          "action": "blocked",
          "category": ""
        },
        "ts_progress": "request_complete",
        "flow_id": 927132830538451,
        "dest_ip": "3.226.253.175",
        "proto": "TCP",
        "verdict": {
          "action": "drop"
        },
        "http": {
          "hostname": "3.226.253.175",
          "http_port": 4444,
          "url": "/",
          "http_user_agent": "curl/8.17.0",
          "http_method": "GET",
          "protocol": "HTTP/1.1",
          "length": 0
        },
        "tc_progress": "response_started",
        "dest_port": 4444,
        "pkt_src": "geneve encapsulation",
        "aws_metadata": {
          "resource_arn": "arn:aws:network-firewall:us-east-1:123456789012:stateful-rulegroup/StatefulRuleGroup"
        },
        "timestamp": "2026-08-07T14:21:55.611810+0000",
        "direction": "to_server"
      }
    }

    O Network Firewall envia esses logs de alerta para o Amazon CloudWatch Logs ou para o Amazon Simple Storage Service (Amazon S3). Para identificar qual regra específica gerou um alerta, basta combinar os campos sid (identificador de assinatura) e resource_arn na consulta. O dashboard de monitoramento do firewall usa exatamente esses campos para calcular e exibir os hit counts por regra, dispensando a necessidade de consultar os logs diretamente. Mas caso prefira análise customizada, é possível usar o CloudWatch Logs Insights para logs armazenados no CloudWatch, ou o Amazon Athena para logs no S3.

    Como começar a usar

    O rule hit count já vem habilitado por padrão no Network Firewall — não é necessária nenhuma configuração adicional. Assim que as regras do firewall estão em operação, o rastreamento de hits começa automaticamente.

    Pré-requisitos

    Para aproveitar o recurso, alguns pontos precisam estar configurados:

    • Firewall existente: É necessário ter um Network Firewall configurado para inspecionar tráfego de uma Amazon Virtual Private Cloud (Amazon VPC). Se ainda não tiver um, o guia de introdução ao AWS Network Firewall é o ponto de partida recomendado.
    • Entrega de logs de alerta configurada: O firewall precisa ter o log de alertas habilitado. Os metadados de hit count são capturados independentemente do destino dos logs, mas o dashboard nativo exige que os logs sejam enviados ao CloudWatch Logs ou ao Amazon S3.
    • Monitoramento detalhado habilitado: Para visualizar o painel de Top Rule Hits no console, é necessário habilitar o monitoramento detalhado nas configurações de log do firewall ou pela aba de Monitoramento no Console de Gerenciamento da AWS. Se você tiver uma solução de dashboard própria, os metadados necessários já estão presentes nos logs automaticamente — independentemente de o monitoramento detalhado estar ativo ou não.
    • Regras pass com a palavra-chave alert: Regras com ação pass não geram logs de alerta por padrão. Para que apareçam na métrica de hit count, inclua a palavra-chave alert nessas regras, conforme demonstrado anteriormente.

    Visualizando os dados no console

    Para acessar as métricas de hit count, abra o console do Network Firewall, selecione o firewall desejado e navegue até a seção Monitoring and observability. Em Top analysis, o painel Top Rule Hits exibe as regras stateful mais acionadas. É possível selecionar um período de lookback para filtrar a atividade dentro de um intervalo de tempo específico.

    O painel apresenta colunas para contagem de hits (com gráfico de barras e fração), percentual do total de hits, Resource ARN (Nome de Recurso da Amazon), Signature ID (identificador de assinatura), descrição da regra (campo msg da regra Suricata) e última ocorrência em UTC.

    Vale notar que os IDs de assinatura 2, 4, 6 e 8 são assinaturas geradas automaticamente pelo sistema, correspondentes às ações padrão da política de firewall em modo de ordem estrita. Como essas assinaturas têm origem na política — e não em um grupo de regras —, o campo resource_arn exibe o ARN da política de firewall em vez do ARN de um grupo de regras. Elas aparecem no Top Rule Hits quando a política tem ações padrão como Drop established, Alert established ou suas variantes de camada de aplicação configuradas. Essas assinaturas disparam em pacotes de conexão estabelecida que não correspondem a nenhuma regra explícita, aplicando a postura de negação padrão da política.

    Casos de uso práticos

    Identificando regras inativas

    Qualquer regra cujo Signature ID não apareça no painel de Top Rule Hits durante o período selecionado não correspondeu a nenhum tráfego naquele intervalo. Isso indica que a regra pode estar obsoleta ou posicionada incorretamente dentro do grupo de regras.

    Acelerando a resposta a incidentes

    Filtrando o painel pelo período de um incidente suspeito, a equipe consegue identificar rapidamente quais regras foram acionadas naquele intervalo — sem precisar percorrer manualmente milhares de entradas de log. Por exemplo: uma regra com a descrição traffic_to_oast [oast[.]fun] com seis hits pode indicar que um atacante está tentando exfiltrar dados ou validar uma vulnerabilidade no ambiente.

    Validando regras recém-adicionadas

    Após adicionar uma nova regra para monitorar ou restringir tráfego — como uma regra de geofencing para bloquear conexões a países fora dos Estados Unidos, ou uma regra para categorizar tráfego a domínios de Inteligência Artificial e Aprendizado de Máquina (IA/ML) —, o hit count confirma se a regra está sendo acionada conforme esperado. Isso fornece evidência concreta de que os controles implantados estão funcionando.

    Preços

    O rule hit count está incluído no Network Firewall sem custo adicional. No entanto, as tarifas padrão se aplicam ao armazenamento e à consulta dos dados de log. Se os logs forem enviados ao CloudWatch Logs, aplicam-se os preços do CloudWatch. Se forem armazenados no Amazon S3 e consultados via Athena, aplicam-se as tarifas padrão de armazenamento do S3 e de consulta do Athena. Para detalhes completos, consulte a página de preços do AWS Network Firewall.

    Considerações importantes

    • Para gerenciar custos, revise a utilização dos logs e configure políticas de filtragem ou retenção.
    • O rule hit count se aplica apenas a regras stateful. Regras stateless não suportam rastreamento de hit count no momento.
    • O recurso está disponível em todas as regiões AWS onde o Network Firewall é suportado, exceto Oriente Médio (Emirados Árabes Unidos) e Oriente Médio (Bahrein).

    Conclusão

    O rule hit count é uma adição relevante para equipes que precisam de mais visibilidade sobre a efetividade das suas políticas de firewall. A funcionalidade resolve um problema concreto e recorrente: saber quais regras realmente fazem alguma coisa. Com ela, é possível limpar conjuntos de regras obsoletos, demonstrar conformidade com evidências reais e reagir mais rápido durante investigações de segurança.

    Para mais informações sobre o serviço, consulte a documentação do AWS Network Firewall.

    Fonte

    AWS Network Firewall now supports rule hit count (https://aws.amazon.com/blogs/security/aws-network-firewall-now-supports-rule-hit-count/)

  • Como propagar o contexto de autorização do usuário em agentes de IA com o Amazon Bedrock AgentCore

    O problema: agentes de IA sem consciência de quem está perguntando

    Times de engenharia que implantam agentes de IA frequentemente conectam esses agentes a tabelas do Amazon DynamoDB, repositórios de documentos, plataformas de Software como Serviço (SaaS) e bases de conhecimento internas. O risco central nesse cenário é que o agente, por padrão, não sabe quem está fazendo a pergunta — e pode acabar retornando dados que o usuário não deveria ver.

    Para endereçar esse problema, a AWS publicou um guia técnico detalhado sobre como usar o Amazon Bedrock AgentCore para propagar o contexto de autorização do usuário por toda a cadeia de acesso a dados. A abordagem segue a boa prática AGENTSEC03 do AWS Well-Architected Agentic AI Lens.

    O princípio central é direto: o agente atua como orquestrador, não como guardião. Ele coordena chamadas e raciocínio, mas quem decide o que cada usuário pode acessar são os serviços de infraestrutura subjacentes — não o código do agente.

    Caso de uso: CRM com departamentos isolados

    O guia usa como exemplo uma aplicação de chat para Gestão de Relacionamento com o Cliente (CRM), onde funcionários de Vendas e Financeiro interagem com o mesmo agente de IA para acessar informações de clientes. Embora a interface seja a mesma, cada departamento precisa de acesso isolado:

    • Vendas acessa contratos de clientes, estratégias de precificação e dados do pipeline de vendas.
    • Financeiro acessa faturas, registros de pagamento e relatórios financeiros.

    O agente acessa três tipos de fontes de dados em nome dos usuários: registros de clientes no Amazon DynamoDB (particionados por departamento), documentos específicos por departamento no Amazon Bedrock Knowledge Bases (armazenados no Amazon Simple Storage Service — Amazon S3), e dados externos de CRM no Salesforce.

    A regra é clara: quando um funcionário de Vendas pergunta “Mostre os contratos de clientes”, o agente deve retornar apenas contratos de Vendas — nunca faturas do Financeiro. E esse controle precisa acontecer fora do agente, para que mesmo em caso de comprometimento por injeção de prompt ou bugs, o acesso não autorizado seja bloqueado.

    Visão geral da arquitetura

    O fluxo de dados da arquitetura proposta funciona da seguinte forma:

    1. O usuário abre a aplicação web e se autentica com o Amazon Cognito user pool, que atua como Provedor de Identidade (IdP).
    2. Um gatilho Lambda de pré-geração de token (V2) enriquece os Tokens Web JSON (JWTs) com uma claim personalizada e metadados de session tag do AWS STS antes de retorná-los ao usuário.
    3. A aplicação web encaminha a requisição do usuário junto com o token de acesso para o agente implantado no Bedrock AgentCore Runtime.
    4. O AgentCore Runtime valida o JWT de entrada e, por meio do Bedrock AgentCore Identity, emite um token de acesso de workload que vincula as identidades do usuário e do agente.
    5. Para consultas que exigem documentos internos, o agente usa sua função do AWS Identity and Access Management (IAM) para consultar o Amazon Bedrock Knowledge Bases com filtragem de metadados, e o DynamoDB com credenciais temporárias com escopo de usuário via session tags.
    6. Para dados externos, o AgentCore Identity recupera credenciais do AWS Secrets Manager e realiza uma troca de token on-behalf-of (RFC 8693) com o Salesforce, retornando um token de acesso com escopo de usuário.
    Imagem original — fonte: Aws

    Autenticação inicial e enriquecimento do token

    Quando o funcionário abre a aplicação, ele se autentica com suas credenciais corporativas usando o Amazon Cognito user pools como IdP. O gatilho Lambda de pré-geração de token (V2) captura o contexto de departamento do usuário e o adiciona tanto ao token de identidade (ID token) quanto ao token de acesso.

    O token de acesso é usado pelo autorizador JWT personalizado do AgentCore Runtime para autorização de entrada. O ID token recebe a claim https://aws.amazon.com/tags, que é o formato específico exigido pelo AWS Security Token Service (AWS STS) para extrair session tags durante o AssumeRoleWithWebIdentity. Para mais detalhes, a AWS disponibiliza o guia Como personalizar tokens de acesso no Amazon Cognito user pools.

    O código a seguir mostra a lógica principal dentro de uma função Lambda handler configurada como gatilho no Amazon Cognito user pool. Esse código roda automaticamente quando o usuário se autentica, extraindo o atributo de departamento e adicionando-o como uma claim personalizada em ambos os tokens:

    import json
    def lambda_handler(event, context):
        department = event['request']['userAttributes'].get('custom:department', '')
        event['response']['claimsAndScopeOverrideDetails'] = {
            'idTokenGeneration': {
                'claimsToAddOrOverride': {
                    'department': department,
                    'https://aws.amazon.com/tags': {
                        "principal_tags": {"department": [department]},
                        "transitive_tag_keys": ["department"]
                    }
                }
            },
            'accessTokenGeneration': {
                'claimsToAddOrOverride': {
                    'department': department
                }
            }
        }
        return event

    Autorização de entrada pelo AgentCore Runtime

    Quando a requisição chega ao AgentCore Runtime, o autorizador JWT de entrada realiza duas verificações: valida o token JWT com o Amazon Cognito (verificando assinatura criptográfica, expiração e emissor confiável) e extrai a claim de departamento do token validado, comparando-a com o valor esperado na configuração do autorizador. Qualquer token sem uma claim correspondente é rejeitado antes mesmo de o código do agente ser invocado.

    Imagem original — fonte: Aws

    O exemplo abaixo mostra a configuração do autorizador JWT de entrada. O campo inboundTokenClaimName é department, o inboundTokenClaimValueType declara o tipo como STRING_ARRAY, e o authorizingClaimMatchValue especifica os valores permitidos (["Sales", "Finance"]) com o operador CONTAINS_ANY:

    authorizer_config = {
        "customJWTAuthorizer": {
            "discoveryUrl": discovery_url,
            "allowedClients": [client_id],
            "customClaims": [
                {
                    "inboundTokenClaimName": "department",
                    "inboundTokenClaimValueType": "STRING_ARRAY",
                    "authorizingClaimMatchValue": {
                        "claimMatchValue": ["Sales", "Finance"]
                        "claimMatchOperator": "CONTAINS_ANY"
                    }
                }
            ]
        }
    }

    Vale destacar que o AgentCore Runtime cria automaticamente uma identidade de workload para cada agente implantado. Essa identidade representa a identidade digital do agente no ambiente AWS, permitindo que ele mantenha identidade consistente ao usar funções IAM para acesso a recursos AWS, tokens OAuth 2.0 para integração com serviços externos, ou chaves de API para acesso a ferramentas de terceiros.

    Padrão 1: Escopo de acesso ao DynamoDB por usuário

    Para o acesso ao DynamoDB, a abordagem usa o AssumeRoleWithWebIdentity com session tags para criar credenciais com escopo de usuário por requisição. O agente passa o ID token assinado do usuário para o AWS STS, que extrai a tag de departamento da claim https://aws.amazon.com/tags e retorna credenciais temporárias restritas à partição de dados daquele departamento.

    Isso move o controle de acesso do código do agente para a avaliação de políticas IAM. O STS também valida a claim de audiência (aud) do token contra a configuração do provedor OIDC do IAM, impedindo que tokens emitidos para outros clientes de aplicação sejam usados para assumir a função.

    Como pré-requisito de configuração única, é necessário registrar o Amazon Cognito como um provedor OIDC no IAM e configurar a política de confiança da UserScopedDynamoDBRole para incluir as permissões sts:AssumeRoleWithWebIdentity e sts:TagSession:

    {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Principal": {
          "Federated": "arn:aws:iam::111122223333:oidc-provider/cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE"
        },
        "Action": [
          "sts:AssumeRoleWithWebIdentity",
          "sts:TagSession"
        ],
        "Condition": {
          "StringEquals": {
            "cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE:aud": "<app-client-id>"
          }
        }
      }]
    }

    Por padrão, o AgentCore Runtime descarta cabeçalhos personalizados por segurança. Para permitir que o cabeçalho X-Id-Token chegue ao container do agente, é preciso configurá-lo no requestHeaderAllowlist do runtime:

    request_header_config = {
        'requestHeaderAllowlist': ['X-Id-Token']
    }

    O código do agente para assumir a função com escopo de usuário é o seguinte:

    def _scoped_dynamodb_resource(id_token: str):
        """Assume user-scoped role and return DynamoDB resource."""
        sts = boto3.client('sts')
        response = sts.assume_role_with_web_identity(
            RoleArn=USER_SCOPED_DYNAMODB_ROLE_ARN,
            RoleSessionName="agent-user-session",
            WebIdentityToken=id_token,
            DurationSeconds=900
        )
        creds = response['Credentials']
        session = boto3.Session(
            aws_access_key_id=creds['AccessKeyId'],
            aws_secret_access_key=creds['SecretAccessKey'],
            aws_session_token=creds['SessionToken']
        )
        return session.resource('dynamodb')

    O AWS STS extrai a claim https://aws.amazon.com/tags e cria uma sessão com aws:PrincipalTag/department definido. A política de permissão na função usa a condição dynamodb:LeadingKeys vinculada a essa tag, garantindo que apenas a partição do departamento do usuário seja acessível — e esse controle acontece na camada de política IAM, não no código do agente:

    {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Action": ["dynamodb:GetItem", "dynamodb:Query"],
        "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/CustomerRecords",
        "Condition": {
          "ForAllValues:StringEquals": {
            "dynamodb:LeadingKeys": ["${aws:PrincipalTag/department}"]
          }
        }
      }]
    }

    Padrão 2: Autorização com escopo de usuário no Amazon Bedrock Knowledge Bases

    Para documentos armazenados no Amazon Bedrock Knowledge Bases, o agente aplica filtragem de metadados no momento da consulta. Cada documento é marcado com um atributo de metadados Department durante a ingestão. Os arquivos de metadados ficam no Amazon S3 com o mesmo nome do arquivo-fonte e sufixo .metadata.json:

    {"metadataAttributes": {"Department": "Sales"}}

    Quando o agente consulta o Amazon Bedrock Knowledge Bases, ele chama a ação bedrock:Retrieve e adiciona o filtro de configuração de recuperação com escopo para o departamento do usuário. O valor do departamento é extraído do token de acesso JWT recebido durante a autorização de entrada:

    response = client.retrieve(
        knowledgeBaseId=KNOWLEDGE_BASE_ID,
        retrievalQuery={"text": user_query},
        retrievalConfiguration={
            "vectorSearchConfiguration": {
                "filter": {"equals": {"key": "Department", "value": department}}
            }
        }
    )

    Importante: a filtragem de metadados é um controle na camada de aplicação. A API bedrock:Retrieve não expõe o conteúdo do filtro de metadados como uma chave de condição IAM. Para isolamento mais rigoroso, a AWS recomenda considerar bases de conhecimento separadas por departamento com políticas IAM em nível de recurso.

    Padrão 3: Acesso a serviços externos via troca de token on-behalf-of

    Para serviços externos como o Salesforce, que não suportam controle de acesso baseado em IAM, é necessário um mecanismo diferente para propagar a identidade do usuário. A troca de token On-Behalf-Of (OBO) do AgentCore Identity (RFC 8693) resolve isso trocando a identidade autenticada do usuário por um token com escopo de usuário que o serviço externo reconhece e aplica nativamente.

    O guia compara três padrões OAuth suportados pelo AgentCore Identity para acesso a serviços externos:

    • Client Credentials — OAuth de Duas Pernas (2LO) ou máquina a máquina (M2M): o agente autentica como conta de serviço e recebe um token com acesso amplo. Adequado para dados organizacionais não vinculados a um usuário individual. Veja mais em Empower AI agents with user context using Amazon Cognito.
    • Authorization Code — OAuth de Três Pernas (3LO): o usuário consente explicitamente via redirecionamento no navegador. Funciona quando é necessário consentimento por serviço, mas exige interação do usuário, o que é impraticável para operações em segundo plano. Veja mais em Secure AI agents with Amazon Bedrock AgentCore Identity on Amazon ECS.
    • Troca de token OBO: a identidade já autenticada do usuário é trocada por um token com escopo de serviço sem interação adicional do usuário, e o serviço externo aplica o controle de acesso. É o padrão mais adequado para este caso de uso.

    O OBO propaga a identidade do usuário de ponta a ponta sem que o agente armazene credenciais, escala automaticamente sem armazenamento de token por usuário, e permite que serviços downstream apliquem sua própria autorização (regras de compartilhamento, Controle de Acesso Baseado em Função — RBAC).

    Imagem original — fonte: Aws

    O código do agente usa o decorator @requires_access_token para invocar o fluxo OBO:

    @requires_access_token(
        provider_name="salesforce-token-exchange",
        scopes=[],
        auth_flow="ON_BEHALF_OF_TOKEN_EXCHANGE",
    )
    def _get_salesforce_token_sync(*, access_token: str) -> str:
        return access_token

    No Salesforce, é necessário registrar o Amazon Cognito como provedor de autenticação OpenID Connect, configurar um handler de troca de token (classe Apex estendendo Auth.Oauth2TokenExchangeHandler) que resolve usuários pelo FederationIdentifier, e configurar regras de compartilhamento para acesso com escopo de departamento. O ID de federação (sub) é imutável e não pode ser forjado pelo agente, pois origina do token de identidade assinado criptograficamente.

    Como resultado, nenhum filtro de departamento é necessário na consulta Salesforce Object Query Language (SOQL) — as regras de compartilhamento do Salesforce aplicam o controle de acesso nativamente:

    @tool
    def query_salesforce_opportunities(query_text: str) -> str:
        access_token = _get_salesforce_token_sync()
        # No department filter needed. Salesforce sharing rules enforce access.
        soql = "SELECT Id, Name, Amount, StageName, CloseDate FROM Opportunity ORDER BY CloseDate DESC LIMIT 10"
        response = requests.get(
            f"{SALESFORCE_URL}/services/data/v59.0/query?q={urllib.parse.quote(soql)}",
            headers={"Authorization": f"Bearer {access_token}"},
            timeout=30,
        )
        return json.dumps(response.json().get("records", []))

    Conclusão e próximos passos

    A arquitetura apresentada pela AWS demonstra como implementar autorização consistente de ponta a ponta em aplicações de IA agêntica, propagando o contexto do usuário do Amazon Cognito pelo Amazon Bedrock AgentCore até os recursos downstream. Os três padrões cobertos são:

    • Credenciais temporárias com escopo de usuário por requisição usando AssumeRoleWithWebIdentity com session tags, avaliadas por políticas IAM de Controle de Acesso Baseado em Atributos (ABAC) para acesso ao Amazon DynamoDB.
    • Filtragem de metadados com escopo de departamento na camada de aplicação para acesso ao Amazon Bedrock Knowledge Bases.
    • Troca de token on-behalf-of (RFC 8693) usando o AgentCore Identity, com regras de compartilhamento nativas do Salesforce governando o acesso a dados externos de CRM.

    O ponto central é que o agente coordena o trabalho, mas não decide quem pode acessar o quê. As decisões de acesso são tomadas por controles de infraestrutura e pelo modelo de autorização dos serviços downstream. Essa abordagem em camadas garante que, mesmo que o agente se comporte de forma inesperada, o acesso não autorizado a dados ainda seja bloqueado.

    Para explorar mais, a AWS disponibiliza os seguintes recursos:

    Fonte

    Propagate user authorization context in AI agents with Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/security/propagate-user-authorization-context-in-ai-agents-with-amazon-bedrock-agentcore/)

  • Amazon SageMaker Notebooks agora suportam propagação de identidade confiável

    O que foi anunciado

    A AWS anunciou que os notebooks do Amazon SageMaker agora suportam a Propagação de Identidade Confiável (TIP — Trusted Identity Propagation), com integração aos serviços Amazon Athena, Amazon Redshift e Amazon EMR Serverless. O objetivo é habilitar controle de acesso granular por usuário em fluxos de análise de dados.

    Como funciona na prática

    Quando um notebook está conectado a um ambiente de computação habilitado para TIP, dentro de um Projeto também habilitado para TIP, a identidade de cada usuário no Centro de Identidade do IAM (IAM Identity Center) é automaticamente propagada até o AWS Lake Formation. Isso significa que cada pessoa enxerga somente as tabelas, colunas e linhas que suas permissões individuais permitem — sem que seja necessário compartilhar uma única função de execução ampla entre todos os usuários do ambiente.

    Em outras palavras, o controle de acesso deixa de ser genérico e passa a ser individual: quem executa a consulta define o que pode ser visto.

    Principais benefícios

    • Fronteiras de dados por usuário: o acesso é aplicado com base em quem está executando a consulta, não em uma função de serviço compartilhada.
    • Auditoria completa: o AWS CloudTrail registra qual usuário acessou quais dados, garantindo rastreabilidade total das operações.
    • Menos atrito administrativo: a identidade é propagada automaticamente pela conexão de computação existente, sem necessidade de login adicional, gerenciamento de tokens ou configuração de funções extras.

    Como começar

    Para utilizar o recurso, basta usar um notebook dentro de um Projeto habilitado para TIP com os mecanismos de processamento suportados. O recurso está disponível em todas as regiões AWS onde o Amazon SageMaker Unified Studio está disponível.

    Para aprofundar o conhecimento, a AWS disponibiliza a documentação oficial sobre Propagação de Identidade Confiável no Guia do Administrador do Amazon SageMaker Unified Studio e sobre Notebooks no Guia do Usuário do Amazon SageMaker Unified Studio.

    Fonte

    Amazon SageMaker notebooks now support trusted identity propagation (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-sagemaker/)

  • Amazon CloudWatch Pipelines ganha processadores de GeoIP, RDS e XML

    Novos processadores chegam ao CloudWatch Pipelines

    A AWS anunciou a adição de três novos processadores ao Amazon CloudWatch Pipelines: um parser de logs do Amazon RDS, um parser de XML e um processador de enriquecimento por GeoIP. A novidade amplia as capacidades de transformação de dados de telemetria diretamente na ingestão, sem a necessidade de gerenciar infraestrutura adicional.

    Para quem ainda não conhece o serviço: o CloudWatch Pipelines é um serviço totalmente gerenciado que ingere, transforma e roteia dados de telemetria para o CloudWatch. A proposta é eliminar a necessidade de pipelines customizados e servidores dedicados para esse tipo de processamento.

    O problema que esses processadores resolvem

    Fontes de log comuns produzem dados em formatos que não são consultáveis diretamente — é preciso reprocessá-los antes de qualquer análise. Três cenários clássicos ilustram bem o desafio:

    • Logs do RDS Aurora chegam no formato nativo do mecanismo de banco de dados, sem estrutura padronizada;
    • Logs de aplicação frequentemente carregam payloads em XML embutidos em campos de texto;
    • Endereços IP presentes nos logs não trazem nenhum contexto geográfico por padrão.

    Os três novos processadores foram criados exatamente para endereçar cada um desses casos.

    O que cada processador faz

    Parser de logs do Amazon RDS

    Converte logs de auditoria e de erros do Aurora em campos estruturados. Isso facilita, por exemplo, a geração de relatórios de conformidade a partir de logs de auditoria do banco de dados, sem precisar de etapas extras de transformação.

    Parser de XML

    Converte um campo que contém uma string XML em JSON. Um caso de uso prático é a extração do payload XML presente em logs do Windows Event Log, tornando os dados consultáveis de forma mais simples e eficiente.

    Processador de GeoIP

    Enriquece qualquer campo de endereço IP com contexto geográfico, incluindo cidade, país e coordenadas. Combinado com o parser de XML, por exemplo, é possível identificar a origem geográfica de eventos de segurança diretamente no pipeline.

    Como usar na prática

    Os processadores podem ser utilizados de forma independente ou combinados em um único pipeline. A AWS exemplifica dois cenários:

    • Fazer o parse de um log de auditoria do Aurora em campos estruturados para relatórios de conformidade;
    • Extrair o payload XML de um Windows Event Log em JSON e resolver o IP de origem para cidade e país, tudo em um único pipeline voltado à análise de segurança.

    Disponibilidade e custos

    Os três processadores estão disponíveis sem custo adicional em todas as regiões da AWS onde o CloudWatch Pipelines já está em disponibilidade geral. As taxas normais de ingestão e armazenamento de logs do CloudWatch continuam se aplicando.

    A configuração pode ser feita pelo Console de Gerenciamento da AWS, pela AWS CLI ou pelos AWS SDKs. Para começar, a AWS disponibiliza a documentação oficial do CloudWatch Pipelines com todos os detalhes sobre os novos processadores.

    Fonte

    Amazon CloudWatch pipelines adds GeoIP, RDS, and XML processors (https://aws.amazon.com/about-aws/whats-new/2026/08/cloudwatch-geoip-rds-xml/)

  • Amazon CloudWatch Centralization agora propaga tags dos grupos de log para contas de destino

    O que mudou no CloudWatch Centralization

    A AWS anunciou uma atualização importante no Amazon CloudWatch Centralization: a funcionalidade agora copia automaticamente as tags dos grupos de log das contas de origem para os grupos de log criados nas contas de destino pelas regras de centralização.

    Para quem não está familiarizado com o recurso, o CloudWatch Centralization permite agregar dados de log de múltiplas contas e regiões em uma única conta de destino — o que simplifica bastante o monitoramento em ambientes com múltiplas contas AWS.

    Por que a propagação de tags faz diferença

    Antes dessa atualização, as tags que as equipes mantinham nos grupos de log das contas de origem — como tags de custo, propriedade e conformidade — não acompanhavam os logs ao serem centralizados. Isso criava uma lacuna: os dados chegavam na conta central, mas sem o contexto de governança que as tags carregam.

    Com a propagação de tags, as tags do grupo de log de origem passam a ser aplicadas ao grupo de log correspondente na conta de destino, e ficam sincronizadas de acordo com o comportamento de propagação definido durante a configuração da regra de centralização.

    Exemplo prático de uso

    Um caso de uso direto mencionado pela AWS: uma equipe de plataforma pode preservar tags como Application e CostCenter nos grupos de log centralizados. Com isso, é possível:

    • Usar essas tags para definir escopo de acesso via condições do Gerenciamento de Identidade e Acesso (IAM);
    • Gerar relatórios de gasto centralizado de logs por equipe diretamente no AWS Cost Explorer.

    Ou seja, a atualização conecta dois pontos que antes exigiam trabalho manual: centralizar logs e manter a rastreabilidade de custos e responsabilidades por equipe.

    Disponibilidade e como ativar

    A propagação de tags está disponível em todas as regiões AWS onde o CloudWatch Centralization já está habilitado. Para verificar a lista de regiões suportadas, consulte a tabela de regiões AWS.

    Para ativar o recurso, basta habilitar a propagação de tags em uma regra de centralização existente pelo console do Amazon CloudWatch, ou via Interface de Linha de Comando (AWS CLI) ou SDKs da AWS.

    Para se aprofundar no funcionamento da centralização de logs com preservação de tags, a AWS disponibiliza o Guia do usuário de centralização de logs. Informações sobre preços estão na página de preços do Amazon CloudWatch.

    Fonte

    Amazon CloudWatch log Centralization now supports log group tag propagation (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-cloudwatch-centralization-tag-propogation/)

  • Atualização Crítica de Segurança do Amazon Corretto — Agosto de 2026

    O que foi anunciado

    Em 18 de agosto de 2026, a AWS publicou uma Atualização Crítica de Patch de Segurança — em inglês, Critical Security Patch Update (CSPU) — para o Amazon Corretto. O pacote de correções abrange tanto as versões de Suporte de Longo Prazo (Long-Term Support, LTS) quanto as versões de Lançamento de Funcionalidades (Feature Release, FR) do OpenJDK distribuídas pelo Corretto.

    Versões corrigidas

    As seguintes versões já estão disponíveis para download:

    • Corretto 26.0.2.11.1
    • Corretto 25.0.4.8.1
    • Corretto 21.0.12.9.1
    • Corretto 17.0.20.10.1
    • Corretto 11.0.32.10.1
    • Corretto 8u504

    Ou seja, toda a família de versões ativamente mantidas pelo Corretto recebeu correções neste ciclo — do Corretto 8, ainda amplamente usado em sistemas legados, até o Corretto 26, a versão mais recente disponível.

    O que é o Amazon Corretto

    Para quem ainda não conhece: o Amazon Corretto é uma distribuição do OpenJDK sem custo, multiplataforma e pronta para uso em ambientes de produção. A AWS mantém o Corretto como uma alternativa robusta ao JDK padrão, com suporte de longo prazo e patches de segurança regulares — exatamente como este anunciado agora.

    Por ser baseado no OpenJDK, o Corretto é compatível com aplicações Java existentes sem necessidade de modificações, o que o torna uma escolha popular em workloads corporativas na nuvem e on-premises.

    Como obter as atualizações

    Há duas formas principais de aplicar as correções:

    • Download direto: acesse a página oficial do Corretto e baixe o instalador correspondente à sua versão — estão disponíveis o Corretto 26, 25, 21, 17, 11 e 8.
    • Via repositório Linux: para sistemas Linux, é possível receber as atualizações configurando um repositório Corretto via Apt, Yum ou Apk, dependendo da distribuição utilizada. Essa abordagem facilita a gestão de atualizações em ambientes automatizados e pipelines de CI/CD.

    Por que aplicar agora

    Atualizações classificadas como críticas de segurança merecem atenção imediata. Vulnerabilidades no runtime Java podem expor aplicações a riscos sérios, especialmente em ambientes que processam dados sensíveis ou ficam expostos à internet. A recomendação para equipes que utilizam o Corretto em produção é priorizar a atualização para as versões corrigidas o quanto antes.

    Contribuições e feedback

    A AWS convida a comunidade a enviar feedback e contribuições pelo repositório oficial do Corretto no GitHub.

    Fonte

    Amazon Corretto August 2026 Critical Security Patch Updates (https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-corretto-august-2026-security-updates)