View a markdown version of this page

Utilice puntos finales de VPC de interfaz (AWS PrivateLink) para crear una conexión privada entre su VPC y sus recursos de Amazon Bedrock AgentCore - Amazon Bedrock AgentCore

Utilice puntos finales de VPC de interfaz (AWS PrivateLink) para crear una conexión privada entre su VPC y sus recursos de Amazon Bedrock AgentCore

Puede utilizarla AWS PrivateLink para crear una conexión privada entre su VPC y Amazon Bedrock. AgentCore Puede acceder AgentCore como si estuviera en su VPC, sin el uso de una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión Direct Connect. Las instancias de su VPC no necesitan direcciones IP públicas para acceder. AgentCore

Esta conexión privada se establece mediante la creación de un punto final de interfaz, con la tecnología de AWS PrivateLink. Creamos una interfaz de red de punto de conexión en cada subred habilitada para el punto de conexión de interfaz. Se trata de interfaces de red administradas por el solicitante que sirven como punto de entrada para el tráfico destinado a AgentCore.

Para obtener más información, consulte Acceder a AWS los servicios AWS PrivateLink en la AWS PrivateLink Guía.

Consideraciones sobre AgentCore

Antes de configurar un punto final de interfaz para AgentCore, consulte las consideraciones de la AWS PrivateLink guía.

AgentCore proporciona tres AWS PrivateLink puntos finales:

  • Punto final del plano de datos - com.amazonaws.region.bedrock-agentcore

  • Punto final del plano de control - com.amazonaws.region.bedrock-agentcore-control

  • Punto final de puerta de enlace - com.amazonaws.region.bedrock-agentcore.gateway

La siguiente tabla muestra el estado de AWS PrivateLink soporte de cada AgentCore primitiva:

Primitivo Plano de datos Plano de control

Tiempo de ejecución

Soportado

compatible

Memoria

Soportado

compatible

Built-in Herramientas (intérprete de código, herramienta de navegador)

Soportado

compatible

Identidad

Soportado

compatible

Puerta de enlace

Soportado

compatible

Evaluaciones y optimizaciones

Soportado

compatible

Política

Soportado

compatible

Para obtener una lista de AWS las regiones en las que están disponibles los puntos finales de la AgentCore interfaz, consulte las regiones compatibles AWS.

importante

Las API del plano de datos admiten tanto los encabezados AWS Signature Version 4 (SiGv4) para la autenticación como la autenticación Bearer Token (OAuth). Las políticas de puntos finales de la VPC solo pueden restringir las llamadas en función de los principios de IAM y no de los usuarios de OAuth. Para que OAuth-based las solicitudes se realicen correctamente a través del punto de enlace de la VPC, el principal debe estar establecido en * en la política de puntos finales. De lo contrario, solo las personas que llamen en la lista de permitidos de SigV4 pueden realizar llamadas satisfactoriamente a través del punto final de la VPC.

AWS Se admiten las claves de contexto de condición global de IAM. De forma predeterminada, AgentCore se permite el acceso total a través del punto final de la interfaz. Puede controlar el acceso adjuntando una política de punto final al punto final de la interfaz o asociando un grupo de seguridad a las interfaces de red del punto final.

Cree un punto final de interfaz para AgentCore

Puede crear un punto final de interfaz para AgentCore utilizar la consola de Amazon VPC o la interfaz de línea de AWS comandos (AWS CLI). Para obtener más información, consulte Crear un punto final de interfaz en la AWS PrivateLink guía.

Cree un punto final de interfaz para AgentCore utilizar el siguiente formato de nombre de servicio:

  • Todas las primitivas del plano de datos (tiempo de ejecución, Built-in herramientas, memoria, identidad): com.amazonaws.region.bedrock-agentcore

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

  • Para las operaciones del plano de control (gestión del tiempo de ejecución y la memoria): com.amazonaws.region.bedrock-agentcore-control

Si habilita el DNS privado para el punto final de la interfaz, puede realizar solicitudes a la API AgentCore utilizando su nombre de DNS regional predeterminado. Por ejemplo, bedrock-agentcore.us-east-1.amazonaws.com.

Creación de una política de puntos de conexión para el punto de conexión de interfaz

Una política de punto de conexión es un recurso de IAM que puede adjuntar a un punto de conexión de interfaz. La política de punto final predeterminada permite el acceso total a AgentCore través del punto final de la interfaz. Para controlar el acceso permitido AgentCore desde su VPC, adjunte una política de punto final personalizada al punto final de la interfaz.

