View a markdown version of this page

Configurazione dell'uscita VPC di Amazon Bedrock AgentCore Gateway per destinazioni gateway - Amazon Bedrock AgentCore

Configurazione dell'uscita VPC di Amazon Bedrock AgentCore Gateway per destinazioni gateway

Il servizio AgentCore Gateway fornisce una gestione sicura e controllata del traffico in uscita per le applicazioni, consentendo una comunicazione senza interruzioni con le risorse all'interno del Virtual Private Cloud (VPC). Questo documento descrive come il traffico in uscita fluisce attraverso il AgentCore Gateway per raggiungere le risorse VPC. Scoprirai i tipi di target gateway supportati (Lambda, API Gateway e server MCP tramite AgentCore Runtime), i relativi requisiti di configurazione e i metodi di autenticazione supportati per ogni tipo di destinazione. Questa guida illustra le considerazioni sulla sicurezza, i meccanismi di routing e le best practice necessarie per consentire il corretto flusso del traffico in uscita, mantenendo al contempo l'isolamento della rete e seguendo il principio del privilegio minimo in tutta l'architettura.

MCP

AgentCore Gateway supporta i server Model Context Protocol (MCP) come endpoint di destinazione, offrendo opzioni di implementazione flessibili per soddisfare le diverse esigenze dei clienti. I server MCP possono essere configurati in diversi modi a seconda delle esigenze di infrastruttura e dei requisiti di sicurezza.

I target MCP possono essere di due tipi, non ospitati su o ospitati su AgentCore AgentCore Runtime o Gateway. Ne discuteremo entrambi di seguito.

MCP non ospitati su AgentCore

AgentCore Gateway supporta la connessione a server MCP con hosting autonomo in esecuzione all'interno del tuo VPC utilizzando endpoint privati basati su Amazon VPC Lattice. Puoi configurare un target privateEndpoint sul tuo gateway per instradare il traffico privatamente verso il tuo server MCP senza esporlo alla rete Internet pubblica.

L'esempio seguente crea una destinazione server MCP privata utilizzando Lattice gestito:

