Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Acceda a AgentCore la memoria a través de una puerta de enlace
De forma predeterminada, una aplicación llama directamente al plano de datos de Amazon Bedrock AgentCore Memory y cada solicitud se autentica con la versión de AWS firma 4 (SIGv4). Puede controlar este acceso con políticas de IAM basadas en la identidad y en los recursos. Esto funciona bien cuando su servicio de backend llama a Memory en nombre de todos los usuarios y no necesita imponer el aislamiento por usuario en la capa de memoria.
Cuando tu backend llama a Memory para muchos usuarios, Memory solo ve la función de IAM de tu backend. No puede verificar para qué usuario final está dirigida una solicitud. El código de la aplicación debe establecer el espacio de nombres correcto actorId en cada solicitud para aislar los datos de un usuario de los de otro.
Con una AgentCore puerta de enlace en lugar de la AgentCore memoria, puede trasladar esa aplicación del código de la aplicación a la infraestructura. La puerta de enlace se convierte en un punto de entrada único y seguro para el tráfico de memoria. Autentica a cada persona que llama, evalúa las políticas de control de acceso y reenvía las solicitudes permitidas a Memory. La memoria frontal con una puerta de enlace ofrece dos funciones que el acceso directo no ofrece:
- Autenticación OAuth para usuarios finales
-
El plano de datos de la memoria es. SigV4-only Con una puerta de enlace configurada para la autenticación entrante OAuth (JWT), los usuarios finales pueden autenticarse con un proveedor estándar de OpenID Connect y la aplicación no les distribuye las credenciales. AWS Para obtener más información, consulte Autenticar usuarios finales en memoria con OAuth.
- Fine-grained control de acceso
-
Una pasarela puede evaluar políticas que restringen a las personas que llaman a su propio actor, a su propio espacio de nombres o a un conjunto específico de operaciones de memoria, incluso en el caso de las personas que llaman autenticadas con OAuth. Para obtener más información, consulta el control de acceso a Memory. Fine-grained
nota
Fine-grained el control de acceso no es compatible con las operaciones por lotes de memoria (
BatchCreateMemoryRecordsBatchUpdateMemoryRecords,, yBatchDeleteMemoryRecords). Cada una de estas operaciones contiene varios registros en una sola solicitud, que el motor de políticas no puede evaluar de forma individual.
Ambas funciones se basan en el conector de AgentCore memoria que se describe en esta página. La configuración del conector es un requisito previo para cualquiera de los dos.
Temas
El conector AgentCore de memoria
El conector de AgentCore memoria (agentcore-memory) es un conector de puerta de enlace administrado que conecta un destino de puerta de enlace al plano de datos de AgentCore memoria. Los conectores son un tipo de destino integrado: en lugar de crear un esquema de API y gestionar usted mismo el cableado de los puntos finales, se crea un destino del tipo de conector y se proporcionan únicamente el identificador del conector y los parámetros del objetivo.
Al crear un destino para un conector de memoria, se proporciona:
-
el id del conector (
agentcore-memory), y -
los parámetros del objetivo, en particular el recurso
memoryIdde memoria al que se dirige el objetivo.
A continuación, el conector:
- Resuelve el punto final de la memoria
-
Determina el punto final correcto del plano de datos de memoria para el recurso de memoria del objetivo.
- Hace que las operaciones de memoria compatibles estén disponibles como acciones de Cedar
-
El conector hace que las siguientes operaciones del plano de datos de Memory estén disponibles como acciones de Cedar, cada una con los campos de solicitud que acepta:
ListEventsCreateEvent,GetEvent,,DeleteEvent,ListSessions,,ListActors,RetrieveMemoryRecords,ListMemoryRecords,,GetMemoryRecord,DeleteMemoryRecord,ListMemoryExtractionJobs, yStartMemoryExtractionJob. Esto es lo que permite que las políticas de control de acceso detalladas permitan o rechacen operaciones de memoria específicas y condicionan sus atributos de solicitud. Para ver los identificadores de las acciones y los atributos de las solicitudes, consulta el control de Fine-grained acceso a la memoria.nota
Las operaciones por lotes de memoria (
BatchCreateMemoryRecords,BatchUpdateMemoryRecords, yBatchDeleteMemoryRecords) no se admiten para un control de acceso detallado. Cada una de estas operaciones contiene varios registros en una sola solicitud, que el motor de políticas no puede evaluar de forma individual. - Reenvía las solicitudes
-
Reenvía cada solicitud permitida al plano de datos de memoria mediante el modo de credenciales salientes configurado por el objetivo.
Como el conector proporciona el modelo de memoria listo para usar, no es necesario crear manualmente un esquema ni administrar el cableado de los puntos finales.
Cómo fluye una solicitud a través de la puerta de enlace
Cuando un cliente llama a Memory a través de la puerta de enlace, la puerta de enlace procesa la solicitud en cuatro pasos:
-
Autenticación entrante: la puerta de enlace valida a la persona que llama según su tipo de autorizador entrante: un token portador de OAuth (JWT), SIGv4 o una solicitud no autenticada. AWS Consulta Modos de autenticación entrante y saliente.
-
Resolución de la acción: la puerta de enlace asigna la solicitud HTTP entrante (método y ruta) a la acción Cedar correspondiente a la operación de memoria que la persona que llama está intentando realizar la llamada. Los parámetros de ruta y los campos del cuerpo de la solicitud se extraen en un objeto de contexto de la solicitud.
-
Evaluación de políticas: si la puerta de enlace tiene un motor de políticas adjunto, evalúa las políticas de control de acceso configuradas comparándolas con la solicitud. La evaluación se deniega de forma predeterminada. Consulte el control de Fine-grained acceso para la memoria.
-
Autenticación saliente: si se permite la solicitud, la puerta de enlace la reenvía al plano de datos de memoria mediante el modo de credenciales salientes del objetivo. Consulte Modo de credenciales salientes.
Modos de autenticación entrante y saliente
Una puerta de enlace tiene un tipo de autorizador de entrada que controla la forma en que autentica a las personas que llaman, y cada conector de memoria objetivo tiene un modo de credenciales salientes que controla la identidad que la puerta de enlace utiliza para llamar a Memory. La mayoría de las implementaciones utilizan una de estas dos combinaciones:
- Usuarios finales de OAuth (la principal ruta de control de acceso detallada)
-
CUSTOM_JWTentrante con saliente.GATEWAY_IAM_ROLESus usuarios o agentes se autentican con un proveedor de OpenID Connect y la puerta de enlace llama a Memory con su propia función de ejecución de puerta de enlace. Esta es la combinación que se utiliza cuando se desea aislar por usuario a las personas que llaman y no son directores de IAM. Para obtener más información, consulte Autenticar usuarios finales en memoria con OAuth. - Servicios de backend de IAM con transferencia de identidad
-
AWS_IAMentrante con saliente.CALLER_IAM_CREDENTIALSLa puerta de enlace reenvía la identidad de IAM de cada persona que llama a Memory, de modo que Memory evalúa los permisos de IAM de la persona que llama y usted puede establecer el código fuente del tráfico reenviado desde la puerta de enlace. Utilízala cuando las personas que llaman ya son directores de IAM y quieres que Memory las autorice directamente.
Se admiten otras combinaciones, como la NONE entrante y la GATEWAY_IAM_ROLE saliente, para situaciones especializadas, como la aplicación centralizada de Cedar para las personas que llaman con IAM AWS_IAM o el desarrollo y las pruebas. Consulta la matriz de compatibilidad para ver el conjunto completo.
Tipos de autorizadores entrantes
Usted elige el autorizador de entrada al crear la puerta de enlace. El conector de memoria admite todos los tipos de autorizadores de entrada compatibles con Gateway. AgentCore Para obtener más información, consulte Conceptos básicos de Amazon Bedrock AgentCore Gateway.
-
CUSTOM_JWT(OAuth/JWT): la ruta principal para un control de acceso detallado. Hace que las declaraciones de JWT de la persona que llama estén disponibles para las políticas de control de acceso y habilita la autenticación OAuth para los usuarios finales. Consulta Autenticar a los usuarios finales en la memoria con OAuth. -
AWS_IAM(SIGv4): permite que la identidad de IAM de la persona que llama esté disponible para las políticas de control de acceso. Utilízalo para las personas que llaman desde el IAM-authenticated backend, para la aplicación centralizada de Cedar o para fijar el código fuente. -
AUTHENTICATE_ONLY— requiere una solicitud firmada válida, pero no expone la identidad de la persona que llama escrita para las reglas de política basadas en la identidad. -
NONE— sin autorización. Diseñado únicamente para el desarrollo y las pruebas; no lo utilice para acceder a la memoria de producción.
Modo de credenciales salientes
El modo de credenciales salientes determina la identidad que ve el plano de datos de memoria. La regla es sencilla:
-
Si su autenticación entrante es
CUSTOM_JWToNONE, la puerta de enlace siempre la usaGATEWAY_IAM_ROLE: llama a Memory en su función de ejecución de la puerta de enlace. No hay ninguna otra opción válida ni nada para elegir. -
Si tu autenticación entrante es
AWS_IAMoAUTHENTICATE_ONLY, también puedes optarCALLER_IAM_CREDENTIALSpor reenviar la identidad de IAM de la persona que llama a Memory, en lugar de utilizar la función de ejecución de la pasarela.
| Modo saliente | Cómo llama la puerta de enlace a Memory |
|---|---|
|
|
La puerta de enlace llama a Memory en virtud de su función de ejecución de puerta de enlace (una llamada de primera parte). Funciona con todos los tipos de entrada. |
|
|
La puerta de enlace reenvía la identidad de IAM de la persona que llama a Memory (acceso delegado). La requiere |
Matriz de compatibilidad
En la tabla siguiente se enumeran todas las combinaciones admitidas de modo de autorización de entrada y de credenciales de salida en el conector de memoria de destino.
| Entrada |
GATEWAY_IAM_ROLE
|
CALLER_IAM_CREDENTIALS
|
|---|---|---|
|
|
compatible |
Rechazado al crear el destino |
|
|
Soportado |
Soportado |
|
|
compatible |
Rechazado al crear el objetivo |
|
|
Soportado |
compatible |
Cómo afecta el modo de credenciales salientes al control de acceso a la memoria
El modo de credenciales salientes determina qué identidad autoriza Memory, por lo que las políticas de IAM que afectan a la persona que llama se comportan de forma diferente en cada modo. También determina cómo se puede restringir el tráfico reenviado por la puerta de enlace mediante una política basada en los recursos de memoria. Resource-based políticas de Amazon Bedrock AgentCore
-
GATEWAY_IAM_ROLE -
La puerta de enlace llama a Memory en virtud de su función de ejecución de la puerta de enlace, por lo que Memory autoriza la solicitud como esa función. Para restringir el acceso a esta puerta de enlace, puede usar la
aws:PrincipalArncondición en relación con el ARN del rol de ejecución de la puerta de enlace y limitar la política de identidad de ese rol a solo las acciones de memoria que necesita la puerta de enlace. Las solicitudes reenviadas por la puerta de enlace también incluyen la clave deaws:SourceArncondición establecida en el ARN de la puerta de enlace (consulte el siguiente modo). -
CALLER_IAM_CREDENTIALS -
La puerta de enlace reenvía la identidad de IAM de la persona que llama a Memory, de modo que Memory autoriza la solicitud como la persona que llama. Como el principal es la persona que llama y no la puerta de enlace, utilice la
aws:SourceArncondición para restringir el acceso al tráfico reenviado por la puerta de enlace.
En ambos modos de salida, la puerta de enlace marca la clave de aws:SourceArn condición con el ARN de la puerta de enlace que reenvió la solicitud. Por lo tanto, una política basada en los recursos de memoria puede restringir el acceso a una puerta de enlace específica aws:SourceArn comparándola con el ARN de la puerta de enlace, independientemente del modo de credencial saliente.
importante
Dado que el modo de credenciales salientes cambia la identidad que Memory autoriza, las políticas de IAM aplicables a la persona que llama se comportan de manera diferente:
-
Con
CALLER_IAM_CREDENTIALS, Memory ve la propia identidad de IAM de la persona que llama. Las políticas de IAM basadas en la identidad y en los recursos que hacen referencia a la persona que llama (incluidas las claves de estado de memoria, comobedrock-agentcore:namespace«y»)actorId, se comparan con las de la persona que llama.Denybedrock-agentcore:namespacePath -
Con
GATEWAY_IAM_ROLE, Memory solo ve la función de ejecución de la puerta de enlace. La solicitud de cada persona que llama llega a Memory con esa única función, por lo que las políticas de IAM que se refieren a la identidad de una persona que llama (por ejemplo, la identidad de unaDenypersona específicaactorId) no se comparan con la de la persona que llama originalmente y no se aplican. En este modo, no confíes en las políticas de IAM con ámbito de llamadas para imponer el acceso por persona que llama.
Si utilizas GATEWAY_IAM_ROLE y necesitas un control de acceso por persona que llama (por ejemplo, restringir a la persona que llama a su propio espacio actorId o a su espacio de nombres), aplícalo mediante un control de acceso detallado (políticas de Cedar) en la puerta de enlace, en lugar de aplicar políticas de IAM con ámbito de llamadas. Esta es la ruta principal y detallada de control de acceso. Para obtener más información, consulte el control de Fine-grained acceso a la memoria.
Para ver las claves de condiciones de políticas basadas en recursos y los ejemplos de políticas JSON, consulte Resource-based las políticas de Amazon Bedrock. AgentCore