View a markdown version of this page

Configurar a saída VPC do Amazon Bedrock AgentCore Gateway para destinos de gateway - Amazon Bedrock AgentCore

Configurar a saída VPC do Amazon Bedrock AgentCore Gateway para destinos de gateway

O serviço AgentCore Gateway fornece gerenciamento de tráfego de saída seguro e controlado para seus aplicativos, permitindo uma comunicação perfeita com os recursos em sua Virtual Private Cloud (VPC). Este documento descreve como o tráfego de saída flui pelo AgentCore Gateway para alcançar os recursos da VPC. Você aprenderá sobre os tipos de destino de gateway compatíveis (servidores Lambda, API Gateway e MCP via AgentCore Runtime), seus requisitos de configuração e os métodos de autenticação compatíveis com cada tipo de alvo. Este guia aborda as considerações de segurança, os mecanismos de roteamento e as melhores práticas necessárias para permitir o fluxo de tráfego de saída adequado, mantendo o isolamento da rede e seguindo o princípio do privilégio mínimo em toda a arquitetura.

MCP

AgentCore O Gateway oferece suporte a servidores Model Context Protocol (MCP) como endpoints de destino, fornecendo opções flexíveis de implantação para atender a vários requisitos do cliente. Os servidores MCP podem ser configurados de várias maneiras, dependendo das necessidades de sua infraestrutura e dos requisitos de segurança.

Seus alvos de MCP podem ser de dois tipos: não hospedados em ou hospedados em AgentCore AgentCore Runtime ou Gateway. Discutimos os dois abaixo.

MCPs não hospedados em AgentCore

AgentCore O Gateway suporta a conexão com servidores MCP auto-hospedados em execução dentro da sua VPC usando endpoints privados desenvolvidos pelo Amazon VPC Lattice. Você pode configurar um privateEndpoint em seu destino de gateway para rotear o tráfego de forma privada para seu servidor MCP sem expô-lo à Internet pública.

O exemplo a seguir cria um destino de servidor MCP privado usando o Lattice gerenciado:

{ "name": "my-private-mcp-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://my-mcp-server.internal.example.com/mcp" } } } }

Se você quiser rotear o tráfego por meio de um componente intermediário, como um VPC endpoint ou balanceador de carga interno, você pode especificar um. routingDomain Para obter mais informações, consulte Rotear o tráfego por meio de um domínio intermediário.

Se seu servidor MCP usa um certificado TLS emitido por uma autoridade de certificação privada, você pode colocar um Application Load Balancer interno com um certificado ACM público à sua frente. Para obter mais informações, consulte Solução alternativa para certificados privados: ALB.

Para Lattice autogerenciado, configurações entre contas e configurações avançadas, consulte Conecte-se a recursos privados em sua VPC usando o VPC Lattice.

AgentCore Tempo de execução ou gateway

AgentCore O Runtime fornece suporte nativo para comunicação com recursos em sua VPC por meio de uma abordagem de infraestrutura gerenciada. Toda a comunicação entre o AgentCore Gateway e o AgentCore Runtime permanece na AWS espinha dorsal, garantindo que seus dados nunca atravessem a Internet pública (exceto para chamadas entre regiões para datacenters na China). Para obter mais informações, consulte a seção Conectividade nas perguntas frequentes da Amazon VPC. Para obter instruções de configuração detalhadas sobre como conectar o AgentCore Runtime à sua VPC, consulte Configurar o Amazon Bedrock AgentCore Runtime and tools for VPC

Para autorização de saída do AgentCore Gateway para o AgentCore Runtime, dois métodos de autenticação são suportados: sem autorização (não recomendado para uso em produção) e OAuth com concessão de credenciais do cliente (para autenticação máquina a máquina). Quando nenhuma autorização é configurada, a solicitação do AgentCore Gateway para o AgentCore Runtime não tem tokens de autenticação. Essa arquitetura fornece um caminho de conexão contínuo, mantendo o isolamento de segurança. Como prática recomendada de segurança, configure permissões restritivas de autenticação e autorização para o AgentCore Runtime e o AgentCore Gateway, limitando o acesso somente aos recursos e operações necessários para seu caso de uso específico. Para configurar uma identidade OAuth a ser usada pelo AgentCore Gateway para saída e entrada no AgentCore Runtime, use os seguintes documentos:

Diagrama de arquitetura mostrando que o AgentCore Gateway não pode se conectar ao endpoint do Private Link.