{ "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 desideri indirizzare il traffico attraverso un componente intermedio come un endpoint VPC o un sistema di bilanciamento del carico interno, puoi specificare a. routingDomain Per ulteriori informazioni, consulta Indirizzare il traffico attraverso un dominio intermedio.

Se il server MCP utilizza un certificato TLS emesso da un'autorità di certificazione privata, è possibile inserire un Application Load Balancer interno con un certificato ACM pubblico davanti ad esso. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.

Per Lattice autogestito, configurazioni tra account e configurazioni avanzate, consulta Connettiti a risorse private nel tuo VPC usando VPC Lattice.

AgentCore Runtime o Gateway

AgentCore Runtime fornisce supporto nativo per la comunicazione con le risorse all'interno del VPC tramite un approccio di infrastruttura gestita. Tutte le comunicazioni tra AgentCore Gateway e AgentCore Runtime rimangono sulla AWS spina dorsale, garantendo che i dati non attraversino mai la rete Internet pubblica (ad eccezione delle chiamate interregionali verso i data center della Cina). Per ulteriori informazioni, consulta la sezione Connettività nelle Domande frequenti su Amazon VPC. Per istruzioni di configurazione dettagliate sulla connessione AgentCore di Runtime al tuo VPC, consulta Configura Amazon Bedrock AgentCore Runtime e strumenti per VPC

Per l'autorizzazione in uscita da AgentCore Gateway a AgentCore Runtime, sono supportati due metodi di autenticazione: nessuna autorizzazione (non consigliata per l'uso in produzione) e OAuth con concessione delle credenziali del client (per l'autenticazione da macchina a macchina). Quando non è configurata alcuna autorizzazione, la richiesta da AgentCore Gateway a Runtime non ha token di autenticazione. AgentCore Questa architettura offre un percorso di connessione senza interruzioni pur mantenendo l'isolamento di sicurezza. Come best practice di sicurezza, configura autorizzazioni restrittive di autenticazione e autorizzazione sia per AgentCore Runtime che per AgentCore Gateway, limitando l'accesso solo alle risorse e alle operazioni necessarie per il caso d'uso specifico. Per configurare un'identità OAuth da utilizzare da AgentCore Gateway per l'uscita e l'ingresso per Runtime, utilizza i seguenti documenti: AgentCore

Diagramma di architettura che mostra che AgentCore Gateway non può connettersi all'endpoint Private Link.

Esempio CreateGatewayTarget con AgentCore Runtime come destinazione

L'esempio seguente mostra come creare un target gateway con 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

Evita di utilizzare un URL di endpoint VPC (VPCE) con privateEndpoint per evitare un hop di rete aggiuntivo non necessario. Utilizza invece l'endpoint Direct AgentCore Runtime, con il quale il traffico rimane sulla spina dorsale. AWS

Obiettivo API aperto

Endpoint API Gateway tramite Open API Target

Se il tuo API Gateway non può essere aggiunto direttamente come destinazione, puoi sempre esportare la risorsa come specifica OpenAPI e importare la specifica in Gateway AgentCore come destinazione OpenAPI.

Se disponi di API REST private in API Gateway, segui le istruzioni qui: API REST private in API Gateway.

Altri endpoint

Puoi configurare obiettivi Open API per raggiungere endpoint privati all'interno del tuo VPC utilizzando privateEndpoint la configurazione. AgentCore Gateway utilizza Amazon VPC Lattice per stabilire una connettività privata con il tuo endpoint senza esporlo alla rete Internet pubblica.

L'esempio seguente crea un target OpenAPI privato utilizzando Lattice gestito:

{ "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 desideri indirizzare il traffico attraverso un componente intermedio come un endpoint VPC o un sistema di bilanciamento del carico interno, puoi specificare a. routingDomain Per ulteriori informazioni, consulta Indirizzare il traffico attraverso un dominio intermedio.

Se il tuo endpoint utilizza un certificato TLS emesso da un'autorità di certificazione privata, puoi inserire un Application Load Balancer interno con un certificato ACM pubblico davanti ad esso. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.

Per Lattice autogestito, configurazioni tra account e configurazioni avanzate, consulta Connettiti a risorse private nel tuo VPC usando VPC Lattice.

Nota

La privateEndpoint configurazione si applica a un singolo dominio nello schema OpenAPI. Se lo schema fa riferimento a più endpoint server con domini diversi, apri un caso di AWS supporto per cui richiedere assistenza. privateEndpointOverrides

Obiettivo di Smithy

La configurazione privata degli endpoint (privateEndpoint) non è attualmente supportata per i target Smithy. Se il tuo target Smithy richiede una connettività privata, apri un caso di AWS supporto per richiedere assistenza.

Gateway API

AgentCore Gateway supporta API Gateway come tipo di destinazione, che può fungere da livello intermedio per l'accesso alle risorse VPC. AgentCore Gateway supporta specificamente i gateway API REST configurati solo con endpoint regionali. Sebbene la comunicazione VPC diretta dal Gateway non sia attualmente disponibile (questa funzionalità è prevista per versioni future), il gateway comunica con API Gateway tramite la AWS dorsale, assicurando che il traffico non attraversi mai la rete Internet pubblica (ad eccezione delle chiamate interregionali verso i data center della Cina). L'API Gateway può quindi comunicare con le risorse utilizzando VPC Link, creando un percorso sicuro per il AgentCore gateway per raggiungere i servizi interni mantenendo l'isolamento della rete.

Per implementare le migliori pratiche di sicurezza, configura il tuo API Gateway per limitare il traffico in entrata esclusivamente al principale del servizio AgentCore Gateway o alla chiave API configurata, impedendo l'accesso non autorizzato da altre fonti. Per l'autorizzazione in uscita da AgentCore Gateway a API Gateway, sono supportati solo due metodi di autenticazione: IAM-based l'autenticazione (utilizzando il ruolo del servizio gateway per l'autenticazione con AWS Signature Version 4) e l'autenticazione con chiave API (gestita da AgentCore Gateway); l' OAuth-based autorizzazione e i Cross Account API Gateway non sono supportati per i target API Gateway, per questi utilizzi l'endpoint API Gateway tramite Open API Target. Limita le autorizzazioni del ruolo di esecuzione AgentCore Gateway per richiamare solo l'endpoint API Gateway specifico richiesto, anziché concedere un ampio accesso all'API Gateway, assicurando che il gateway non possa interagire con risorse API indesiderate e mantenendo il principio del privilegio minimo in tutta l'architettura.

Le fasi dell'API REST di Amazon API Gateway come obiettivi

Autorizzazioni per l'integrazione di API Gateway tramite IAM Auth

Politica delle risorse di API Gateway bloccata su AgentCore Gateway

La seguente politica delle risorse limita l'accesso dell'API Gateway al 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 Politica del ruolo di esecuzione del gateway

La seguente politica concede al gateway l'autorizzazione a richiamare l'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 Politica di fiducia del ruolo di esecuzione del Gateway

La seguente politica di fiducia consente a AgentCore Gateway di assumere il ruolo di esecuzione:

{ "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/*" } } } ] }

