View a markdown version of this page

Utiliser les points de terminaison VPC de l'interface (AWS PrivateLink) pour créer une connexion privée entre votre VPC et vos ressources Amazon Bedrock AgentCore - 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.

Utiliser les points de terminaison VPC de l'interface (AWS PrivateLink) pour créer une connexion privée entre votre VPC et vos ressources Amazon Bedrock AgentCore

Vous pouvez l'utiliser AWS PrivateLink pour créer une connexion privée entre votre VPC et Amazon AgentCore Bedrock. Vous pouvez y accéder AgentCore comme s'il se trouvait dans votre VPC, sans utiliser de passerelle Internet, de périphérique NAT, de connexion VPN ou de connexion Direct Connect. Les instances de votre VPC n'ont pas besoin d'adresses IP publiques pour y accéder AgentCore.

Vous établissez cette connexion privée en créant un point de terminaison d'interface, alimenté par AWS PrivateLink. Nous créons une interface réseau de point de terminaison dans chaque sous-réseau que vous activez pour le point de terminaison d’interface. Il s'agit d'interfaces réseau gérées par le demandeur qui servent de point d'entrée pour le trafic destiné à AgentCore.

Pour plus d'informations, consultez la section Accès aux AWS services AWS PrivateLink dans le AWS PrivateLink Guide.

Considérations pour AgentCore

Avant de configurer un point de terminaison d'interface pour AgentCore, consultez les considérations du AWS PrivateLink Guide.

AgentCore fournit trois AWS PrivateLink points de terminaison :

  • Point de terminaison du plan de données - com.amazonaws.region.bedrock-agentcore

  • Point final du plan de contrôle - com.amazonaws.region.bedrock-agentcore-control

  • Point de terminaison de passerelle - com.amazonaws.region.bedrock-agentcore.gateway

Le tableau suivant indique l'état de AWS PrivateLink support pour chaque AgentCore primitive :

Primitif Plan de données Plan de contrôle

Environnement d’exécution

Pris en charge

Pris en charge

Mémoire

Pris en charge

Pris en charge

Built-in Outils (interpréteur de code, outil de navigation)

Pris en charge

Pris en charge

Identity

Pris en charge

Pris en charge

Passerelle

Pris en charge

Pris en charge

Évaluations et optimisations

Pris en charge

Pris en charge

Politique

Pris en charge

Pris en charge

Pour obtenir la liste des AWS régions dans lesquelles les points de terminaison AgentCore d'interface sont disponibles, consultez la section AWS Régions Pris en charge AWS Régions prises en charge.

Important

Les API du plan de données prennent en charge à la fois les en-têtes AWS Signature Version 4 (SigV4) pour l'authentification et l'authentification Bearer Token (OAuth). Les politiques relatives aux terminaux VPC peuvent uniquement restreindre les appelants en fonction des principaux IAM et non des utilisateurs OAuth. Pour que les OAuth-based demandes aboutissent via le point de terminaison VPC, le principal doit être défini sur * dans la politique du point de terminaison. Sinon, seuls les appelants autorisés SIGv4 peuvent passer des appels réussis via le point de terminaison VPC.

AWS Les clés de contexte de condition globale IAM sont prises en charge. Par défaut, l'accès complet à AgentCore est autorisé via le point de terminaison de l'interface. Vous pouvez contrôler l'accès en associant une politique de point de terminaison au point de terminaison de l'interface ou en associant un groupe de sécurité aux interfaces réseau du point de terminaison.

Créer un point de terminaison d'interface pour AgentCore

Vous pouvez créer un point de terminaison d'interface pour AgentCore utiliser la console Amazon VPC ou l'interface de ligne de AWS commande (AWS CLI). Pour plus d'informations, voir Créer un point de terminaison d'interface dans le AWS PrivateLink Guide.