Exemplo CreateGatewayTarget com AgentCore Runtime como alvo

O exemplo a seguir mostra como criar um destino de gateway com o AgentCore Runtime:

POST /gateways/gatewayIdentifier/targets/ HTTP/1.1 Content-type: application/json { "clientToken": "string", "credentialProviderConfigurations": [ { "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "scopes": [ "string" ], ... } }, "credentialProviderType": "OAUTH" } ], "description": "string", "metadataConfiguration": { "allowedQueryParameters": [ "string" ], "allowedRequestHeaders": [ "string" ], "allowedResponseHeaders": [ "string" ] }, "name": "string", "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://bedrock-agentcore.<region>.amazonaws.com/runtimes/<runtime-id>/invocations?qualifier=DEFAULT&accountId=<account-id>" } } } }
nota

Evite usar uma URL de VPC endpoint (VPCE) privateEndpoint para evitar um salto extra desnecessário na rede. Em vez disso, use o endpoint direto do AgentCore Runtime, com o qual o tráfego permanece no AWS backbone.

Alvo de API aberta

Endpoint do API Gateway via Open API Target

Se seu API Gateway não puder ser adicionado diretamente como um destino, você sempre poderá exportar o recurso como uma especificação OpenAPI e importar a especificação para o Gateway AgentCore como um destino OpenAPI.

Se você tiver APIs REST privadas no API Gateway, siga as instruções aqui: APIs REST privadas no API Gateway.

Outros endpoints

Você pode configurar metas de API aberta para alcançar endpoints privados dentro da sua VPC usando privateEndpoint a configuração. AgentCore O Gateway usa o Amazon VPC Lattice para estabelecer conectividade privada com seu endpoint sem expô-lo à Internet pública.

O exemplo a seguir cria um destino OpenAPI privado usando o Lattice gerenciado:

{ "name": "my-private-openapi-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<your OpenAPI spec JSON with server URL pointing to your private endpoint>" } } } }

Se você quiser rotear o tráfego por meio de um componente intermediário, como um VPC endpoint ou balanceador de carga interno, você pode especificar um. routingDomain Para obter mais informações, consulte Rotear o tráfego por meio de um domínio intermediário.

Se seu endpoint usa um certificado TLS emitido por uma autoridade de certificação privada, você pode colocar um Application Load Balancer interno com um certificado ACM público na frente dele. Para obter mais informações, consulte Solução alternativa para certificados privados: ALB.

Para Lattice autogerenciado, configurações entre contas e configurações avançadas, consulte Conecte-se a recursos privados em sua VPC usando o VPC Lattice.

nota

A privateEndpoint configuração se aplica a um único domínio em seu esquema OpenAPI. Se seu esquema fizer referência a vários endpoints de servidor com domínios diferentes, abra um caso de AWS Support para solicitar suporte. privateEndpointOverrides

Alvo de Smithy

Atualmente, a configuração de endpoint privado (privateEndpoint) não é suportada para destinos do Smithy. Se seu alvo da Smithy precisar de conectividade privada, abra um caso de AWS suporte para solicitar suporte.

API Gateway

AgentCore O Gateway oferece suporte ao API Gateway como um tipo de destino, que pode servir como uma camada intermediária para acessar recursos de VPC. AgentCore O Gateway oferece suporte específico a gateways de API REST configurados somente com endpoints regionais. Embora a comunicação VPC direta do Gateway não esteja disponível no momento (esse recurso está planejado para lançamento futuro), o gateway se comunica com o API Gateway pelo AWS backbone, garantindo que o tráfego nunca atravesse a Internet pública (exceto para chamadas entre regiões para datacenters da China). O API Gateway pode então se comunicar com os recursos usando o VPC Link, criando um caminho seguro para o AgentCore Gateway alcançar serviços internos e, ao mesmo tempo, manter o isolamento da rede.

Para implementar as melhores práticas de segurança, configure seu API Gateway para restringir o tráfego de entrada exclusivamente ao serviço principal do AgentCore Gateway ou à chave de API configurada, impedindo o acesso não autorizado de outras fontes. Para autorização de saída do AgentCore Gateway para o API Gateway, apenas dois métodos de autenticação são suportados: IAM-based autenticação (usando a função de serviço de gateway para autenticar com o AWS Signature versão 4) e autenticação por chave de API (gerenciada pelo AgentCore Gateway); OAuth-based autorização e Gateways de API de contas cruzadas não são compatíveis com destinos do API Gateway. Use o endpoint do API Gateway via Open API Target para esses alvos. Limite as permissões da função de execução do AgentCore Gateway para invocar somente o endpoint específico do API Gateway necessário, em vez de conceder amplo acesso ao API Gateway, garantindo que o gateway não possa interagir com recursos de API não intencionais e mantendo o princípio do privilégio mínimo em toda a sua arquitetura.

