Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione di Amazon Bedrock AgentCore Gateway VPC Egress per Gateway Targets
Il servizio AgentCore Gateway fornisce una gestione sicura e controllata del traffico in uscita per le tue applicazioni, consentendo una comunicazione senza interruzioni con le risorse all'interno del tuo Virtual Private Cloud (VPC). Questo documento illustra come il traffico in uscita fluisce attraverso il AgentCore Gateway per raggiungere le risorse VPC. Scoprirai i tipi di destinazione dei gateway supportati (server Lambda, API Gateway e MCP tramite AgentCore Runtime), i relativi requisiti di configurazione e i metodi di autenticazione supportati per ciascun tipo di destinazione. Questa guida illustra le considerazioni sulla sicurezza, i meccanismi di routing e le best practice necessarie per consentire un corretto flusso di traffico in uscita mantenendo l'isolamento della rete e rispettando il principio del privilegio minimo in tutta l'architettura.
MCP
AgentCore Gateway supporta i server Model Context Protocol (MCP) come endpoint di destinazione, fornendo opzioni di distribuzione 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 tuoi obiettivi MCP potrebbero essere di due tipi, non ospitati su o ospitati su AgentCore AgentCore Runtime o Gateway. Di seguito ne discuteremo entrambi.
MCP non ospitati su AgentCore
AgentCore Gateway supporta la connessione a server MCP ospitati autonomamente all'interno del tuo VPC utilizzando endpoint privati basati su Amazon VPC Lattice. Puoi configurare una destinazione privateEndpoint sul tuo gateway per indirizzare il traffico privatamente al 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 un. routingDomain Per ulteriori informazioni, consulta Instradare il traffico attraverso un dominio intermedio.
Se il server MCP utilizza un certificato TLS emesso da un'autorità di certificazione privata, puoi inserire un Application Load Balancer interno preceduto da un certificato ACM pubblico. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.
Per le configurazioni autogestite di Lattice, per più account e per le configurazioni avanzate, vedi Connessione a risorse private nel tuo VPC utilizzando VPC Lattice.
AgentCore Runtime o Gateway
AgentCore Runtime fornisce supporto nativo per la comunicazione con le risorse all'interno del VPC attraverso un approccio di infrastruttura gestita. Tutte le comunicazioni tra AgentCore Gateway e AgentCore Runtime rimangono sulla AWS spina dorsale, assicurando che i dati non attraversino mai la rete Internet pubblica (ad eccezione delle chiamate interregionali verso i datacenter cinesi). Per ulteriori informazioni, consulta la sezione
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 fornisce un percorso di connessione senza interruzioni 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 tuo 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
Esempio CreateGatewayTarget con AgentCore Runtime come destinazione
L'esempio seguente mostra come creare un gateway target 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 VPC endpoint (VPCE) con privateEndpoint per evitare un inutile salto di rete aggiuntivo. Utilizza invece l'endpoint AgentCore Runtime diretto, con il quale il traffico rimane sulla spina dorsale. AWS
Aprire la destinazione API
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 AgentCore Gateway 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 i target Open API per raggiungere gli endpoint privati all'interno del tuo VPC utilizzando la configurazione. privateEndpoint AgentCore Gateway utilizza Amazon VPC Lattice per stabilire una connettività privata al 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 un. routingDomain Per ulteriori informazioni, consulta Instradare 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 preceduto da un certificato ACM pubblico. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.
Per le configurazioni autogestite di Lattice, per più account e per le configurazioni avanzate, vedi Connessione a risorse private nel tuo VPC utilizzando VPC Lattice.
Nota
La privateEndpoint configurazione si applica a un singolo dominio nello schema OpenAPI. Se il tuo schema fa riferimento a più endpoint server con domini diversi, apri un caso di AWS supporto privateEndpointOverrides
Obiettivo Smithy
La configurazione privata di endpoint (privateEndpoint) non è attualmente supportata per i target Smithy. Se il tuo target Smithy richiede una connettività privata, apri una richiesta 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 il rilascio futuro), il gateway comunica con API Gateway tramite il AWS backbone, assicurando che il traffico non attraversi mai la rete Internet pubblica (ad eccezione delle chiamate interregionali verso i datacenter cinesi). L'API Gateway può quindi comunicare con le risorse utilizzando VPC Link, creando un percorso sicuro per consentire al Gateway di raggiungere i servizi interni mantenendo l'isolamento della AgentCore rete.
Per implementare le migliori pratiche di sicurezza, configura l'API Gateway in modo da limitare il traffico in entrata esclusivamente all'entità 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 IAM-based autenticazione: 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); OAuth-based l'autorizzazione e i gateway API Cross Account non sono supportati per le destinazioni API Gateway, si prega di utilizzare l'endpoint API Gateway tramite Open API Target per questi. Limita le autorizzazioni del ruolo di esecuzione del AgentCore Gateway per richiamare solo lo specifico endpoint API Gateway 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 la tua architettura.
Le fasi dell'API REST di Amazon API Gateway sono obiettivi
Autorizzazioni per l'integrazione di API Gateway tramite IAM Auth
Politica sulle risorse di API Gateway bloccata su Gateway AgentCore
La seguente politica sulle risorse limita l'accesso di API Gateway a 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 attendibilità del ruolo di esecuzione del gateway
La seguente politica di attendibilità 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 tale schema, configurato con un. privateEndpoint Imposta il routingDomain nome DNS del tuo endpoint VPC (VPCE) 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 Connessione a risorse private nel tuo VPC utilizzando VPC Lattice.
Lambda
AgentCore Gateway supporta i target Lambda come uno dei suoi tipi di destinazione, consentendo l'invocazione senza interruzioni delle 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 configurate con 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 del AgentCore Gateway con autorizzazioni minime, limitandolo in particolare a richiamare solo la funzione Lambda prevista anziché concedere ampie autorizzazioni di esecuzione Lambda. 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 alla sicurezza e mantenendo rigorosi controlli di accesso all'interno dell'ambiente. AWS
Provider 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ò consente di utilizzare server ospitati autonomamente IdPs come Keycloak o altri server di OIDC-compliant autorizzazione in esecuzione all'interno del PingFederate VPC senza esporli alla rete Internet pubblica.
Per istruzioni di configurazione dettagliate, consulta Connessione a provider di identità privati nel tuo VPC.
In alternativa, puoi utilizzare una funzione interceptor Lambda per l'autenticazione in entrata e sovrascrivere l'intestazione Authorization nell'interceptor Lambda per l'utilizzo con l'autenticazione in uscita:
Considerazioni e limitazioni
-
Autorizzazione in ingresso richiesta: le destinazioni del gateway configurate con a
privateEndpointnon possono essere utilizzateNO_AUTHcome tipo di autorizzazione in ingresso a meno che sul gateway non sia configurato un intercettore Lambda.
Per ulteriori limitazioni relative alla connettività tra account e alla configurazione DNS TTL, vedi Limitazioni e considerazioni in Connessione alle risorse private nel tuo VPC tramite VPC Lattice.