View a markdown version of this page

Configurer Amazon Bedrock AgentCore Gateway VPC Egress pour les cibles de passerelle - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer Amazon Bedrock AgentCore Gateway VPC Egress pour les cibles de passerelle

Le service AgentCore Gateway fournit une gestion sécurisée et contrôlée du trafic de sortie pour vos applications, permettant ainsi une communication fluide avec les ressources de votre cloud privé virtuel (VPC). Ce document décrit comment le trafic sortant passe par la AgentCore passerelle pour atteindre les ressources VPC. Vous découvrirez les types de cibles de passerelle pris en charge (serveurs Lambda, API Gateway et MCP via AgentCore Runtime), leurs exigences de configuration et les méthodes d'authentification prises en charge pour chaque type de cible. Ce guide couvre les considérations de sécurité, les mécanismes de routage et les meilleures pratiques nécessaires pour permettre un flux de trafic sortant approprié tout en maintenant l'isolation du réseau et en respectant le principe du moindre privilège dans l'ensemble de votre architecture.

MCP

AgentCore Gateway prend en charge les serveurs MCP (Model Context Protocol) en tant que points de terminaison cibles, offrant des options de déploiement flexibles pour répondre aux différentes exigences des clients. Les serveurs MCP peuvent être configurés de différentes manières en fonction de vos besoins d'infrastructure et de vos exigences de sécurité.

Vos cibles MCP peuvent être de deux types, non hébergées sur AgentCore, ou hébergées sur AgentCore Runtime ou Gateway. Nous discutons des deux ci-dessous.

Les MCP ne sont pas hébergés sur AgentCore

AgentCore Gateway prend en charge la connexion à des serveurs MCP auto-hébergés s'exécutant dans votre VPC à l'aide de points de terminaison privés alimentés par Amazon VPC Lattice. Vous pouvez configurer une cible privateEndpoint sur votre passerelle pour acheminer le trafic en privé vers votre serveur MCP sans l'exposer à l'Internet public.

L'exemple suivant crée une cible de serveur MCP privé à l'aide de Lattice géré :

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

Si vous souhaitez acheminer le trafic via un composant intermédiaire tel qu'un point de terminaison VPC ou un équilibreur de charge interne, vous pouvez spécifier un. routingDomain Pour plus d'informations, consultez la section Acheminer le trafic via un domaine intermédiaire.

Si votre serveur MCP utilise un certificat TLS émis par une autorité de certification privée, vous pouvez placer un équilibreur de charge d'application interne avec un certificat ACM public devant celui-ci. Pour plus d'informations, consultez la section Solution pour les certificats privés : ALB.

Pour connaître Lattice autogéré, les configurations multicomptes et les configurations avancées, consultez Connexion à des ressources privées de votre VPC à l'aide de VPC Lattice.

AgentCore Runtime ou Gateway