Estágios da API REST do Amazon API Gateway como alvos

Permissões para integração com o API Gateway usando o IAM Auth

Política de recursos do API Gateway bloqueada no AgentCore gateway

A política de recursos a seguir restringe o acesso do API Gateway ao AgentCore Gateway:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:rest-api-id/api-stage/*/*" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/my-gateway-d4jrgkaske" } } } ] }

AgentCore Política de função de execução do gateway

A política a seguir concede ao gateway permissão para invocar o API Gateway:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:abcd123/prod/*/*" ] } ] }

AgentCore Política de confiança do Gateway Execution Role

A política de confiança a seguir permite que o AgentCore Gateway assuma a função de execução:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/*" } } } ] }

APIs REST privadas no API Gateway

Os destinos do API Gateway com endpoints privados não têm suporte nativo. No entanto, você pode exportar seu API Gateway privado como um esquema OpenAPI e usar um destino de API aberta com esse esquema, configurado com um. privateEndpoint routingDomainDefina o nome DNS do seu VPC endpoint (VPCE) do API Gateway e garanta que a URL do servidor do esquema OpenAPI use o domínio que corresponde ao seu certificado TLS público.

{ "name": "my-private-apigw-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0123456789abcdef0", "subnetIds": ["subnet-0123456789abcdef0", "subnet-0abcdef1234567890"], "endpointIpAddressType": "IPV4", "routingDomain": "<vpce-id>.execute-api.<region>.vpce.amazonaws.com" } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<OpenAPI spec JSON with server URL matching the public certificate domain for your API Gateway, for example https://<api-id>.execute-api.<region>.amazonaws.com>" } } } }

Para obter mais detalhes sobre a configuração de endpoints privados, consulte Conecte-se a recursos privados em sua VPC usando o VPC Lattice.

Lambda

AgentCore O Gateway oferece suporte a alvos Lambda como um dos tipos de destino, permitindo a invocação perfeita de funções Lambda que podem se comunicar com recursos em sua VPC. Essa funcionalidade está disponível imediatamente e não requer configuração adicional dos clientes. O gateway pode invocar imediatamente as funções do Lambda que foram configuradas com acesso à VPC para acessar seus recursos internos, como bancos de dados, APIs ou outros serviços. Para manter as melhores práticas de segurança, é altamente recomendável configurar a função de execução do AgentCore Gateway com permissões mínimas, limitando-a especificamente a invocar somente a função Lambda pretendida, em vez de conceder amplas permissões de execução do Lambda. Esse princípio de privilégio mínimo garante que o gateway, ou qualquer outro chamador usando a mesma função, não possa invocar inadvertidamente funções Lambda não intencionais, reduzindo assim sua superfície de ataque de segurança e mantendo controles de acesso rígidos em seu ambiente. AWS

Provedores de identidade privada

AgentCore agora oferece suporte à conexão com provedores de identidade OAuth privados tanto para autorização JWT de entrada quanto para provedores de credenciais OAuth de saída. Isso permite que você use servidores auto-hospedados, IdPs como o Keycloak PingFederate, ou outros servidores de OIDC-compliant autorização executados dentro da sua VPC sem expô-los à Internet pública.

Para obter instruções detalhadas de configuração, consulte Conecte-se a provedores de identidade privada em sua VPC.

Como alternativa, você pode usar uma função Lambda do interceptor para autenticação de entrada e substituir o cabeçalho de autorização no interceptor Lambda para uso com autenticação de saída:

Limitações e considerações

  • Autorização de entrada necessária: alvos de gateway configurados com a privateEndpoint não podem ser usados NO_AUTH como o tipo de autorizador de entrada, a menos que um interceptor Lambda esteja configurado no gateway.

Para ver as limitações adicionais relacionadas à conectividade entre contas e à configuração do DNS TTL, consulte Limitações e considerações em Conecte-se a recursos privados em sua VPC usando o VPC Lattice.