Category: Uncategorized

  • Proteja workloads de containers na AWS com regras baseadas em atributos no Network Firewall

    O problema com IPs efêmeros em ambientes de containers

    Quem já operou clusters Kubernetes em produção conhece bem o desafio: pods sobem, morrem e reiniciam o tempo todo, e cada vez que isso acontece, o endereço IP muda. Manter regras de firewall baseadas nesses IPs é uma tarefa ingrata — trabalhosa, propensa a erros e, na prática, uma fonte constante de brechas de segurança.

    O AWS Network Firewall já era capaz de proteger o tráfego de aplicações containerizadas no Amazon Elastic Kubernetes Service (Amazon EKS) e no Amazon Elastic Container Service (Amazon ECS). Mas a dependência de endereços IP para definir regras tornava a gestão dessas políticas complexa em ambientes dinâmicos.

    Isso vale especialmente para workloads de Inteligência Artificial e Machine Learning (IA/ML) rodando no Amazon EKS — como inferência de modelos, pipelines de Geração Aumentada por Recuperação (RAG) e ambientes JupyterHub. Essas cargas de trabalho exigem as mesmas proteções de firewall aplicadas a qualquer outra aplicação, e a rotatividade de IPs torna essa proteção ainda mais difícil de garantir.

    As Kubernetes Network Policies oferecem controle básico de tráfego no nível de namespace, operando nas camadas 3 e 4 do modelo de rede. Dependendo dos requisitos de segurança, pode ser necessário ir além: inspeção de camada 7, filtragem por Nome de Domínio Totalmente Qualificado (FQDN), e proteção via regras gerenciadas de Sistema de Detecção e Prevenção de Intrusões (IDS/IPS). Além disso, saber exatamente qual pod ou serviço gerou um tráfego bloqueado é fundamental para investigações e auditorias.

    A solução: regras baseadas em atributos de containers

    A AWS introduziu o suporte a regras baseadas em atributos de containers no Network Firewall. Com esse recurso, é possível definir políticas de firewall usando atributos nativos do Kubernetes — como namespaces, nomes de pods, nomes de clusters e labels — em vez de depender de IPs efêmeros.

    O funcionamento é direto: ao criar uma associação de container (container association) vinculada ao cluster EKS, o Network Firewall passa a descobrir e monitorar automaticamente os pods que correspondem aos atributos definidos, resolvendo-os para seus endereços IP atuais. Quando pods escalam, reiniciam ou migram entre nós, o mapeamento de IP é atualizado em tempo quase real — sem necessidade de intervenção manual ou edição de regras.

    Em ambientes com múltiplos clusters, o recurso viabiliza inspeção centralizada de tráfego entre clusters para qualquer tráfego que passe pelo endpoint do firewall.

    Outro benefício relevante é o enriquecimento dos logs de alerta com contexto de container. Os logs agora incluem um novo campo de metadados com o nome da associação de container relacionada à regra que foi acionada. Isso permite que equipes de segurança rastreiem tráfego bloqueado, permitido ou alertado diretamente até a workload de origem. Esses logs enriquecidos são exportados para o Amazon CloudWatch Logs e para o Amazon Simple Storage Service (Amazon S3), de onde podem ser encaminhados para o SIEM de preferência da equipe.

    Vale destacar: o recurso está incluído no plano base do Network Firewall, sem custo adicional.

    Como funciona na prática

    O Network Firewall monitora continuamente o cluster EKS em busca de eventos de ciclo de vida dos pods (criação e exclusão) nos namespaces cobertos pela definição da associação de container. Essa definição é armazenada em uma associação de container, indexada por nome e valor de atributo.

    Após a publicação, esses grupos de atributos são referenciados nas regras Suricata usando aliases com o prefixo @. Veja alguns padrões comuns:

    Regra por grupo de pods — Permitir apenas pods do serviço de pagamento para acessar o gateway externo via TLS:

    pass tls @ecommerce_pods any -> any 443 (msg:"allow ecommerce to payment gateway"; tls.sni; content:"checkip.amazonaws.com"; flow:to_server,established; sid:1; rev:1;)

    Regra de aplicação de camada 7 — Bloquear todos os pods de acessar destinos maliciosos:

    drop tls @all-pods any -> $EXTERNAL_NET any (msg:"Block malicious sites"; aws_domain_category:malicious-sites; sid:10; rev:1;)

    No momento da avaliação de pacotes, o Network Firewall expande cada referência @ contra o catálogo atual de IPs. Quando pods escalam, reiniciam ou se movem entre nós, o controlador atualiza a associação de grupo e o firewall absorve os novos IPs — sem edições de regras ou intervenção do operador.

    Passo a passo: configurando o recurso

    O recurso pode ser configurado pelo console da Amazon Virtual Private Cloud (Amazon VPC), pela Interface de Linha de Comando da AWS (AWS CLI) ou pelo AWS SDK.

    Pré-requisito: é necessário ter um Network Firewall já configurado para filtrar tráfego na VPC. Caso ainda não tenha, a documentação oficial tem um guia de introdução ao AWS Network Firewall.

    Passo 1 — Criar a associação de container

    No console do Amazon VPC, acesse Network Firewall e selecione Container associations. Clique em Create container association e preencha:

    • Um nome e uma descrição opcional para a associação;
    • Em Cluster configuration, selecione o tipo de cluster e escolha o cluster EKS desejado;
    • Em Attribute filters, configure os atributos EKS para identificar quais pods serão associados. Por exemplo: Attribute key como namespace e Attribute value como ecommerce.

    Passo 2 — Criar a regra de firewall baseada em atributos

    Ainda no console do Amazon VPC, acesse Network Firewall rule groups e clique em Create rule group. Configure:

    • Rule group type: Stateful rule group;
    • Rule group format: Suricata compatible rule string;
    • Rule evaluation order: Strict order.

    Na próxima etapa, defina nome, descrição e capacidade para o grupo de regras. Em seguida, na seção IP set references, insira um nome de variável e selecione a associação de container criada no passo anterior como Resource ID.

    No campo Suricata compatible rule string, insira as regras desejadas. O exemplo utilizado no artigo original da AWS é:

    pass tls @ecommerce_pods any -> any any (msg:"allow ecommerce to payment gateway"; flow:to_server; tls.sni; dotprefix; content:".checkip.amazonaws.com"; endswith; nocase; alert; sid:101; rev:1;)
    reject tls @ecommerce_pods any -> any 443 (msg:"block ecommerce pods to external ecommerce website"; flow:to_server; tls.sni; dotprefix; content:".amazon.com"; endswith; nocase; alert; sid:104; rev:1;)

    Confirme as configurações e crie o grupo de regras.

    Testando as regras

    Para verificar se as regras estão funcionando corretamente, o teste pode ser feito com o comando curl em um pod do namespace ecommerce:

    Teste 1 — Tráfego permitido:

    kubectl exec -n ecommerce deployment/payment-service -- curl -sk --max-time 5 -w "\nHTTP_CODE:%{http_code}\n" https://checkip.amazonaws.com/
    HTTP_CODE:200

    Teste 2 — Tráfego bloqueado:

    kubectl exec -n ecommerce deployment/payment-service -- curl -sk --max-time 5 https://www.amazon.com 2>&1
    curl: (35) Recv failure: Connection reset by peer
    command terminated with exit code 35

    No primeiro caso, a requisição ao gateway de pagamento retorna HTTP 200, pois a ação pass está definida na regra. No segundo, a conexão é recusada com o código de saída 35, porque a ação reject está configurada para aquele destino.

    Considerações importantes antes de adotar o recurso

    A AWS destaca alguns pontos de atenção que merecem avaliação antes de colocar o recurso em produção:

    • Source NAT (SNAT) deve estar desabilitado. Para que o Network Firewall consiga enxergar os IPs dos pods, o SNAT não pode estar ativo. Se estiver habilitado, apenas o IP do nó ficará visível, impedindo o controle granular no nível de pod.
    • Tráfego pod-a-pod no mesmo nó não é coberto. O recurso não consegue inspecionar tráfego entre pods que estejam no mesmo nó, pois esse tráfego não passa pelo endpoint do Network Firewall. Para esse cenário, uma solução complementar é necessária.
    • Impacto de desempenho variável. O impacto pode variar conforme a complexidade das regras e o volume de tráfego.

    O que muda na prática para equipes de segurança

    A principal mudança é conceitual: em vez de rastrear IPs que mudam constantemente, as equipes passam a trabalhar com identidades estáveis — namespaces, labels e nomes de pods. Isso aproxima a linguagem das regras de firewall da linguagem operacional do Kubernetes, tornando as políticas mais legíveis, auditáveis e fáceis de manter.

    O enriquecimento dos logs com contexto de container é outro ganho direto para operações de segurança. Com o rastreamento até a workload de origem, investigações de incidentes e relatórios de conformidade ficam significativamente mais eficientes.

    Para workloads de IA/ML no EKS — que costumam ter padrões de tráfego específicos e requisitos de isolamento elevados — o recurso oferece uma camada de controle que antes era difícil de implementar sem soluções customizadas.

    Fonte

    Secure Amazon container workloads using container attribute-based rules in AWS Network Firewall (https://aws.amazon.com/blogs/security/secure-amazon-container-workloads-using-container-attribute-based-rules-in-aws-network-firewall/)

  • Como usar o AWS Workload Credentials Provider para buscar segredos entre contas e pré-carregar segredos

    Dois novos recursos que simplificam o gerenciamento de segredos na AWS

    A AWS publicou um guia detalhado sobre dois novos recursos do AWS Workload Credentials Provider: o encadeamento de funções IAM para acesso a segredos entre contas diferentes, e o pré-carregamento de segredos para reduzir a latência de inicialização das aplicações. Este post é uma releitura educativa desse conteúdo para o público brasileiro.

    O que é o AWS Workload Credentials Provider?

    O AWS Secrets Manager é o serviço responsável por armazenar e rotacionar credenciais, chaves de API e outros segredos. Já o AWS Workload Credentials Provider é um serviço HTTP do lado do cliente que recupera e armazena em cache esses segredos localmente. Essa abordagem reduz a latência, melhora a disponibilidade em caso de falhas transitórias e diminui os custos operacionais.

    Entre as características do provider, destacam-se: suporte a TLS pós-quântico por padrão, ausência de dependência de SDKs específicos por linguagem e compatibilidade com Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) e AWS Lambda. Mais detalhes estão disponíveis na documentação oficial e no repositório no GitHub.

    Considerações de segurança

    O provider utiliza um token SSRF (Falsificação de Requisição do Lado do Servidor — SSRF) para impedir que processos não autorizados acessem seu endpoint HTTP. Apenas aplicações que consigam ler o arquivo do token podem recuperar segredos pelo provider.

    Qualquer identidade que tenha acesso ao endpoint do provider e ao token SSRF pode recuperar segredos via encadeamento de funções. Isso significa que usuários com acesso ao ambiente de computação podem recuperar segredos de outras contas quando a assunção de função estiver configurada. Por isso, a AWS recomenda seguir o princípio do menor privilégio, limitando as permissões da função-alvo apenas aos segredos necessários.

    No caso do pré-carregamento, os segredos são carregados no cache em memória do provider na inicialização. Qualquer processo que consiga alcançar o endpoint localhost e fornecer um token SSRF válido poderá recuperar esses segredos do cache.

    Acesso a segredos entre contas com encadeamento de funções

    Organizações frequentemente armazenam segredos em uma conta AWS dedicada ou precisam compartilhar um mesmo segredo entre aplicações em contas diferentes. Até recentemente, o acesso entre contas pelo provider exigia a criação de políticas baseadas em recursos diretamente em cada segredo. Alguns times preferem trabalhar com assunção de funções IAM — e era necessário implantar múltiplas instâncias do provider ou construir lógica customizada de troca de credenciais.

    Agora, o provider suporta as duas abordagens: políticas baseadas em recursos e assunção de funções via AWS Security Token Service (AWS STS). Quando o parâmetro roleArn é incluído na requisição, o provider usa o AssumeRole do AWS STS para obter credenciais temporárias e recuperar o segredo com essas credenciais. O provider cria e armazena em cache um cliente separado para cada ARN de função, reutilizando-o nas requisições subsequentes — e cada cliente de função mantém seu próprio cache independente.

    Importante: a conta de origem executa o Workload Credentials Provider e a aplicação; a conta de destino contém o segredo a ser recuperado. Uma única instância do provider na conta de origem pode assumir funções em uma ou mais contas de destino.

    Pré-requisitos

    • O Workload Credentials Provider compilado e instalado no ambiente
    • Credenciais AWS configuradas no ambiente de computação com permissão para chamar sts:AssumeRole no ARN da função-alvo
    • Se também recuperar segredos da conta de origem pelo provider, as credenciais precisam ter as permissões secretsmanager:GetSecretValue e secretsmanager:DescribeSecret para esses segredos
    • Um segredo em uma conta AWS de destino
    • Uma função IAM na conta de destino com política de confiança que permita à identidade do provider assumi-la

    Como compilar o Workload Credentials Provider

    O provider é escrito em Rust e compila para um único executável. Os passos a seguir são para sistemas baseados em RPM, como o Amazon Linux 2023:

    Instale as dependências de compilação:

    sudo yum -y groupinstall "Development Tools"

    Instale o Rust:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"

    Clone o repositório e compile o provider (use a tag mais recente disponível):

    git clone --branch <git tag> https://github.com/aws/aws-workload-credentials-provider.git
    cd aws-workload-credentials-provider
    cargo build --release

    O binário compilado estará em target/release/aws-workload-credentials-provider.

    Como instalar o Workload Credentials Provider no Amazon EC2

    Após compilar o provider, instale-o como serviço de sistema na instância EC2 e configure o acesso ao token SSRF. Após configurar o arquivo config.toml, execute o script de instalação para implantar o provider como serviço systemd e gerar o token SSRF:

    cd aws_workload_credentials_provider_common/configuration
    sudo ./install --config config.toml

    Adicione o usuário da aplicação ao grupo aws-wcp-token para conceder permissão de leitura do arquivo do token SSRF:

    sudo usermod -aG aws-wcp-token <APP_USER>

    Para instalação no Amazon ECS, Amazon EKS ou Lambda, consulte as instruções de instalação no repositório do GitHub.

    Verificando a instalação

    Verifique se o provider está em execução:

    curl -v -H \
    "X-Aws-Parameters-Secrets-Token: $(

    Você receberá uma resposta JSON com o valor do segredo. Se aparecer erro de conexão recusada, verifique se o processo do provider está em execução. Se aparecer erro 401 ou 403, verifique se o arquivo do token SSRF é legível e se as credenciais IAM do provider possuem as permissões secretsmanager:GetSecretValue e secretsmanager:DescribeSecret.

    Permissões necessárias e configuração das funções IAM

    A identidade IAM base do provider precisa de: sts:AssumeRole no ARN da função-alvo. A função-alvo precisa de: secretsmanager:GetSecretValue e secretsmanager:DescribeSecret.

    Configurando a função IAM na conta de destino

    Crie uma função IAM na conta de destino com uma política de confiança que permita à identidade do provider na conta de origem assumi-la:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::111111111111:role/WCProviderRole"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }

    Em seguida, anexe uma política a essa função que conceda acesso ao segredo:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:GetSecretValue",
            "secretsmanager:DescribeSecret"
          ],
          "Resource": "arn:aws:secretsmanager:us-east-1:222222222222:secret:MyDatabaseSecret"
        }
      ]
    }

    Configurando a função IAM na conta de origem

    Antes que o provider possa assumir a função criada na conta de destino, é necessário conceder permissão para chamar sts:AssumeRole. Anexe a seguinte política à função IAM do provider na conta de origem:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "sts:AssumeRole",
          "Resource": "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole"
        }
      ]
    }

    Como recuperar o segredo entre contas

    Chame o endpoint do provider com o parâmetro roleArn. O exemplo com curl abaixo mostra como recuperar um segredo usando uma função IAM diferente:

    curl -v -H "X-Aws-Parameters-Secrets-Token: $(

    O mesmo pode ser feito com Python:

    import requests
    
    def get_secret_cross_account():
        role_arn = "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole"
        url = f"http://localhost:2773/secretsmanager/get?secretId=MyDatabaseSecret&roleArn={role_arn}"
    
        with open('/var/run/awssmatoken') as fp:
            token = fp.read()
    
        headers = {
            "X-Aws-Parameters-Secrets-Token": token.strip()
        }
    
        response = requests.get(url, headers=headers)
    
        if response.status_code == 200:
            return response.text
        else:
            raise Exception(f"Status code {response.status_code} - {response.text}")

    O número máximo de funções assumidas simultaneamente pode ser configurado com a opção max_roles no arquivo de configuração TOML do provider. O padrão é 20, com intervalo de 1 a 20.

    Pré-carregamento de segredos na inicialização

    Por padrão, o Workload Credentials Provider popula seu cache de forma preguiçosa (lazy) — a primeira requisição por um segredo dispara uma chamada de rede ao Secrets Manager. O pré-carregamento (prefetching) reduz essa latência de cold-start ao carregar os segredos durante a inicialização do provider.

    Como o pré-carregamento funciona

    O pré-carregamento é configurado adicionando uma seção [capabilities.secrets_manager.prefetch] ao arquivo de configuração TOML do provider. Há duas formas de especificar os segredos a serem pré-carregados:

    • Segredos explícitos — liste IDs ou ARNs específicos usando entradas [[capabilities.secrets_manager.prefetch.secrets]].
    • Descoberta por tag — descubra segredos por chave de tag usando entradas [[capabilities.secrets_manager.prefetch.filter_tags]]. O provider chama BatchGetSecretValue com filtros de chave de tag para encontrar e armazenar em cache todos os segredos correspondentes.

    Os dois métodos podem ser usados em conjunto. Cada entrada aceita opcionalmente um campo role_arn para pré-carregamento entre contas via encadeamento de funções.

    Permissões necessárias para o pré-carregamento

    • secretsmanager:BatchGetSecretValue — necessário na função da conta de origem para segredos locais, ou na função-alvo para segredos entre contas
    • secretsmanager:ListSecrets — necessário ao usar descoberta por tag (filter_tags), na função que realiza a descoberta

    Opções de configuração do pré-carregamento

    As seguintes opções estão disponíveis na seção [capabilities.secrets_manager.prefetch] do arquivo de configuração TOML:

    • cache_buffer_ratio — fração máxima do cache a ser preenchida por cliente de cache durante o pré-carregamento, no intervalo de 0,1 a 1,0. O padrão é 0,8. Por exemplo, se o cache suporta 100 segredos, uma razão de 0,8 pré-carrega até 80, deixando espaço para 20 segredos sob demanda.
    • max_jitter_seconds — atraso aleatório máximo em segundos antes de iniciar a tarefa de pré-carregamento, no intervalo de 0 a 10. O padrão é 0 (sem jitter). Use esse parâmetro para evitar chamadas de API sincronizadas em toda a frota ao implantar em muitas instâncias.

    Exemplo: pré-carregamento com segredos explícitos

    A configuração abaixo pré-carrega dois segredos na inicialização — um da conta de origem e outro de uma conta diferente via encadeamento de funções:

    [capabilities.secrets_manager.prefetch]
    secrets = [
      { secret_id = "arn:aws:secretsmanager:us-east-1:111111111111:secret:MySecret-AbCdEf" },
      { secret_id = "cross-account-secret", role_arn = "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole" }
    ]

    Exemplo: pré-carregamento com descoberta por tag

    A configuração abaixo descobre e armazena em cache todos os segredos com a chave de tag Environment, e todos os segredos com a chave Team em uma conta diferente:

    [capabilities.secrets_manager.prefetch]
    filter_tags = [
      { key = "Environment" },
      { key = "Team", role_arn = "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole" },
    ]

    Exemplo: configuração completa

    O exemplo abaixo mostra uma configuração completa do provider combinando os dois recursos:

    [logging]
    log_level = "info"
    
    [capabilities.secrets_manager]
    http_port = 2773
    region = "us-east-1"
    
    [capabilities.secrets_manager.cache]
    ttl_seconds = 300
    
    [capabilities.secrets_manager.prefetch]
    cache_buffer_ratio = 0.6
    max_jitter_seconds = 5
    
    secrets = [
      { secret_id = "arn:aws:secretsmanager:us-east-1:111111111111:secret:MySecret-AbCdEf" },
      { secret_id = "arn:aws:secretsmanager:us-east-1:222222222222:secret:CrossAccount-AbCdEf", role_arn = "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole" },
    ]
    
    filter_tags = [
      { key = "Environment" },
      { key = "Team", role_arn = "arn:aws:iam::222222222222:role/CrossAccountSecretAccessRole" },
    ]

    Para iniciar o provider com o arquivo de configuração:

    ./aws-workload-credentials-provider sm start --config config.toml

    Conclusão

    O encadeamento de funções simplifica arquiteturas multi-conta: uma única instância do provider consegue recuperar segredos entre contas usando assunção de funções IAM, sem necessidade de múltiplas instâncias ou lógica customizada de troca de credenciais. Já o pré-carregamento elimina a latência de cold-start ao popular o cache antes da primeira requisição da aplicação. Combinados, esses dois recursos tornam o Workload Credentials Provider uma solução mais robusta para ambientes distribuídos que exigem acesso rápido e seguro a segredos em múltiplas contas AWS.

    Para saber mais, acesse a documentação do AWS Workload Credentials Provider, o guia sobre acesso a segredos do AWS Secrets Manager a partir de outra conta, o repositório no GitHub com o código-fonte e o README, e a documentação do AWS Secrets Manager.

    Fonte

    How to use the AWS Workload Credentials Provider for cross-account secret retrieval and prefetching secrets (https://aws.amazon.com/blogs/security/how-to-use-the-aws-workload-credentials-provider-for-cross-account-secret-retrieval-and-prefetching-secrets/)

  • Amazon RDS Aprimora Autenticação IAM com Escalabilidade de Taxa de Conexão

    O que mudou no Amazon RDS

    A AWS anunciou uma melhoria importante no Amazon Relational Database Service (Amazon RDS): a autenticação de banco de dados via IAM (Identity and Access Management — Gerenciamento de Identidade e Acesso) agora conta com escalonamento dinâmico de conexões. Isso significa que a capacidade de processar novas requisições de autenticação passa a acompanhar os recursos disponíveis na instância.

    Por que isso importa para workloads empresariais

    Até então, equipes que operavam cargas de trabalho de alto volume enfrentavam limitações ao tentar adotar a autenticação IAM em ambientes com muitas conexões simultâneas. Com essa atualização, o desempenho da autenticação IAM escala proporcionalmente aos recursos da instância, tornando esse mecanismo de segurança viável também para padrões de conexão de alta demanda.

    Em termos práticos: quanto mais recursos a instância tiver disponíveis, mais requisições de autenticação IAM ela consegue processar. O volume exato depende tanto dos recursos disponíveis quanto das características da carga de trabalho em execução.

    Boas práticas recomendadas pela AWS

    Para garantir o melhor desempenho possível com essa novidade, a AWS recomenda duas estratégias principais:

    • Reutilizar principals IAM: sempre que possível, reuse usuários IAM ou roles (funções) assumidas via IAM para gerar os tokens de autenticação, em vez de criar novos a cada conexão.
    • Reutilizar os próprios tokens de autenticação: quando aplicável, reaproveite os tokens já gerados em vez de solicitar novos repetidamente.

    Essas práticas reduzem a pressão sobre os recursos da instância e contribuem para um comportamento mais eficiente e previsível do ambiente.

    Disponibilidade

    A atualização já está disponível em todas as regiões da AWS, incluindo as regiões AWS GovCloud (US). O suporte abrange todos os engines de banco de dados onde a autenticação IAM é compatível com o Amazon Aurora e o Amazon RDS, incluindo PostgreSQL, MySQL e MariaDB.

    Para se aprofundar nos detalhes técnicos e entender como configurar corretamente esse recurso no seu ambiente, consulte a documentação oficial de autenticação IAM para banco de dados.

    Fonte

    Amazon RDS Enhances IAM Database Authentication with Connection Rate Scaling (https://aws.amazon.com/about-aws/whats-new/2026/06/amazon-rds-iam/)

  • Como a AWS Está Liberando Modelos Frontier com Segurança para os Clientes

    Segurança como Base de Tudo

    A AWS reafirmou recentemente seu compromisso em ser o ambiente mais seguro para execução de qualquer tipo de workload. Esse não é um posicionamento novo — a empresa investe em segurança desde sua fundação, há mais de duas décadas. E quando o assunto é Inteligência Artificial (IA), esse mesmo princípio se aplica diretamente ao Amazon Bedrock.

    O Bedrock foi construído sobre essa base consolidada de segurança e oferece aos clientes desempenho, privacidade e uma das maiores seleções de modelos disponíveis no mercado. No ano passado, a AWS lançou o Bedrock Mantle, com privacidade de ponta e proteção para os pesos dos modelos — um diferencial importante para empresas que lidam com dados sensíveis.

    A Demanda por Modelos Mais Recentes

    Uma das solicitações mais frequentes dos clientes corporativos é ter acesso às versões mais recentes dos modelos assim que elas são lançadas. A AWS afirma que o Bedrock entrega exatamente isso, combinando acesso rápido aos modelos mais novos com os recursos empresariais que os clientes esperam da plataforma.

    Nesse contexto, a AWS anunciou que os modelos Claude Fable 5, da Anthropic, estarão disponíveis novamente para os clientes no Bedrock. Segundo a empresa, essa nova versão traz guardrails (mecanismos de proteção) ainda mais robustos para prevenir o uso indevido.

    A Responsabilidade Vai Além dos Clientes

    Ao liberar um modelo, a AWS deixa claro que considera não apenas suas responsabilidades para com os clientes diretos, mas também o impacto sobre a internet e a sociedade como um todo. Essa perspectiva é especialmente relevante com a geração mais recente de modelos frontier — como o Claude Mythos, da Anthropic — que apresentam capacidades novas e poderosas, especialmente na área de cibersegurança.

    A AWS relata ter vivenciado isso na prática como parte do Project Glasswing, uma iniciativa colaborativa com a Anthropic e outros parceiros do setor. A empresa demonstra entusiasmo em colocar modelos da classe Mythos nas mãos de defensores — profissionais e organizações que usam IA para tornar os sistemas digitais mais seguros.

    O Desafio do Equilíbrio: Defensores vs. Adversários

    Aqui está o ponto mais delicado e importante do comunicado: ao disponibilizar modelos com capacidades avançadas de cibersegurança, existe um risco real de que adversários — agentes maliciosos — também se beneficiem dessas ferramentas.

    A AWS aponta que o objetivo mais crítico dos guardrails é impedir que adversários consigam realizar pesquisas profundas de vulnerabilidades usando esses modelos. O desafio está em liberar o modelo de forma ampla sem, ao mesmo tempo, oferecer aos atacantes uma vantagem significativa antes que empresas, governos e instituições acadêmicas tenham tido a chance de proteger seus ativos.

    Encontrar esse equilíbrio é, segundo a AWS, um dos principais desafios no lançamento de modelos frontier — e é exatamente por isso que o Project Glasswing existe: para refinar os mecanismos de proteção dessa nova classe de modelos em conjunto com parceiros do setor.

    Um Momento Empolgante para a IA

    A AWS reconhece que vivemos um momento único para a IA, com novas capacidades sendo entregues quase diariamente. A empresa defende que disponibilizar esses modelos avançados para todos os clientes — em um ambiente seguro e com preservação de privacidade — é fundamental para que as organizações colham os benefícios sem criar novos riscos de segurança.

    Além disso, a AWS ressalta que os guardrails precisam continuar evoluindo à medida que se aprende mais sobre sua eficácia e à medida que novos modelos são lançados. O compromisso é de iteração contínua com os parceiros, entrega de mais valor e capacidade de resposta às mudanças do setor.

    Transparência e Resposta a Incidentes

    Outro ponto destacado é a importância de tratar adequadamente qualquer problema identificado após a liberação dos modelos. A Anthropic publicou um post, Redeployando o Fable 5, explicando como a empresa está pensando sobre as capacidades dessa nova classe de modelos e quais são seus compromissos e Acordos de Nível de Serviço (SLAs) para responder a problemas reportados.

    A AWS elogiou a transparência da Anthropic ao estruturar, pela primeira vez, um modelo de classificação de severidade de problemas e de resposta para modelos com capacidades cibernéticas. A empresa considera esse um passo importante para toda a indústria e aguarda a evolução desse debate coletivo.

    O Trabalho do Time de Red Team de IA

    O Time de Red Team de IA da AWS trabalhou diretamente com a Anthropic para aprimorar as proteções do Fable. O resultado, segundo a empresa, é um modelo altamente capaz que minimiza ainda mais o risco de uso indevido por adversários. O modelo entrega capacidades de raciocínio muito mais avançadas na maioria dos domínios, sem oferecer aos adversários novas capacidades de segurança significativas.

    Um detalhe técnico relevante: quando os guardrails são acionados, o sistema recorre automaticamente ao Opus 4.8 — por si só um modelo de classe mundial, já disponível publicamente.

    Parceria de Longo Prazo com a Anthropic

    A AWS encerra o comunicado reforçando o valor da parceria com a Anthropic e o compromisso conjunto com os defensores digitais. A perspectiva é de continuidade: trabalhar com a Anthropic e com o restante da indústria para manter a disponibilização de modelos frontier de forma segura e responsável.

    Fonte

    Safely Releasing Frontier Models to Customers (https://aws.amazon.com/blogs/machine-learning/safely-releasing-frontier-models-to-customers/)

  • Amazon CloudWatch Logs passa a enriquecer eventos de log com tags de recursos AWS

    O que foi anunciado

    A AWS anunciou uma novidade relevante para quem trabalha com observabilidade: o Amazon CloudWatch Logs agora é capaz de enriquecer automaticamente os eventos de log com as tags dos recursos AWS. Isso acontece diretamente no momento da ingestão dos dados, sem exigir nenhuma mudança na instrumentação de logging já existente nas aplicações.

    Por que isso importa

    Quem já trabalhou com análise de logs em ambientes grandes sabe o quanto é trabalhoso correlacionar um evento de log com informações de contexto como: qual equipe é dona daquele recurso, em qual ambiente ele está rodando (produção, homologação, desenvolvimento), a qual centro de custo pertence ou qual aplicação está envolvida.

    Antes desse recurso, adicionar esse tipo de contexto normalmente exigia a construção de pipelines customizados ou a instrumentação manual das aplicações para incluir essas informações nos logs. Agora, o CloudWatch Logs faz esse trabalho automaticamente, aproveitando as tags que já existem nos recursos AWS.

    Como funciona o enriquecimento por tags

    Com o enriquecimento por tags (tag enrichment), o Amazon CloudWatch Logs adiciona as tags do recurso AWS diretamente aos eventos de log no momento em que eles são ingeridos. A partir daí, essas tags ficam disponíveis imediatamente para uso em consultas de log, permitindo filtrar e analisar os dados com base nos metadados que fazem sentido para a organização — sem necessidade de pipelines adicionais ou ajustes no código das aplicações.

    Alguns exemplos práticos do que se torna possível com esse recurso:

    • Filtrar rapidamente todos os logs de recursos de produção pertencentes a uma equipe específica;
    • Segmentar a análise por centro de custo durante uma investigação de incidente;
    • Organizar consultas por nome de aplicação ou ambiente, usando as tags já cadastradas nos recursos.

    Disponibilidade e como ativar

    O enriquecimento por tags está disponível em todas as regiões comerciais da AWS, com exceção de Middle East (UAE), Middle East (Bahrain) e Israel (Tel Aviv).

    Para começar a usar, basta habilitar as tags de recursos para telemetria nas configurações do Amazon CloudWatch, ou por meio da Interface de Linha de Comando da AWS (AWS CLI) e dos SDKs da AWS. Dessa forma, as tags já existentes nos recursos AWS passam a enriquecer automaticamente os eventos de log.

    Vale destacar: o recurso está disponível sem custo adicional. Para mais detalhes técnicos sobre como configurar e utilizar o enriquecimento por tags, a AWS disponibilizou a documentação oficial do Amazon CloudWatch.

    Fonte

    Amazon CloudWatch Logs enriches log events with AWS resource tags (https://aws.amazon.com/about-aws/whats-new/2026/06/amazon-cloudwatch-logs-resource-tags/)

  • O que a atualização de junho de 2026 do Catálogo de Técnicas de Ameaças significa para o seu ambiente AWS

    O que é o Catálogo de Técnicas de Ameaças da AWS?

    A Equipe de Resposta a Incidentes da AWS (AWS CIRT) acompanha de perto os padrões de ataque que se repetem em diferentes clientes. Para transformar esse conhecimento em algo útil para toda a comunidade, a AWS mantém o Catálogo de Técnicas de Ameaças para AWS (TTC) — uma base de referência pública que documenta técnicas de ataque observadas em ambientes reais, com orientações de mitigação e detecção.

    A atualização de junho de 2026 é significativa: cinco novas entradas foram adicionadas e três entradas existentes foram revisadas. O tema central desta edição gira em torno de segurança em plataformas de orquestração de containers, abuso de relacionamentos de confiança organizacional e sequestro de capacidade computacional. A seguir, a CloudTroop explica o que cada mudança significa na prática.

    As cinco novas técnicas documentadas

    1. Modificação de workloads no EKS

    O Amazon Elastic Kubernetes Service (Amazon EKS) oferece grande poder de orquestração — e isso também atrai atacantes. A técnica documentada descreve como agentes maliciosos que obtêm credenciais do Kubernetes ou uma função do Gerenciamento de Identidade e Acesso da AWS (IAM) com permissões no EKS conseguem modificar workloads já em execução. Isso inclui trocar imagens de containers, injetar containers sidecar ou alterar especificações de pods para introduzir código malicioso em um deployment existente.

    O ponto crítico aqui é que nada novo é criado: o workload já existe, possivelmente em produção. Ao modificá-lo no lugar, o atacante herda automaticamente os acessos de rede, permissões de conta de serviço e acesso a dados que o workload legítimo já possuía. Sem controladores de admissão ou verificação de imagem, essas alterações podem passar despercebidas por muito tempo.

    As mitigações recomendadas incluem: aplicar assinatura de imagens via controladores de admissão, restringir alterações de workloads com Controle de Acesso Baseado em Funções (RBAC) do Kubernetes e habilitar o Amazon GuardDuty EKS Protection para identificar atividades anômalas no cluster. Consulte a entrada completa: EKS Modification – Workload Integrity Degradation.

    2. Exploração de aplicações expostas publicamente no EKS

    Servidores de API do Kubernetes expostos publicamente e controladores de ingresso mal configurados continuam sendo pontos de entrada explorados com frequência. Esta técnica documenta ataques direcionados às aplicações implantadas pelos próprios clientes no EKS — não ao EKS em si — e sua exposição à internet.

    O padrão começa com um serviço exposto e uma vulnerabilidade em nível de aplicação. A partir daí, o atacante pivota do pod comprometido em direção a um acesso mais amplo no cluster. Dentro de um pod, é possível consultar o serviço de metadados da instância, ler tokens de conta de serviço montados ou se mover lateralmente pela rede do cluster.

    Limitar a exposição pública do servidor de API do Kubernetes, aplicar políticas de rede para restringir a comunicação entre pods e operar workloads com contas de serviço de menor privilégio reduzem significativamente o risco. Mais detalhes na entrada: Exploit Public-Facing Application.

    3. Assumir acesso root em contas-membro da organização

    O AWS Organizations centraliza a governança entre contas, e essa confiança flui em uma única direção: da conta de gerenciamento para as contas-membro. A técnica documentada descreve como atacantes que comprometem a conta de gerenciamento — ou obtêm privilégios suficientes dentro dela — utilizam essa posição para assumir acesso root em contas-membro via sts:AssumeRoot.

    Como a confiança é inerente à estrutura organizacional, esse movimento pode contornar os controles de acesso configurados pelo administrador da conta-membro. Com acesso root, o atacante pode desabilitar controles de segurança, excluir recursos, alterar configurações de faturamento e estabelecer persistência que sobrevive a remediações focadas em entidades do IAM.

    A recomendação é implementar políticas de controle de serviços (SCPs) que restrinjam quais entidades podem chamar sts:AssumeRoot e em quais condições, além de monitorar essas chamadas no AWS CloudTrail. Veja a entrada completa: Assume Root into Organization Member Account.

    4. Sequestro de capacidade computacional no EKS

    O sequestro de recursos computacionais segue sendo uma das motivações mais comuns por trás de acessos não autorizados, e clusters EKS estão cada vez mais na mira. Atacantes implantam workloads de mineração de criptomoedas ou outras cargas computacionalmente intensivas dentro de clusters comprometidos, consumindo recursos do cliente e gerando custos inesperados.

    O que torna o sequestro em EKS especialmente preocupante é a escala: em clusters sem cotas de recursos, uma única conta de serviço comprometida pode consumir toda a capacidade disponível nos nós. Os workloads maliciosos utilizam imagens de aparência legítima obtidas de registries públicos, o que torna a verificação de imagens isolada insuficiente como defesa.

    Definir cotas de recursos e limites de intervalo, restringir de quais registries os workloads podem obter imagens e habilitar o Amazon GuardDuty EKS Protection para sinalizar comportamentos de mineração são medidas eficazes. Consulte: Resource Hijacking: Compute Hijacking – EKS.

    5. Convite de contas para uma organização desconhecida

    Nesta técnica, um atacante com acesso a uma conta standalone — ou a uma conta removida de sua organização legítima — a convida para uma organização sob seu controle. Após a conta ingressar, ela passa a estar sob a governança do atacante.

    A partir daí, o atacante pode aplicar SCPs que restringem as ações do proprietário legítimo, obter visibilidade dos recursos da conta por meio de serviços organizacionais e acessar informações de faturamento consolidado. O proprietário legítimo se vê bloqueado de seus próprios controles de governança.

    Monitorar os eventos organizations:InviteAccountToOrganization e organizations:AcceptHandshake, além de implementar SCPs que impeçam contas de sair de sua organização legítima, são medidas preventivas importantes. Mais detalhes em: Modify Cloud Resource Hierarchy: Invite Accounts to Unknown Organization.

    O que foi atualizado nas entradas existentes

    Além das cinco novas entradas, três registros existentes no catálogo foram revisados e aprimorados:

    A tendência por trás desta atualização

    A atualização de junho de 2026 do Catálogo de Técnicas de Ameaças para AWS reflete uma tendência clara: atacantes estão cada vez mais mirando plataformas de orquestração de containers e explorando relacionamentos de confiança organizacional em seu favor.

    As técnicas voltadas a containers mostram que, à medida que as organizações adotam o Kubernetes em escala, a superfície de ataque cresce proporcionalmente. As técnicas organizacionais revelam que atacantes compreendem bem como funciona a cadeia de confiança entre contas AWS.

    O fio condutor de todas essas técnicas é importante: cada uma delas opera dentro dos limites de funcionalidades legítimas. Modificar um workload, assumir confiança entre contas e ingressar em uma organização são ações esperadas em ambientes saudáveis. A detecção, portanto, depende inteiramente do contexto: qual entidade executou a ação, em que momento e qual sequência de eventos se seguiu.

    É exatamente para isso que o TTC foi criado. A AWS encoraja times de segurança a revisarem as entradas relevantes e avaliarem se o monitoramento atual seria capaz de identificar esses padrões. Alguns pontos de atenção específicos:

    • Modificações inesperadas nas especificações de workloads do EKS
    • Deployments de pods que utilizam imagens de containers não assinadas
    • Chamadas sts:AssumeRoot em contas-membro
    • Consumo computacional ilimitado em clusters EKS que poderia ser prevenido com cotas de recursos
    • Convites inesperados de organização para suas contas

    Cada uma dessas ameaças deixa rastros no AWS CloudTrail e nos logs de auditoria do Kubernetes. O TTC fornece orientações específicas sobre o que monitorar e como responder em cada caso.

    Por que acompanhar o TTC?

    O Catálogo de Técnicas de Ameaças para AWS existe porque os padrões observados durante engajamentos de segurança não deveriam ficar restritos às equipes internas. Quando técnicas se repetem entre diferentes clientes, documentá-las e disponibilizá-las publicamente é a forma mais eficaz de permitir que times de segurança ajam antes de estarem no meio de um incidente.

    Esta atualização de junho adiciona cinco novas entradas e revisa três existentes. O catálogo continuará evoluindo com base no que a equipe da AWS CIRT observa no mundo real ao ajudar clientes a responderem a eventos de segurança. A recomendação é que times de segurança revisem o catálogo, incorporem suas técnicas em exercícios de modelagem de ameaças e o utilizem como vocabulário compartilhado para discutir ameaças específicas da nuvem.

    Explore a matriz completa: Catálogo de Técnicas de Ameaças para AWS – Matriz Completa.

    Recursos adicionais

    Fonte

    What the June 2026 Threat Technique Catalog update means for your AWS environment (https://aws.amazon.com/blogs/security/what-the-june-2026-threat-technique-catalog-update-means-for-your-aws-environment/)

  • Como implementar uma estratégia de backup para ativos de BI no Amazon QuickSight

    Protegendo seus ativos de BI no QuickSight

    O Amazon QuickSight é o componente de Inteligência de Negócios (BI) dentro do Amazon Quick, um espaço de trabalho digital com capacidades de Inteligência Artificial (IA). Ele oferece consultas em linguagem natural, dashboards interativos e análises embarcadas a partir de fontes de dados corporativas confiáveis.

    A AWS publicou um guia completo sobre como implementar uma estratégia de backup para esses ativos — dashboards, análises, conjuntos de dados e fontes de dados — usando as APIs AssetsAsBundle. Esta é a Parte 1 de uma série de dois artigos: aqui o foco é o processo de backup; a Parte 2 cobrirá a restauração.

    Uma estratégia de backup bem desenhada protege contra exclusões acidentais, modificações indesejadas e interrupções regionais. Para equipes que dependem do QuickSight para suportar decisões críticas de negócio, esse planejamento é altamente recomendado.

    Por que o backup de BI é especialmente crítico

    Sistemas de BI apresentam desafios únicos de continuidade de negócio por conta do papel central que exercem nos processos de tomada de decisão. A AWS destaca quatro razões principais pelas quais uma estratégia de backup eficaz é essencial:

    • Prevenção de perda de dados: protege contra erros humanos, exclusões acidentais e eventos como ransomware.
    • Cumprimento de objetivos de recuperação: ajuda a atingir o Objetivo de Ponto de Recuperação (RPO) e o Objetivo de Tempo de Recuperação (RTO), minimizando a perda de dados em incidentes.
    • Auditoria e relatórios: suporta o rastreamento do ciclo de vida dos ativos — criação, atualizações e exclusão.
    • Resiliência de workloads: permite restauração rápida a estados anteriores, alinhando-se ao pilar de Confiabilidade do AWS Well-Architected Framework.

    Além disso, uma boa estratégia de backup serve como base para um processo de Recuperação de Desastres (DR) e contribui para o Plano de Continuidade de Negócios (BCP) da organização. Isso é especialmente relevante para setores regulados como serviços financeiros, saúde e energia.

    Entendendo a arquitetura do QuickSight

    Antes de construir um plano de backup, é importante entender como o QuickSight está estruturado. O serviço utiliza a infraestrutura global da AWS em múltiplas regiões para garantir alta disponibilidade dos ativos — fontes de dados, conjuntos de dados, análises e dashboards.

    O motor SPICE (Super-fast, Parallel, In-memory Calculation Engine — Motor de Cálculo Super-rápido, Paralelo e em Memória) armazena e criptografa os dados importados com alta disponibilidade (HA) por meio de cópias redundantes em múltiplas Zonas de Disponibilidade (AZs) dentro da região do QuickSight.

    Para gerenciamento de usuários e identidades, o QuickSight usa uma única região definida durante o processo de assinatura inicial da conta. Essa região hospeda as informações de identidade de usuários e grupos, e precisa estar disponível para que os usuários acessem o serviço.

    Uma dica prática: se você não sabe qual é a região principal do QuickSight na sua conta, pode descobrir com o seguinte comando:

    aws quicksight describe-account-settings --aws-account-id XXXXXXXXXXXX --region us-east-1

    Se receber um status 200, sua região de identidade é us-east-1. Caso contrário, a mensagem de erro indicará qual região usar.

    Definindo quais ativos incluir no backup

    Com o entendimento da arquitetura em mãos, o próximo passo é selecionar os ativos a proteger. A AWS apresenta duas estratégias:

    • Backup de ativos específicos: indicado quando a estratégia de backup ou DR foca em proteger os ativos críticos para a operação do negócio — por exemplo, dashboards usados por stakeholders-chave ou equipes de finanças, logística e procurement. É a opção recomendada quando os ativos essenciais representam apenas um subconjunto do total disponível na instância do QuickSight.
    • Backup de todos os ativos: recomendado quando se deseja cobrir tanto versionamento quanto recuperação de desastres. Com todos os ativos salvos, é possível fazer rollback de qualquer item a um estado anterior em caso de erro humano, além de selecionar ativos específicos para restauração no contexto de um plano de DR. Essa abordagem oferece cobertura máxima, mas exige orquestração e automação mais complexas.

    O guia da AWS foca na segunda estratégia e fornece código de exemplo para acelerar a implementação.

    Tipos de ativos suportados

    O QuickSight oferece os seguintes tipos de ativos para exportação:

    • Dashboards: ativos somente leitura publicados a partir de uma análise, voltados para usuários leitores.
    • Análises e dashboards: uma análise é a versão editável de um dashboard, acessível apenas pelos autores designados.
    • Fontes de dados: implementam a conexão com os dados, que podem vir de bancos de dados, data warehouses, serviços AWS como o Amazon S3, ou provedores SaaS como Jira e ServiceNow.
    • Conjuntos de dados: usam uma fonte de dados para acessar dados externos e estruturá-los para análises e dashboards.
    • Conexões VPC: permitem integração com recursos de rede privada, como bancos de dados em VPCs, VPNs ou AWS Direct Connect.
    • Temas: coleções de configurações de estilo e aparência aplicáveis a análises e dashboards para padronização visual.

    Todos esses ativos têm dependências entre si, com análises e dashboards no topo da cadeia. Ao escolher o que incluir no backup, é essencial considerar essas dependências para garantir uma restauração completa.

    As APIs AssetsAsBundle

    O mecanismo central de backup usa as APIs AssetsAsBundle do QuickSight — também chamadas de APIs AAB. Trata-se de um conjunto de APIs de alto nível para exportação e importação programática de recursos, cobrindo casos de uso como gerenciamento de releases, backup e restauração, migração entre contas e fluxos de Integração Contínua e Entrega Contínua (CI/CD).

    As principais operações são:

    Limitações e ativos não suportados

    As APIs AAB têm algumas limitações importantes. Fontes de dados não suportadas incluem: Adobe Analytics, File, GitHub, Jira, Salesforce, ServiceNow, Amazon S3 com arquivos de manifesto carregados localmente, e Twitter. Conjuntos de dados com colunas de Aprendizado de Máquina (ML) geradas por modelos SageMaker conectados também não são suportados.

    Para contornar essas limitações com fontes de dados S3 com manifesto local, a recomendação é criar uma nova fonte de dados S3, fazer upload do arquivo de manifesto para o S3 e referenciar esse arquivo na fonte de dados, atualizando os conjuntos de dados dependentes com a API UpdateDataSet.

    Para outros tipos não suportados, o processo envolve criar uma análise conectada à fonte de dados, criar um visual de tabela com todas as colunas, exportar os dados como CSV, criar um conjunto de dados S3 com manifesto e atualizar as análises e dashboards usando a funcionalidade de substituição de conjuntos de dados.

    Outros ativos a considerar

    Além dos recursos principais do QuickSight, o backup completo deve incluir permissões de ativos (configurando o flag IncludePermissions como true), além de usuários e grupos. Como as APIs AAB não cobrem usuários e grupos, é necessário usar as APIs DescribeUser, DescribeGroup e DescribeGroupMembership para incluir essas informações.

    Também vale considerar o backup de configurações de conta, como personalização (DescribeAccountCustomization), marcas customizadas (DescribeBrand) e pastas (ListFolders, DescribeFolder e DescribeFolderPermissions).

    Implementação técnica

    Backup de usuários e grupos

    O serviço de backup de usuários e grupos usa as APIs de identidade do QuickSight para ler o estado atual da conta e armazenar os dados no Amazon DynamoDB. O serviço utiliza sufixos baseados em data nos nomes das tabelas para preservar o histórico e evitar sobrescritas — permitindo recuperação point-in-time.

    Exemplo para um backup executado em 2025-10-19:

    Usuários: quicksight-users-backup-2025-10-19
    Grupos: quicksight-groups-backup-2025-10-19
    Memberships: quicksight-users-groups-backup-2025-10-19

    O serviço também implementa suporte a duas regiões: operações de usuários e grupos usam o parâmetro identity_region, enquanto operações de ativos usam o parâmetro aws_region padrão.

    Backup de ativos

    O serviço de backup de bundles de ativos coordena a exportação dos recursos dentro de uma região e faz upload dos bundles gerados para um local no Amazon S3. Os ativos cobertos são: fontes de dados, conjuntos de dados, análises, dashboards e temas.

    O fluxo de execução inclui:

    • Listar todas as fontes de dados com a API ListDataSources, filtrando fontes S3 baseadas em manifesto e fontes com nomes de conexão VPC inválidos.
    • Listar conjuntos de dados com a API ListDataSets, filtrando datasets do tipo FILE.
    • Listar análises com a API ListAnalyses.
    • Listar dashboards com a API ListDashboards.
    • Agrupar ativos por tipo para jobs de exportação separados, com máximo de 100 ativos por bundle (limite da API).
    • Verificar o status do job com a API DescribeAssetBundleExportJob, com backoff exponencial para evitar throttling.
    • Fazer upload dos bundles para o S3 com estrutura de prefixos baseada em data e tipo de ativo.

    A ferramenta de backup: QuickSight Backup Tool

    A AWS disponibilizou uma ferramenta de automação completa no repositório aws-samples. O código usa o SDK Python Boto3 e inclui suporte a empacotamento via setuptools.

    A ferramenta suporta três modos de operação: backup apenas de usuários, backup apenas de ativos, ou ambos. Para começar a usá-la:

    git clone https://github.com/aws-samples/sample-quicksight-backup-tool.git
    cd quicksight-backup-tool
    python3 -m venv ./.venv
    source .venv/bin/activate
    pip install -e .

    Após a instalação, o comando básico de execução é:

    quicksight-backup --config config.yaml --mode full

    O parâmetro --mode aceita os valores full, users-only ou assets-only, sendo full o padrão. Para configurar a ferramenta, consulte o arquivo config-basic.yaml no repositório como referência. Mais detalhes sobre todos os parâmetros disponíveis estão no arquivo README da ferramenta.

    Antes de usar em produção, a AWS recomenda revisar e adaptar o código às políticas de segurança e conformidade da organização, testar em ambiente não-produtivo, implementar controles de segurança adequados e validar os procedimentos de recuperação em relação aos RTO e RPO definidos. Um ponto de atenção importante: a ferramenta não foi projetada para execução paralela — múltiplas instâncias simultâneas na mesma conta AWS podem causar throttling nas APIs. Se múltiplas equipes precisarem usar a ferramenta, recomenda-se implementar um mecanismo de controle de concorrência, como uma tabela de lock no DynamoDB.

    Arquitetura para execução agendada

    Para uma estratégia de backup em nível de produção, a AWS descreve uma arquitetura serverless baseada em três serviços gerenciados:

    • Amazon EventBridge: atua como agendador, disparando o fluxo de backup em cadência definida (por exemplo, diariamente à meia-noite) via regras cron ou baseadas em taxa.
    • AWS Step Functions: é a camada de orquestração, coordenando os passos individuais de backup em sequência, com tratamento de erros, lógica de retry e histórico de execução.
    • AWS Lambda: implementa cada passo individual como uma função independente e stateless, contornando as restrições de tempo inerentes ao processo de exportação assíncrona.

    O fluxo de trabalho inclui: backup de usuários e grupos (pode rodar em paralelo com os demais), descoberta de ativos, geração de bundles e verificação de status. Para controlar o volume de chamadas de API — especialmente nas operações com limites de taxa baixos — é possível usar o campo MaxConcurrency do inline map state no Step Functions.

    Estimativa de custos

    Os custos da solução são mínimos. Bundles de ativos são arquivos ZIP comprimidos armazenados no S3, com média de aproximadamente 500 KB por bundle de até 100 ativos. Mesmo em implantações muito grandes do QuickSight com milhares de ativos, o custo mensal de armazenamento no S3 fica bem abaixo de US$ 0,01.

    Para o DynamoDB, onde ficam armazenados os metadados de usuários e grupos, o custo é igualmente baixo: para organizações de pequeno e médio porte, fica abaixo de US$ 0,10 por snapshot de backup. Mesmo para grandes organizações com dezenas de milhares de usuários, os custos permanecem na casa dos poucos dólares por snapshot.

    Para backups agendados com retenção de 90 dias, o custo total de armazenamento ainda fica na casa de poucos dólares para a maioria das implantações. O uso de políticas de ciclo de vida do S3 e a classe DynamoDB Standard-IA podem otimizar ainda mais os custos.

    Conclusão

    A AWS publicou um guia abrangente sobre como proteger os ativos de BI do Amazon QuickSight com uma estratégia de backup bem estruturada. A abordagem cobre desde a seleção de ativos e o uso das APIs AssetsAsBundle até uma ferramenta de automação pronta para uso que armazena bundles no S3 e metadados de usuários no DynamoDB.

    Para equipes que já usam o QuickSight em ambientes críticos, o ponto de partida recomendado é clonar a ferramenta do repositório AWS Samples, testá-la em ambiente não-produtivo e começar com uma configuração simples cobrindo os dashboards mais críticos. Para saber mais sobre o Amazon QuickSight, consulte o Guia do Usuário do Amazon QuickSight.

    Fonte

    Implement a backup strategy for Amazon Quick Sight BI assets (https://aws.amazon.com/blogs/machine-learning/implement-a-backup-strategy-for-amazon-quick-sight-bi-assets/)

  • AWS WAF passa a proteger o Amazon Bedrock AgentCore Gateway

    O que foi anunciado

    A AWS anunciou a disponibilidade geral do AWS WAF (Firewall de Aplicações Web) para o Amazon Bedrock AgentCore Gateway. Com isso, equipes de segurança e plataforma passam a contar com uma camada de proteção consistente e configurável para workloads de IA agêntica, diretamente no nível do Gateway.

    Por que essa novidade importa

    À medida que as empresas avançam com aplicações agênticas — saindo da fase de protótipos e indo para ambientes de produção — a necessidade de controles de segurança robustos cresce proporcionalmente. O AgentCore Gateway atua como ponto central de entrada para agentes, ferramentas e integrações, o que o torna um alvo natural para exploits e tráfego abusivo.

    Antes dessa integração, proteger cada componente downstream de forma individual era uma tarefa operacionalmente custosa. Agora, com o AWS WAF operando na camada do Gateway, uma única configuração cobre todos os alvos conectados a ele.

    O que é possível configurar

    Ao associar um pacote de proteção do AWS WAF ao AgentCore Gateway, as equipes podem aplicar:

    • Controles de acesso baseados em IP — para restringir ou permitir origens específicas;
    • Regras baseadas em taxa (rate-based rules) — para bloquear ou limitar tráfego abusivo automaticamente;
    • Grupos de Regras Gerenciadas da AWS (AWS Managed Rule Groups) — incluindo conjuntos de regras comuns, entradas maliciosas conhecidas e o Bot Control.

    Como funciona na prática

    A lógica de operação é direta: o pacote de proteção é configurado uma única vez no nível do Gateway, e o AWS WAF aplica essas regras de forma consistente a todos os alvos registrados atrás desse Gateway — sejam ferramentas, agentes ou integrações. Isso elimina a necessidade de configurações redundantes por componente e reduz a superfície de erro operacional.

    Disponibilidade

    O suporte ao AWS WAF no AgentCore Gateway está disponível em todas as Regiões AWS onde tanto o AWS WAF quanto o Amazon Bedrock AgentCore Gateway estiverem disponíveis.

    Saiba mais

    Para aprofundar o tema, a AWS disponibiliza o Guia do Desenvolvedor do AWS WAF e a documentação do Amazon Bedrock AgentCore.

    Fonte

    AWS WAF adds support for Amazon Bedrock AgentCore Gateway (https://aws.amazon.com/about-aws/whats-new/2026/06/aws-waf-amazon-bedrock-agentcore/)

  • AWS Network Firewall agora suporta regras gerenciadas de inteligência de ameaças da VisionHeight

    Novos grupos de regras gerenciadas chegam ao AWS Network Firewall

    A AWS expandiu as opções de regras gerenciadas disponíveis no AWS Network Firewall com a adição de dois novos grupos fornecidos pela VisionHeight, acessíveis por meio do AWS Marketplace. As novidades são o Zero-Day Threat Protection e o Noisy Scanners and Tor Protection, e chegam para reforçar a capacidade de defesa de equipes que gerenciam workloads expostos a ameaças direcionadas.

    Esses grupos de regras se somam às opções já disponíveis de outros fornecedores — como Check Point, Fortinet, Infoblox, Lumen, Rapid7, ThreatSTOP e Trend Micro — ampliando ainda mais o ecossistema de proteção gerenciada do serviço.

    O que cada grupo de regras oferece

    Zero-Day Threat Protection

    Este grupo é focado em bloqueio proativo de infraestrutura IP maliciosa — ou seja, ele age antes que os endereços suspeitos apareçam nas listas públicas de bloqueio. A inteligência por trás dessa proteção é alimentada pela telemetria Pulse, da própria VisionHeight, o que permite identificar ameaças emergentes com semanas de antecedência em relação às fontes públicas tradicionais.

    Para organizações que lidam com ataques direcionados, essa antecipação pode fazer uma diferença real: workloads ficam protegidos mesmo contra ameaças que ainda não foram catalogadas publicamente.

    Noisy Scanners and Tor Protection

    Já este grupo tem um objetivo diferente, mas igualmente valioso: reduzir o ruído operacional nos ambientes de segurança. Ele atua bloqueando a comunicação com nós de saída ativos da rede Tor e filtrando tráfego proveniente de fontes conhecidas por varreduras em alto volume.

    O diferencial aqui está na abordagem: o bloqueio acontece no primeiro pacote, antes mesmo que os eventos sejam gerados. Na prática, isso significa menos alertas no Centro de Operações de Segurança (SOC), menor custo de ingestão no Sistema de Gerenciamento de Informações e Eventos de Segurança (SIEM) e a eliminação da rede Tor como vetor de entrada ou saída do ambiente. Os grupos de regras são atualizados diariamente, mantendo a proteção sempre alinhada ao cenário de ameaças atual.

    Por que isso importa para equipes de segurança

    A disponibilidade de regras gerenciadas com inteligência proprietária é um avanço relevante para times que precisam de proteção eficaz sem necessariamente manter uma operação de threat intelligence própria. Com grupos de regras como esses, é possível incorporar inteligência de ameaças de fornecedores especializados diretamente na camada de firewall de rede, de forma gerenciada e com atualizações automáticas.

    Para verificar as regiões onde os novos grupos estão disponíveis, a AWS recomenda consultar a página de serviços regionais. Para começar a usar, o acesso pode ser feito pelo console do AWS Network Firewall ou navegando pelas regras disponíveis no AWS Marketplace. Mais detalhes estão na página do produto AWS Network Firewall e na documentação oficial do serviço.

    Fonte

    AWS Network Firewall now supports managed threat intelligence rules from VisionHeight (https://aws.amazon.com/about-aws/whats-new/2026/06/network-firewall-visionheight-managed-rules)

  • Construindo aplicações de IA agêntica com data mesh na AWS

    O problema que RAG não resolve para agentes autônomos

    Quando um agente de atendimento ao cliente precisa consultar bancos de dados de pedidos, recuperar políticas de devolução e sintetizar uma resposta completa de forma autônoma, ele está acessando múltiplas fontes de dados ao mesmo tempo. E cada um desses acessos precisa ser governado de forma independente.

    A AWS publicou um artigo técnico aprofundado mostrando por que o modelo de governança pensado para Geração Aumentada por Recuperação (RAG) não é suficiente para esse cenário — e como construir uma fundação de dados segura, escalável e serverless para agentes de IA em produção.

    Em um post anterior sobre aplicações RAG seguras com data lakes serverless, a AWS demonstrou como aplicar controle de acesso refinado filtrando resultados de busca vetorial com metadados como domínio de negócio e classificação de segurança. Essa abordagem funciona bem para RAG porque o fluxo de dados é simples: recuperar trechos de um índice vetorial pré-construído, filtrar por metadados e apresentar os resultados.

    Com IA agêntica, o cenário muda. O agente descobre quais tabelas existem, entende esquemas, constrói consultas SQL, busca em bases de conhecimento vetorial e sintetiza tudo isso em múltiplas etapas. Um único filtro de metadados na borda da recuperação não consegue governar essa cadeia de cinco passos. Além disso, bancos de dados vetoriais sincronizam permissões periodicamente — o que significa que revogações de acesso não são refletidas imediatamente, uma lacuna inaceitável quando um agente age de forma autônoma sobre dados sensíveis.

    A arquitetura de data mesh governado

    A solução proposta pela AWS organiza a arquitetura em quatro camadas distintas, cada uma com seus próprios controles de autorização:

    • Camada do Agente: o AgentCore Runtime hospeda o agente em microVMs isolados com isolamento de sessão. O agente opera dentro do framework LangGraph, que se integra às ferramentas via MCPClient.
    • Camada do Gateway: o AgentCore Gateway inclui um interceptador de requisições (validação de token JWT e aplicação de escopos), um interceptador de respostas (filtragem de ferramentas, redação de dados e log de auditoria) e a AgentCore Policy com Amazon Bedrock Guardrails, que avalia entradas e saídas de cada invocação de ferramenta em tempo real.
    • Camada de Ferramentas: quatro ferramentas MCP com suporte Lambda (get_user_tables, get_schema, run_query e kb_search) fornecem acesso governado aos dados.
    • Data Mesh Governado: Amazon S3 Tables (Iceberg) registradas no AWS Glue Data Catalog, Amazon Athena com controles de custo por workgroup, AWS Lake Formation aplicando segurança em nível de linha, coluna e célula, e Amazon S3 Vectors alimentando as Knowledge Bases do Amazon Bedrock.

    A ideia central é que nenhuma camada sozinha é responsável pela segurança. A defesa em profundidade garante que uma falha em um único controle não exponha dados não autorizados.

    Três mudanças-chave em relação à arquitetura anterior

    A arquitetura descrita no artigo evolui o modelo RAG anterior com três substituições importantes:

    • Substituição do Amazon OpenSearch Serverless pelo Amazon S3 Vectors para bases de conhecimento com custo otimizado — com potencial de reduzir custos de armazenamento e consulta vetorial em até 90% em cargas de trabalho com frequência moderada de consultas.
    • Substituição do Amazon S3 de uso geral pelo Amazon S3 Tables com suporte nativo ao Apache Iceberg, governado pelo AWS Lake Formation — entregando até 10 vezes mais transações por segundo em comparação com tabelas Iceberg autogerenciadas, com segurança granular em nível de linha, coluna e célula.
    • Exposição do data mesh como ferramentas do Protocolo de Contexto de Modelo (MCP) via AgentCore Gateway com interceptadores Lambda para controle de acesso determinístico em cada invocação agente-ferramenta.

    Dados transacionais: S3 Tables com Apache Iceberg

    Para dados estruturados como registros de pedidos e perfis de clientes, a AWS utiliza o Amazon S3 Tables, descrito como o primeiro object store em nuvem com suporte nativo ao Apache Iceberg. O serviço gerencia automaticamente compactação, snapshots e remoção de arquivos não referenciados.

    O S3 Tables se integra ao Amazon SageMaker Lakehouse, que popula o AWS Glue Data Catalog e federa o acesso via Lake Formation. Os três produtos de dados do exemplo (customer_orders, customer_profiles e interaction_history) são consultáveis via Amazon Athena, governados por permissões do Lake Formation e compactados automaticamente pelo S3 Tables.

    Os filtros de dados do Lake Formation aplicam segurança em nível de linha: um filtro com a expressão customer_id = :customer_id restringe todas as consultas aos registros do cliente autenticado, independentemente de como o agente construiu o SQL. A segurança em nível de coluna oculta campos sensíveis como payment_method e billing_address completamente dos resultados.

    Base de conhecimento vetorial: Amazon S3 Vectors

    Para dados não estruturados como manuais de produtos, políticas de devolução e perguntas frequentes, a arquitetura usa o Amazon S3 Vectors, um serviço totalmente serverless com suporte nativo a armazenamento e consulta vetorial. O serviço suporta até 2 bilhões de vetores por índice e oferece consistência forte de escrita — vetores recém-adicionados são imediatamente consultáveis.

    Clientes que usam o recurso de Knowledge Base no Amazon Bedrock podem selecionar o S3 Vectors como vector store, com potencial de redução de custos de até 90% em cargas de trabalho com frequência moderada de consultas. Para cargas de trabalho de alto volume de consultas por segundo (QPS) que exigem latência de milissegundos de um dígito, o Amazon OpenSearch Serverless ainda é a melhor opção. A AWS oferece exportação em etapa única do S3 Vectors para coleções do OpenSearch Serverless para cargas que superem o perfil de desempenho do S3 Vectors.

    O S3 Vectors suporta metadados filtráveis (tipos string, número, booleano e lista, com operadores como $eq, $ne, $gt, $in, $and, $or). No exemplo do artigo, documentos são armazenados com chaves de metadados filtráveis como product_category e document_type. O filtro a seguir recupera apenas políticas de devolução de eletrônicos:

    {"$and": [{"product_category": {"$eq": "electronics"}}, {"document_type": {"$eq": "return_policy"}}]}

    AgentCore Gateway: expondo o data mesh com segurança

    O AgentCore Gateway é a camada centralizada que gerencia como os agentes de IA se conectam às ferramentas. Ele consolida autenticação, observabilidade e aplicação de políticas em um único endpoint, convertendo funções Lambda, APIs e servidores MCP existentes em ferramentas compatíveis com MCP.

    As quatro ferramentas MCP do exemplo têm funções bem definidas:

    • get_user_tables: consulta o AWS Glue Data Catalog filtrado pelas permissões do Lake Formation para retornar tabelas autorizadas.
    • get_schema: recupera nomes de colunas, tipos e descrições de uma tabela especificada.
    • run_query: valida SQL contra uma lista de permissões somente leitura, injeta a identidade do cliente para filtragem em nível de linha e executa via Athena com limites de custo por bytes escaneados.
    • kb_search: realiza busca semântica com filtros de metadados contra as Knowledge Bases no Amazon Bedrock.

    O esquema de registro da ferramenta run_query no Gateway é definido da seguinte forma:

    {
      "name": "run_query",
      "description": "Executes a read-only SQL query against governed Iceberg tables via Amazon Athena with byte-scan limits and Lake Formation row-level security.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sql": {"type": "string", "description": "A read-only SQL SELECT statement."},
          "database": {"type": "string", "description": "The Glue Data Catalog database name."}
        },
        "required": ["sql", "database"]
      }
    }

    Interceptadores: controle de acesso determinístico

    Os interceptadores do AgentCore Gateway são funções Lambda personalizadas que aplicam autorização em dois momentos do ciclo de vida da requisição: antes de o Gateway chamar a Lambda de destino (interceptador de requisição) e depois que o destino responde mas antes de os resultados chegarem ao chamador (interceptador de resposta).

    O artigo descreve três padrões principais de interceptação:

    • Controle de invocação por escopo JWT: o interceptador de requisição decodifica o campo de escopo do token e bloqueia invocações de ferramentas não autorizadas.
    • Filtragem dinâmica de ferramentas: o interceptador de resposta remove ferramentas não autorizadas da resposta tools/list com base nos escopos por usuário.
    • Propagação de identidade act-on-behalf: cada hop recebe um token separado com escopo reduzido (por exemplo, a ferramenta de pedidos recebe apenas order:read; a ferramenta de KB recebe apenas kb:search), evitando escalada de privilégios e o problema do confused deputy.

    O código do interceptador de resposta para filtragem dinâmica de ferramentas é o seguinte:

    def lambda_handler(event, context):
        gateway_response = event['mcp']['gatewayResponse']
        auth_header = gateway_response['headers'].get('Authorization', '')
        token = auth_header.replace('Bearer ', '')
        claims = decode_jwt_payload(token)
        scopes = claims.get('scope', '').split()
        tools = gateway_response['body']['result'].get('tools', [])
        filtered_tools = [t for t in tools if check_tool_authorization(
            scopes, t['name'].split('___')[1], t['name'].split('___')[0])]
        return {
            "interceptorOutputVersion": "1.0",
            "mcp": {
                "transformedGatewayResponse": {
                    "statusCode": 200,
                    "headers": {"Authorization": auth_header},
                    "body": {"result": {"tools": filtered_tools}}
                }
            }
        }

    O fluxo completo: cenário de atendimento ao cliente

    O artigo usa um cenário prático para ilustrar a arquitetura em ação. Um cliente entra em contato com o suporte e pergunta: “Onde está meu pedido #12345, e ainda posso devolver os fones de ouvido que comprei semana passada?”

    O fluxo passa por cada camada de governança:

    1. Descoberta de ferramentas: o agente chama o endpoint tools/list do Gateway. O interceptador de resposta filtra a lista com base nos escopos JWT do atendente, retornando quatro ferramentas autorizadas.
    2. Descoberta de tabelas: get_user_tables é invocado. O interceptador de requisição valida o JWT e confirma o escopo order:read. Retorna três tabelas: customer_orders, customer_profiles e interaction_history.
    3. Descoberta de esquema: get_schema em customer_orders revela colunas como order_id, status, ship_date e product_name. A segurança em nível de coluna do Lake Formation exclui payment_method e billing_address — invisíveis para o agente.
    4. Execução da consulta: a query SELECT order_id, status, ship_date, estimated_delivery FROM customer_orders WHERE order_id = '12345' é submetida via run_query, que injeta a identidade do cliente autenticado para resolver o filtro de linha do Lake Formation. O workgroup do Athena aplica o limite BytesScannedCutoffPerQuery. Resultado: pedido #12345 enviado em 20 de março, entrega estimada para 25 de março.
    5. Recuperação da base de conhecimento: simultaneamente, kb_search é executado com a query “return policy for electronics” e filtro de metadados {"product_category": {"$eq": "electronics"}}. A política retornada indica: eletrônicos podem ser devolvidos em até 30 dias da compra na embalagem original.
    6. Síntese da resposta: o agente combina os dois resultados em uma resposta coerente ao cliente.

    Cinco camadas de governança de consultas

    O artigo detalha cinco camadas sobrepostas de proteção que limitam o que o agente pode consultar, quanto dado pode escanear e quais informações chegam ao modelo:

    1. Controles de custo do workgroup do Athena: limite BytesScannedCutoffPerQuery cancela automaticamente consultas que excedam o threshold. A configuração EnforceWorkGroupConfiguration impede o agente de contornar esses limites.
    2. Prevenção de DDL via políticas IAM somente leitura: a role de execução da Lambda possui deny explícito para ações mutantes no Glue Data Catalog (glue:CreateTable, glue:DeleteTable, glue:UpdateTable).
    3. Acesso refinado do Lake Formation: políticas de segurança em cinco níveis de granularidade (banco de dados, tabela, coluna, linha e célula) aplicadas nativamente no Athena, Redshift Spectrum, AWS Glue ETL e Amazon EMR sem custo adicional. Mais detalhes em Lake Formation data filtering.
    4. Interceptadores do Gateway: interceptadores de requisição aplicam autorização baseada em escopo JWT antes da execução da ferramenta; interceptadores de resposta filtram listas de ferramentas e redigem dados sensíveis.
    5. Amazon Bedrock Guardrails via AgentCore Policy: controles de segurança de conteúdo integrados diretamente ao Policy Engine do AgentCore, avaliando entradas e saídas de cada ação do agente em tempo real — bloqueando injeção de prompt, conteúdo prejudicial e exposição de informações sensíveis antes que cheguem a sistemas downstream.

    O artigo explica por que aplicar guardrails exclusivamente na fronteira de inferência do modelo é insuficiente para arquiteturas agênticas: em RAG, o modelo é o único componente que sintetiza informações, então filtrar sua saída captura todas as violações. Em IA agêntica, o agente invoca múltiplas ferramentas e constrói consultas em vários hops antes de qualquer resposta do modelo ser gerada. Um guardrail que avalia apenas a saída final do modelo não pode impedir que uma entrada maliciosa ou manipulada chegue a uma invocação de ferramenta intermediária.

    Pré-requisitos para implementação

    Para implementar essa arquitetura, a AWS lista os seguintes requisitos:

    Deploy das ferramentas MCP e interceptadores

    O processo de deploy descrito no artigo envolve clonar o repositório de exemplos de interceptadores do AgentCore Gateway e criar cada função Lambda via AWS CLI:

    aws lambda create-function --function-name get_user_tables \
      --runtime python3.12 --handler lambda_function.lambda_handler \
      --role arn:aws:iam::ACCOUNT_ID:role/mcp-tool-role \
      --zip-file fileb://function.zip

    Em seguida, as políticas IAM do diretório policies/ do repositório são anexadas a cada role de execução. As funções Lambda são registradas como targets de ferramentas MCP no AgentCore Gateway e os interceptadores de requisição e resposta são anexados ao gateway. O código-fonte completo das quatro ferramentas MCP, as políticas IAM e as instruções de deploy estão disponíveis nos exemplos de interceptadores do AgentCore Gateway.

    Limpeza dos recursos

    Para evitar cobranças contínuas após explorar a arquitetura, a AWS recomenda excluir os seguintes recursos:

    Próximos passos

    Para começar a construir sua própria arquitetura de agente governado, a AWS sugere as seguintes ações:

    Fonte

    Building agentic AI applications with a modern data mesh strategy on AWS (https://aws.amazon.com/blogs/machine-learning/building-agentic-ai-applications-with-a-modern-data-mesh-strategy-on-aws/)