Una política de punto de conexión especifica la siguiente información:

  • Los principales que pueden realizar acciones (AWS cuentas, usuarios de IAM y funciones de IAM).

    • En el caso de AgentCore Gateway, si el acceso a su puerta de enlace no está basado en la versión 4 de AWS Signature (SigV4) (por ejemplo, si utiliza OAuth en su lugar), debe especificar el campo como comodín *. Principal La autenticación basada en SigV4 te permite definir la identidad como una identidad específica. Principal AWS Esto también se aplica a AgentCore Runtime.

  • Las acciones que se pueden realizar.

  • El recurso en el que se pueden realizar las acciones.

Para obtener más información, consulte Controlar el acceso a los servicios mediante políticas de puntos finales en la AWS PrivateLink Guía.

Políticas de puntos finales para varias primitivas

En los siguientes ejemplos, se muestran las políticas de puntos finales para diferentes AgentCore componentes:

ejemplo
Runtime
  1. La siguiente política de puntos finales permite a determinados directores de IAM invocar los recursos de tiempo de ejecución de los agentes.

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

    Autenticación mixta de IAM y OAuth

    La InvokeAgentRuntime API admite dos modos de autorización de puntos finales de VPC. El siguiente ejemplo de política permite a los directores de IAM y a las personas que llaman a OAuth acceder a diferentes recursos de tiempo de ejecución de los agentes.

    { "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 política anterior solo permite realizar llamadas al director de IAM. InvokeAgentRuntime customAgent1 También permite realizar llamadas tanto a los directores de IAM como a las personas que llaman a OAuth. InvokeAgentRuntime customAgent2

    Políticas de puntos finales de metadatos de recursos protegidos (PRM)

    La GetRuntimeProtectedResourceMetadata API implementa los metadatos de recursos protegidos de OAuth 2.0 (RFC 9728). Los clientes llaman a este punto final antes de disponer de las credenciales para descubrir qué servidor de autorización protege el tiempo de ejecución de un agente determinado. Este punto final no está autenticado por diseño, por lo que Principal debe estar configurado en * en la política de puntos finales.

    Las políticas de puntos de conexión de VPC se aplican a las solicitudes de PRM. Si su política de puntos finales no lo permite de forma explícitabedrock-agentcore:GetRuntimeProtectedResourceMetadata, las solicitudes de PRM que pasen por ese punto final se deniegan mediante HTTP 403. Cualquier tiempo de ejecución de OAuth-configured agente al que se acceda a través de un punto final de VPC requiere acceso PRM para detectar el servidor de autorización.

    nota

    Si tienes una política de puntos finales que impide el cumplimiento del perímetro de datos y no utilizas la autenticación OAuth o JWT, las solicitudes de PRM se deniegan automáticamente. No se necesita ninguna configuración adicional.

    La siguiente política de puntos finales permite que cualquier persona que llame descubra el servidor de autorización (PRM) y, al mismo tiempo, restringe las invocaciones en tiempo de ejecución a una entidad de IAM específica:

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

    Para bloquear las búsquedas de PRM entre cuentas a través de su terminal de VPC (aplicación del perímetro de datos), aplique la declaración de permiso de PRM únicamente a los tiempos de ejecución de su cuenta:

    { "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 siguiente política de puntos finales permite a directores de IAM específicos invocar recursos de Code Interpreter.

    { "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. ====== Todas las operaciones del plano de datos

    La siguiente política de puntos finales permite a los directores de IAM específicos acceder a las operaciones del plano de datos us-east-1 para una memoria específica. 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" } ] }

    Acceso a todas las memorias

    La siguiente política de puntos finales permite a los directores de IAM específicos acceder a todas las memorias.

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

    Restricción de acceso por API

    La siguiente política de puntos finales concede permiso a un director de IAM específico para crear eventos en un recurso de AgentCore memoria específico.

    { "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 siguiente política de puntos finales permite que determinados directores de IAM se conecten a los recursos de Browser Tool.

    { "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. El siguiente es un ejemplo de una política de un punto de conexión personalizado. Al adjuntar esta política al punto final de la interfaz, permite que todos los principales invoquen la puerta de enlace especificada en el campo. Resource

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock:InvokeGateway" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1::gateway/my-gateway" } ] }
Identity
  1. La siguiente política de punto final permite el acceso a los recursos de identidad.

    { "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 siguiente política de puntos finales permite a directores específicos de IAM acceder a las operaciones de evaluación y optimización.

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