Créez un point de terminaison d'interface pour AgentCore utiliser le format de nom de service suivant :

  • Toutes les primitives du plan de données (exécution, Built-in outils, mémoire, identité) : com.amazonaws.region.bedrock-agentcore

  • Pour AgentCore Gateway : com.amazonaws.region.bedrock-agentcore.gateway

  • Pour les opérations sur le plan de contrôle (gestion du temps d'exécution et de la mémoire) : com.amazonaws.region.bedrock-agentcore-control

Si vous activez le DNS privé pour le point de terminaison de l'interface, vous pouvez envoyer des requêtes d'API à AgentCore l'aide de son nom DNS régional par défaut. Par exemple, bedrock-agentcore.us-east-1.amazonaws.com. Pour Gateway en particulier, cela ressemblera à :*.gateway.bedrock-agentcore.us-east-1.amazonaws.com.

Création d’une politique de point de terminaison pour votre point de terminaison d’interface

Une politique de point de terminaison est une ressource IAM que vous pouvez attacher à votre point de terminaison d’interface. La politique de point de terminaison par défaut autorise un accès complet AgentCore via le point de terminaison de l'interface. Pour contrôler l'accès autorisé AgentCore depuis votre VPC, associez une politique de point de terminaison personnalisée au point de terminaison de l'interface.

Une politique de point de terminaison spécifie les informations suivantes :

  • Les principaux responsables qui peuvent effectuer des actions (AWS comptes, utilisateurs IAM et rôles IAM).

    • Pour AgentCore Gateway, si l'entrée de votre passerelle n'est pas basée sur AWS Signature Version 4 (Sigv4) (par exemple, si vous utilisez OAuth à la place), vous devez spécifier le Principal champ comme caractère générique *. L'authentification basée sur SIGv4 vous permet de définir l'identité Principal comme une AWS identité spécifique. Cela vaut également pour AgentCore Runtime.

  • Les actions qui peuvent être effectuées.

  • La ressource sur laquelle les actions peuvent être effectuées.

Pour plus d'informations, voir Contrôler l'accès aux services à l'aide de politiques relatives aux terminaux dans le AWS PrivateLink Guide.

Politiques relatives aux terminaux pour différentes primitives

Les exemples suivants présentent les politiques relatives aux terminaux pour différents AgentCore composants :

Exemple
Runtime
  1. La politique de point de terminaison suivante permet à des principaux IAM spécifiques d'invoquer les ressources d'exécution de l'agent.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:user/USERNAME" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Authentification mixte IAM et OAuth

    L'InvokeAgentRuntimeAPI prend en charge deux modes d'autorisation des terminaux VPC. L'exemple de politique suivant permet aux responsables IAM et aux appelants OAuth d'accéder à différentes ressources d'exécution des agents.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent1" }, { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent2" } ] }

    La politique ci-dessus autorise uniquement le principal IAM à InvokeAgentRuntime customAgent1 passer des appels. Il permet également aux responsables IAM et aux appelants OAuth de passer des appels vers. InvokeAgentRuntime customAgent2

    Politiques relatives aux terminaux PRM (Protected Resource Metadata)

    L'GetRuntimeProtectedResourceMetadataAPI implémente les métadonnées de ressources protégées OAuth 2.0 (RFC 9728). Les clients appellent ce point de terminaison avant de disposer d'informations d'identification, afin de découvrir quel serveur d'autorisation protège l'exécution d'un agent donné. Ce point de terminaison n'est pas authentifié de par sa conception, Principal il doit donc être défini sur * dans la politique relative aux terminaux.

    Les politiques relatives aux terminaux VPC sont appliquées aux demandes PRM. Si votre politique de point de terminaison ne l'autorise pas explicitementbedrock-agentcore:GetRuntimeProtectedResourceMetadata, les requêtes PRM via ce point de terminaison sont refusées par HTTP 403. Tout environnement d'exécution d' OAuth-configured agent accessible via un point de terminaison VPC nécessite un accès PRM pour la découverte du serveur d'autorisation.

    Note

    Si vous disposez d'une politique de refus de tout sur les terminaux pour l'application du périmètre de données et que vous n'utilisez pas l'authentification OAuth ou JWT, les demandes PRM sont automatiquement refusées. Aucune configuration supplémentaire n'est requise.

    La politique de point de terminaison suivante permet à tout appelant de découvrir le serveur d'autorisation (PRM) tout en limitant les appels d'exécution à un principal IAM spécifique :

    { "Statement": [ { "Sid": "AllowPRMDiscovery", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Pour bloquer les recherches PRM entre comptes via votre point de terminaison VPC (application du périmètre de données), définissez l'instruction PRM allow uniquement sur les environnements d'exécution de votre compte :

    { "Statement": [ { "Sid": "AllowPRMOwnAccountOnly", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "DenyCrossAccountPRM", "Effect": "Deny", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "NotResource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" } ] }
Code Interpreter Tool
  1. La politique de point de terminaison suivante permet à des directeurs IAM spécifiques d'invoquer des ressources de l'interpréteur de code.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:code-interpreter/CODE_INTERPRETER_ID" } ] }
Memory
  1. ====== Toutes les opérations sur le plan de données

    La politique de point de terminaison suivante permet à des principaux IAM spécifiques d'accéder aux opérations du plan de données us-east-1 pour une mémoire spécifique. AgentCore

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }

    Accès à tous les souvenirs

    La politique de point de terminaison suivante permet à des responsables IAM spécifiques d'accéder à toutes les mémoires.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/*" } ] }

    Restriction d'accès par les API

    La politique de point de terminaison suivante autorise un principal IAM spécifique à créer des événements dans une ressource AgentCore mémoire spécifique.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }
Browser Tool
  1. La politique de point de terminaison suivante permet à des responsables IAM spécifiques de se connecter aux ressources de l'outil de navigation.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:ConnectBrowserAutomationStream" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:browser/BROWSER_ID" } ] }
Gateway
  1. Voici un exemple de politique de point de terminaison personnalisée. Lorsque vous associez cette politique au point de terminaison de votre interface, elle permet à tous les principaux d'invoquer la passerelle spécifiée dans le Resource champ.

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:gateway/my-gateway" } ] }
Identity
  1. La politique de point de terminaison suivante autorise l'accès aux ressources d'identité.

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "*" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:workload-identity-directory/default/workload-identity/WORKLOAD_IDENTITY_ID" } ] }
Evaluations and Optimizations
  1. La politique de point de terminaison suivante permet à des responsables IAM spécifiques d'accéder aux opérations d'évaluation et d'optimisation.

    { "Statement": [ { "Sid": "AllowBatchEvaluations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartBatchEvaluation", "bedrock-agentcore:GetBatchEvaluation", "bedrock-agentcore:ListBatchEvaluations", "bedrock-agentcore:StopBatchEvaluation", "bedrock-agentcore:DeleteBatchEvaluation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:batch-evaluate/*" }, { "Sid": "AllowRecommendations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartRecommendation", "bedrock-agentcore:GetRecommendation", "bedrock-agentcore:ListRecommendations", "bedrock-agentcore:DeleteRecommendation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:recommendation/*" }, { "Sid": "AllowEvaluators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvaluator", "bedrock-agentcore:GetEvaluator", "bedrock-agentcore:ListEvaluators", "bedrock-agentcore:UpdateEvaluator", "bedrock-agentcore:DeleteEvaluator" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:evaluator/*" }, { "Sid": "AllowOnlineEvaluationConfigs", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateOnlineEvaluationConfig", "bedrock-agentcore:GetOnlineEvaluationConfig", "bedrock-agentcore:ListOnlineEvaluationConfigs", "bedrock-agentcore:UpdateOnlineEvaluationConfig", "bedrock-agentcore:DeleteOnlineEvaluationConfig" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:online-evaluation-config/*" }, { "Sid": "AllowABTests", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateABTest", "bedrock-agentcore:GetABTest", "bedrock-agentcore:ListABTests", "bedrock-agentcore:UpdateABTest", "bedrock-agentcore:DeleteABTest" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:ab-test/*" }, { "Sid": "AllowConfigurationBundles", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateConfigurationBundle", "bedrock-agentcore:GetConfigurationBundle", "bedrock-agentcore:GetConfigurationBundleVersion", "bedrock-agentcore:ListConfigurationBundles", "bedrock-agentcore:ListConfigurationBundleVersions", "bedrock-agentcore:UpdateConfigurationBundle", "bedrock-agentcore:DeleteConfigurationBundle" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:configuration-bundle/*" } ] }