REST API private in Gateway API

Le destinazioni API Gateway con endpoint privati non sono supportate in modo nativo. Tuttavia, puoi esportare il tuo API Gateway privato come schema OpenAPI e utilizzare un target Open API con quello schema, configurato con un. privateEndpoint Imposta il routingDomain nome DNS dell'endpoint VPC (VPCE) del tuo API Gateway e assicurati che l'URL del server dello schema OpenAPI utilizzi il dominio che corrisponde al tuo certificato TLS pubblico.

{ "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>" } } } }

Per maggiori dettagli sulla configurazione degli endpoint privati, consulta Connettiti a risorse private nel tuo VPC usando VPC Lattice.

Lambda

AgentCore Gateway supporta le destinazioni Lambda come uno dei suoi tipi di destinazione, permettendo di richiamare senza interruzioni le funzioni Lambda in grado di comunicare con le risorse all'interno del VPC. Questa funzionalità è disponibile immediatamente e non richiede alcuna configurazione aggiuntiva da parte dei clienti: il gateway può richiamare immediatamente le funzioni Lambda che sono state configurate con l'accesso VPC per raggiungere le risorse interne come database, API o altri servizi. Per mantenere le migliori pratiche di sicurezza, si consiglia vivamente di configurare il ruolo di esecuzione AgentCore Gateway con autorizzazioni minime, in particolare limitandolo a richiamare solo la funzione Lambda prevista anziché concedere autorizzazioni di esecuzione Lambda ampie. Questo principio del privilegio minimo garantisce che il gateway, o qualsiasi altro chiamante che utilizza lo stesso ruolo, non possa invocare inavvertitamente funzioni Lambda non intenzionali, riducendo così la superficie di attacco di sicurezza e mantenendo rigorosi controlli di accesso all'interno dell'ambiente. AWS

Fornitori di identità privati

AgentCore ora supporta la connessione a provider di identità OAuth privati sia per l'autorizzazione JWT in entrata che per i provider di credenziali OAuth in uscita. Ciò ti consente di utilizzare server ospitati autonomamente IdPs come Keycloak o altri server di OIDC-compliant autorizzazione in esecuzione all'interno del tuo VPC senza esporli alla rete Internet pubblica. PingFederate

Per istruzioni dettagliate sulla configurazione, consulta Connect to private identity provider nel tuo VPC.

In alternativa, puoi utilizzare una funzione Lambda interceptor per l'autenticazione in entrata e sovrascrivere l'intestazione Authorization nell'interceptor Lambda per utilizzarla con l'autenticazione in uscita:

Considerazioni e limitazioni

  • Autorizzazione in ingresso richiesta: i target gateway configurati con un privateEndpoint non possono essere utilizzati NO_AUTH come tipo di autorizzazione in ingresso a meno che sul gateway non sia configurato un interceptor Lambda.

Per ulteriori limitazioni relative alla connettività tra account e alla configurazione TTL DNS, consulta Limitazioni e considerazioni in Connect a risorse private nel tuo VPC utilizzando VPC Lattice.