AgentCore Runtime fournit un support natif pour communiquer avec les ressources de votre VPC via une approche d'infrastructure gérée. Toutes les communications entre AgentCore Gateway et AgentCore Runtime restent centralisées, ce AWS qui garantit que vos données ne transitent jamais par l'Internet public (à l'exception des appels interrégionaux vers des centres de données chinois). Pour plus d'informations, consultez la section Connectivité dans les FAQ Amazon VPC. Pour obtenir des instructions de configuration détaillées sur la connexion de AgentCore Runtime à votre VPC, consultez la section Configurer Amazon Bedrock AgentCore Runtime et les outils pour VPC

Pour l'autorisation sortante depuis AgentCore Gateway vers AgentCore Runtime, deux méthodes d'authentification sont prises en charge : aucune autorisation (non recommandée pour une utilisation en production) et OAuth avec octroi d'informations d'identification client (pour l'authentification de machine à machine). Lorsqu'aucune autorisation n'est configurée, la demande de AgentCore Gateway à AgentCore Runtime ne comporte aucun jeton d'authentification. Cette architecture fournit une voie de connexion fluide tout en maintenant l'isolation de sécurité. À titre de meilleure pratique en matière de sécurité, configurez des autorisations d'authentification et d'autorisation restrictives pour AgentCore Runtime et AgentCore Gateway, en limitant l'accès aux seules ressources et opérations nécessaires à votre cas d'utilisation spécifique. Pour configurer une identité OAuth à utiliser par AgentCore Gateway pour la sortie et l'entrée pour AgentCore Runtime, utilisez les documents suivants :

Schéma d'architecture montrant que AgentCore Gateway ne peut pas se connecter au point de terminaison Private Link.

Exemple CreateGatewayTarget avec AgentCore Runtime comme cible

L'exemple suivant montre comment créer une cible de passerelle avec 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>" } } } }
Note

Évitez d'utiliser une URL de point de terminaison VPC (VPCE) avec privateEndpoint pour éviter un saut réseau supplémentaire inutile. Utilisez plutôt le point de terminaison AgentCore d'exécution direct, avec lequel le trafic reste sur le AWS backbone.

Cible d'API ouverte

Point de terminaison API Gateway via Open API Target

Si votre API Gateway ne peut pas être ajoutée directement en tant que cible, vous pouvez toujours exporter la ressource en tant que spécification OpenAPI et importer la spécification dans AgentCore Gateway en tant que cible OpenAPI.

Si vous disposez d'API REST privées dans API Gateway, suivez les instructions ci-dessous : API REST privées dans API Gateway.

Autres points de terminaison

Vous pouvez configurer des cibles Open API pour atteindre des points de terminaison privés au sein de votre VPC à l'aide de la privateEndpoint configuration. AgentCore Gateway utilise Amazon VPC Lattice pour établir une connectivité privée avec votre terminal sans l'exposer à l'Internet public.

L'exemple suivant crée une cible OpenAPI privée à l'aide de Lattice géré :

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

Si vous souhaitez acheminer le trafic via un composant intermédiaire tel qu'un point de terminaison VPC ou un équilibreur de charge interne, vous pouvez spécifier un. routingDomain Pour plus d'informations, consultez la section Acheminer le trafic via un domaine intermédiaire.

Si votre terminal utilise un certificat TLS émis par une autorité de certification privée, vous pouvez placer un équilibreur de charge d'application interne avec un certificat ACM public devant celui-ci. Pour plus d'informations, consultez la section Solution pour les certificats privés : ALB.

Pour connaître Lattice autogéré, les configurations multicomptes et les configurations avancées, consultez Connexion à des ressources privées de votre VPC à l'aide de VPC Lattice.

Note

La privateEndpoint configuration s'applique à un seul domaine de votre schéma OpenAPI. Si votre schéma fait référence à plusieurs points de terminaison de serveur avec différents domaines, ouvrez un dossier de AWS support pour privateEndpointOverrides lequel demander de l'aide.

Cible de Smithy

La configuration du point de terminaison privé (privateEndpoint) n'est actuellement pas prise en charge pour les cibles Smithy. Si votre cible Smithy nécessite une connexion privée, ouvrez un dossier d'AWS assistance pour demander de l'aide.

API Gateway

AgentCore Gateway prend en charge API Gateway en tant que type de cible, qui peut servir de couche intermédiaire pour accéder aux ressources VPC. AgentCore Gateway prend spécifiquement en charge les passerelles API REST configurées avec des points de terminaison régionaux uniquement. Bien que la communication VPC directe depuis la passerelle ne soit pas disponible actuellement (cette fonctionnalité est prévue pour une prochaine version), la passerelle communique avec API Gateway via le AWS backbone, garantissant ainsi que le trafic ne traverse jamais l'Internet public (à l'exception des appels interrégionaux vers des centres de données chinois). L'API Gateway peut ensuite communiquer avec les ressources à l'aide de VPC Link, créant ainsi un chemin sécurisé permettant à la AgentCore passerelle d'accéder aux services internes tout en maintenant l'isolation du réseau.

Pour mettre en œuvre les meilleures pratiques de sécurité, configurez votre API Gateway de manière à limiter le trafic entrant exclusivement au principal du service AgentCore Gateway ou à la clé API configurée, empêchant ainsi tout accès non autorisé provenant d'autres sources. Pour l'autorisation sortante de AgentCore Gateway vers API Gateway, seules deux méthodes d'authentification sont prises en charge : l' IAM-based authentification (en utilisant le rôle de service de passerelle pour s'authentifier avec AWS Signature Version 4) et l'authentification par clé API (gérée par AgentCore Gateway) ; l' OAuth-based autorisation et les passerelles API inter-comptes ne sont pas prises en charge pour les cibles API Gateway, veuillez utiliser le point de terminaison API Gateway via Open API Target pour celles-ci. Limitez les autorisations du rôle d'exécution de AgentCore Gateway pour invoquer uniquement le point de terminaison API Gateway spécifique requis, plutôt que d'accorder un accès étendu à API Gateway, de garantir que la passerelle ne peut pas interagir avec des ressources API involontaires et de maintenir le principe du moindre privilège dans l'ensemble de votre architecture.

Étapes de l'API REST Amazon API Gateway en tant que cibles

Autorisations pour l'intégration d'API Gateway à l'aide d'IAM Auth

Politique de ressources API Gateway verrouillée sur AgentCore Gateway

La politique de ressources suivante limite l'accès d'API Gateway à 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 Politique relative au rôle d'exécution de la passerelle

La politique suivante accorde à la passerelle l'autorisation d'invoquer 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 Politique de confiance relative aux rôles d'exécution de la passerelle

La politique de confiance suivante permet à AgentCore Gateway d'assumer le rôle d'exécution :

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

API REST privées dans API Gateway

Les cibles API Gateway avec des points de terminaison privés ne sont pas prises en charge de manière native. Cependant, vous pouvez exporter votre passerelle API privée en tant que schéma OpenAPI et utiliser une cible Open API avec ce schéma, configuré avec unprivateEndpoint. Définissez le nom DNS routingDomain de votre point de terminaison VPC (VPCE) API Gateway et assurez-vous que l'URL du serveur de schéma OpenAPI utilise le domaine correspondant à votre certificat TLS public.

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

Pour plus de détails sur la configuration des terminaux privés, consultez Connexion à des ressources privées de votre VPC à l'aide de VPC Lattice.

Lambda

AgentCore Gateway prend en charge les cibles Lambda comme l'un de ses types de cibles, ce qui permet d'invoquer de manière fluide les fonctions Lambda qui peuvent communiquer avec les ressources de votre VPC. Cette fonctionnalité est disponible prête à l'emploi et ne nécessite aucune configuration supplémentaire de la part des clients. La passerelle peut immédiatement invoquer les fonctions Lambda configurées avec un accès VPC pour accéder à vos ressources internes telles que des bases de données, des API ou d'autres services. Pour maintenir les meilleures pratiques de sécurité, il est fortement recommandé de configurer le rôle d'exécution de AgentCore Gateway avec des autorisations minimales, en le limitant spécifiquement pour qu'il n'invoque que la fonction Lambda prévue au lieu d'accorder des autorisations d'exécution Lambda étendues. Ce principe de moindre privilège garantit que la passerelle, ou tout autre appelant jouant le même rôle, ne peut pas invoquer par inadvertance des fonctions Lambda involontaires, réduisant ainsi votre surface d'attaque de sécurité et maintenant des contrôles d'accès stricts au sein de votre environnement. AWS

Fournisseurs d'identité privés

AgentCore prend désormais en charge la connexion à des fournisseurs d'identité OAuth privés pour les fournisseurs d'autorisation JWT entrants et les fournisseurs d'informations d'identification OAuth sortants. Cela vous permet d'utiliser des serveurs auto-hébergés IdPs tels que Keycloak ou d'autres serveurs d' OIDC-compliant autorisation exécutés dans votre VPC sans les exposer à l'Internet public. PingFederate

Pour obtenir des instructions de configuration détaillées, consultez la section Connexion à des fournisseurs d'identité privés dans votre VPC.

Vous pouvez également utiliser une fonction Lambda d'intercepteur pour l'authentification entrante et remplacer l'en-tête Authorization dans l'intercepteur Lambda à utiliser avec l'authentification sortante :

Limites et considérations

  • Autorisation entrante requise  : les cibles de passerelle configurées avec un privateEndpoint ne peuvent pas être utilisées NO_AUTH comme type d'autorisation entrante à moins qu'un intercepteur Lambda ne soit configuré sur la passerelle.

Pour des limitations supplémentaires liées à la connectivité entre comptes et à la configuration DNS TTL, consultez Limitations et considérations dans Connexion aux ressources privées de votre VPC à l'aide de VPC Lattice.