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.
AgentCore Puerta de enlace y política en los permisos AgentCore de IAM
En esta guía se proporcionan los permisos de IAM necesarios para utilizar Amazon Bedrock AgentCore Gateway con la política de inicio de un control detallado de las AgentCore autorizaciones mediante las políticas de Cedar.
Descripción general de
Al integrar Amazon Bedrock AgentCore Gateway con Policy In AgentCore, se requieren dos funciones de IAM distintas:
-
Función de ejecución de Gateway: la función de IAM que Amazon Bedrock AgentCore Gateway asume durante el tiempo de ejecución para invocar los objetivos y evaluar las políticas de Cedar
-
Función de administración de recursos: la función de IAM que utilizan los administradores para crear y administrar Amazon Bedrock AgentCore Gateway y la política de recursos AgentCore
Ambas funciones tienen diferentes finalidades y requieren permisos específicos. La función de ejecución de Gateway necesita permisos para ejecutar las operaciones de Amazon Bedrock AgentCore Gateway, mientras que la función de administración de recursos necesita permisos para configurar y administrar Amazon Bedrock AgentCore Gateway y la política de recursos. AgentCore
Función de ejecución de Gateway
El servicio Amazon Bedrock Gateway asume la función de ejecución de la AgentCore pasarela al procesar las solicitudes. Esta función requiere permisos para:
-
Evalúe las políticas de Cedar mediante la política en AgentCore
-
Invoque objetivos como las funciones de Lambda y los puntos de enlace de API Gateway
-
Escriba registros y seguimientos en y CloudWatch X-Ray
-
Secretos de acceso para las configuraciones de autenticación
importante
El rol de ejecución debe incluir estos tres permisos para usar Amazon Bedrock AgentCore Gateway con la política en AgentCore:. bedrock-agentcore:AuthorizeAction - Evalúa las políticas de Cedar para las decisiones de autorización. bedrock-agentcore:PartiallyAuthorizeActions - Muestra las herramientas que la persona que llama está autorizada a invocar. bedrock-agentcore:GetPolicyEngine - Recupera la configuración del motor de políticas. Sin estos permisos, la puerta de enlace no puede realizar la autorización de políticas. Esto se manifiesta de dos maneras: si se conecta un motor de políticas a una puerta de enlace existente InternalServerException, se produce una y todas las invocaciones a la herramienta se denegarán de forma predeterminada, incluso si tiene configuradas políticas de permisos.
Política de confianza
La función de ejecución de Gateway debe confiar en el principal del bedrock-agentcore.amazonaws.com servicio.
importante
Sustituya los siguientes marcadores de posición: * us-east-1 por la AWS región * por el 123456789012 identificador de la AWS cuenta
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockAgentCoreAssumeRole", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] }
Política de permisos
Esta política otorga a Amazon Bedrock AgentCore Gateway los permisos necesarios para evaluar las políticas de Cedar a través de la política en. AgentCore Los permisos se dividen en dos declaraciones siguiendo los principios de mínimo privilegio.
importante
Sustituya estos marcadores de posición: * us-east-1 por la AWS región * 123456789012 por el ID de la AWS cuenta * <gateway-id> por el ID de la puerta de enlace (o utilice * para todas las puertas de enlace) * <policy-engine-id> por el ID del motor de políticas (o utilice * para todos los motores de políticas)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] } ] }
nota
* Es posible que se requieran permisos adicionales según el tipo de integración de Amazon Bedrock AgentCore Gateway (por ejemplo, funciones de Lambda o puntos de enlace de API Gateway). Estos permisos no se incluyen aquí, ya que varían en función de la integración específica. * Para producción: sustituya los marcadores de posición por identificadores de recursos específicos (por ejemplo, policy-engine/my-policy-engine-id en lugar depolicy-engine/<policy-engine-id>) para seguir los principios de privilegios mínimos, o utilice caracteres comodín (*) para permitir el acceso a todos los recursos de ese tipo.
Permisos de IAM para políticas temporales
Las políticas temporales requieren que la puerta de enlace propague la identidad de la sesión de la persona que llama a toda la solicitud mediante la creación de un token de acceso a la carga de trabajo (WAT). En el flujo entrante AWS de IAM, esta moneda llama. GetWorkloadAccessToken Otorgue la función de ejecución de Gatewaybedrock-agentcore:GetWorkloadAccessToken, con el alcance del directorio de identidades y cargas de trabajo de Gateway. Agregue este permiso además de los tres permisos de política (AuthorizeAction,PartiallyAuthorizeActions,GetPolicyEngine) ya documentados en esta página. Este permiso solo es necesario cuando la política temporal está activa (se proporciona un identificador de sesión de política y se adjunta un motor de políticas); no es necesario cuando la política temporal está deshabilitada.
Agregue la siguiente declaración a la política de permisos del rol de ejecución de Gateway:
{ "Sid": "PolicySessionWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/<gatewayId>*" ] }
Sin este permiso, las invocaciones de las herramientas fallan en el paso inicial una vez que se AccessDenied habilita la GetWorkloadAccessToken política temporal. Para la producción, sustitúyalo por <gatewayId> el ID de Gateway específico para seguir los principios de privilegios mínimos.
Para obtener una descripción general de este requisito en el contexto de las consideraciones de política temporal, consulta los permisos de IAM obligatorios.
Función de administración de recursos
Los administradores utilizan la función de administración de recursos para crear y administrar Amazon Bedrock AgentCore Gateway y la política de AgentCore recursos. Este rol requiere permisos para:
-
Crear, actualizar y eliminar puertas de enlace y objetivos de puertas de enlace
-
Cree, actualice y elimine las políticas de Policy Engines y Cedar
-
Llame al Gateway durante la creación de la política (
InvokeGateway) para que Policy in AgentCore pueda validar las acciones de una declaración de Cedar comparándolas con las capacidades del Gateway objetivo -
Transfiera la función de ejecución de Gateway a los recursos de Amazon Bedrock AgentCore Gateway durante la creación
-
Etiquete los recursos para la organización y la administración
-
Lea la información sobre las funciones de IAM para validar las configuraciones de las funciones de ejecución
Esta función es independiente de la función de ejecución de Gateway y solo es necesaria para configurar o modificar Amazon Bedrock AgentCore Gateway y la política de Amazon en AgentCore las configuraciones.
Política de permisos
importante
Sustituya estos marcadores de posición: * por la us-east-1 AWS región* por el identificador 123456789012 de la cuenta AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GatewayManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:UpdateGateway", "bedrock-agentcore:GetGateway", "bedrock-agentcore:DeleteGateway", "bedrock-agentcore:ListGateways", "bedrock-agentcore:InvokeGateway", "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:DeleteGatewayTarget", "bedrock-agentcore:ListGatewayTargets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] }, { "Sid": "PolicyEngineManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicyEngine", "bedrock-agentcore:UpdatePolicyEngine", "bedrock-agentcore:GetPolicyEngine", "bedrock-agentcore:DeletePolicyEngine", "bedrock-agentcore:ListPolicyEngines" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicy", "bedrock-agentcore:UpdatePolicy", "bedrock-agentcore:GetPolicy", "bedrock-agentcore:DeletePolicy", "bedrock-agentcore:ListPolicies" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy/*" ] }, { "Sid": "PolicyGeneration", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartPolicyGeneration", "bedrock-agentcore:GetPolicyGeneration", "bedrock-agentcore:ListPolicyGenerations", "bedrock-agentcore:ListPolicyGenerationAssets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy-generation/*" ] }, { "Sid": "IAMPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/*BedrockAgentCore*" ], "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } }, { "Sid": "IAMReadAccess", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::123456789012:role/*" ] }, { "Sid": "PolicyScopeManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:ManageResourceScopedPolicy", "bedrock-agentcore:ManageAdminPolicy" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] }
importante
bedrock-agentcore:InvokeGatewayes necesario para crear o actualizar las políticas de Cedar, no solo para invocar el Gateway en tiempo de ejecución. CreatePolicyy UpdatePolicy valide las acciones de su declaración de Cedar comparándolas con el Gateway, una operación autorizada InvokeGateway según el ARN del Gateway. Sin ella, la política pasa a ser CREATE_FAILED conInsufficient permissions to call gateway with ID <gateway-id>.
importante
Las ManageAdminPolicy acciones ManageResourceScopedPolicy y son puertas que solo requieren permiso y controlan los tipos de políticas de Cedar que pueden crear los administradores: * ManageResourceScopedPolicy - Concede permiso para crear políticas de Cedar que se dirijan a ARN específicos de las puertas de enlace (por ejemplo, las políticas a las que se aplicangateway/my-gateway-123) * ManageAdminPolicy - Concede permiso para crear políticas de Cedar con caracteres comodín (por ejemplo, políticas que se apliquen a Gateway/*) Ambos permisos son necesarios para poder gestionar políticas por completo. No se trata de operaciones de API, sino de comprobaciones de autorización que determinan el alcance de las políticas de Cedar que se pueden crear a través de las API de administración de políticas.
nota
Si bien el campo de recursos se incluye para mantener la coherencia, estas acciones que solo requieren permiso limitan la capacidad a nivel de acción y no a nivel de recursos.
¿Cuándo es necesario actualizar los roles?
Determine si es necesario añadir la política de AgentCore permisos a la función de ejecución de Amazon Bedrock AgentCore Gateway en función de cómo se creó Amazon Bedrock AgentCore Gateway.
- Escenario 1: Puerta de enlace creada con la CLI AgentCore
-
Estado: Se requiere una acción
La AgentCore CLI crea una función de ejecución de puerta de enlace con permisos limitados para la invocación de objetivos y la autenticación saliente, pero no incluye la política en los permisos. AgentCore Debe agregar manualmente la función de
AuthorizeActionejecuciónPartiallyAuthorizeActionsde la puerta de enlace yGetPolicyEnginelos permisos documentados en esta guía. - Escenario 2: rol de ejecución personalizado
-
Estado: Se requiere una acción
Las funciones de IAM personalizadas requieren que la política de AgentCore permisos documentada en esta guía se añada manualmente. Siga las políticas de permisos de las secciones anteriores.
- Escenario 3: Least-Privilege Configuración de producción
-
Estado: Se requiere una acción
En los entornos de producción, defina la política en términos de AgentCore permisos para ARN de recursos específicos en lugar de utilizar caracteres comodín. Sustituya policy-engine/* y gateway/* por los ID de puerta de enlace y motor de políticas específicos de sus políticas de permisos.
Resolución de problemas
En esta sección se abordan los problemas más comunes que surgen al configurar los permisos de IAM para Amazon Bedrock Gateway con la política incluida. AgentCore AgentCore
InternalServerException Durante la evaluación de la política
Síntoma: Gateway regresa InternalServerException - Policy evaluation failed al conectar un motor de políticas a una puerta de enlace existente y todas las invocaciones a las herramientas se deniegan de forma predeterminada, incluso con las políticas de permisos configuradas.
Causa principal: al rol de ejecución de Gateway le falta la política requerida en AgentCore cuanto a los permisos. Sin estos permisos, la puerta de enlace no puede realizar la autorización de políticas.
Solución: asegúrese de que la función de ejecución de la puerta de enlace incluya estos tres permisos:
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:PartiallyAuthorizeActions", "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:REGION:ACCOUNT:policy-engine/*", "arn:aws:bedrock-agentcore:REGION:ACCOUNT:gateway/*" ] }
nota
Si conecta un motor de políticas a una puerta de enlace existente mediante la consola del motor de políticas, es posible que los permisos de IAM no se actualicen automáticamente. Debe agregar manualmente estos permisos al Service-Linked rol de la puerta de enlace.
La opción «Permisos insuficientes para llamar a Gateway» está activada CreatePolicy
Síntoma: CreatePolicy devuelve unpolicyId, pero la política pasa a ser CREATE_FAILED con, Insufficient permissions to call gateway with ID <gateway-id> incluso cuando la función de ejecución de la pasarela tiene AuthorizeActionPartiallyAuthorizeActions, yGetPolicyEngine.
Causa principal: la brecha está en la función de administración de recursos que llamaCreatePolicy, no en la función de ejecución de la puerta de enlace. La validación de políticas llama a la puerta de enlace (autorizada comobedrock-agentcore:InvokeGateway); el error asigna un nombre a la puerta de enlace, pero la solución está en la función de creación de políticas.
Solución: agregue bedrock-agentcore:InvokeGateway (con el alcance del ARN de la puerta de enlace) a la función de administración de recursos:
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] }
Fallos silenciosos en el modo LOG_ONLY
Síntoma: el motor de políticas parece funcionar en modo LOG_ONLY, pero falla silenciosamente sin los mensajes de error adecuados.
Causa principal: la falta de bedrock-agentcore:GetPolicyEngine permiso provoca errores silenciosos que solo aparecen al cambiar al modo FORCED.
Solución: inclúyalo siempre bedrock-agentcore:GetPolicyEngine en la función de ejecución de la puerta de enlace, incluso cuando utilice el modo LOG_ONLY para realizar pruebas.
Error de motor de políticas no encontrado
Síntoma: Amazon Bedrock AgentCore Gateway devuelve errores que indican que no puede encontrar el motor de políticas ni acceder a él.
Causa principal: la política del rol de ejecución de Gateway usa patrones de ARN incorrectos o falta el recurso del motor de políticas.
Solución: asegúrese de que los ARN del motor de políticas y de la puerta de enlace estén incluidos en la matriz de recursos:
"Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ]
nota
Ambos AuthorizeAction y PartiallyAuthorizeActions requieren acceso tanto a los recursos del motor de políticas como a los de la puerta de enlace.
Consejos de depuración
-
Habilitar CloudWatch los registros: configure los registros detallados para que Amazon Bedrock AgentCore Gateway capture los detalles de la evaluación de las políticas
-
Revise los X-Ray rastros: compruebe los AWS X-Ray rastros para identificar dónde fallan las comprobaciones de autorización
-
Comience con el modo LOG_ONLY: utilice inicialmente el modo LOG_ONLY para probar las políticas de Cedar sin bloquear las solicitudes
-
Verifique los cuatro permisos: asegúrese
AuthorizeActionde que estén todosPartiallyAuthorizeActionspresentesGetPolicyEngine -
Cambie al modo FORCED: solo después de verificar que todos los permisos funcionan en el modo LOG_ONLY, cambie al modo FORCED
Ejemplo: crear ambos roles de IAM
El siguiente ejemplo muestra cómo crear las dos funciones de IAM necesarias mediante la AWS CLI.
Paso 1: Crear el rol de ejecución de Gateway
# Create the trust policy file cat > gateway-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] } EOF # Create the IAM role aws iam create-role \ --role-name MyGatewayExecutionRole \ --assume-role-policy-document file://gateway-trust-policy.json
Paso 2: Adjuntar los permisos al rol de ejecución de Gateway
# Create the permission policy file cat > gateway-permissions.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] } EOF # Attach the policy to the role aws iam put-role-policy \ --role-name MyGatewayExecutionRole \ --policy-name GatewayPolicyEnginePermissions \ --policy-document file://gateway-permissions.json
nota
En este ejemplo solo se muestra la política en AgentCore los permisos. Deberían añadirse permisos adicionales para los objetivos de Amazon Bedrock AgentCore Gateway (Lambda, API Gateway, etc.) en función de sus requisitos de integración específicos.
Paso 3: Próximos pasos
Tras configurar el rol de ejecución con la política requerida en AgentCore los permisos, proceda a crear y configurar los recursos de la política. Para obtener una guía detallada, consulte:
-
Creación de un motor de políticas: consulte la sección Crear un motor de políticas
-
Redacción de políticas de Cedar: consulte la referencia sobre el lenguaje de políticas de Cedar
Prácticas recomendadas
-
Utilice funciones independientes: mantenga funciones distintas para la ejecución y la administración de recursos de Amazon Bedrock AgentCore Gateway
-
Aplique el mínimo privilegio: comience con ARN de recursos específicos en lugar de caracteres comodín en producción
-
Pruebe con el modo LOG_ONLY: pruebe siempre la integración del motor de políticas en el modo LOG_ONLY antes de aplicar las políticas
-
Habilite la supervisión: configure los CloudWatch registros y el rastreo para la resolución de problemas y la observabilidad X-Ray
-
Políticas de control de versiones: almacene las políticas de Cedar en el control de versiones junto con el código de infraestructura
-
Utilice etiquetas de recursos: aplique etiquetas para organizar y administrar Amazon Bedrock AgentCore Gateway y la política de Amazon en AgentCore los recursos
-
Auditorías de seguridad periódicas: revise periódicamente las políticas de IAM para asegurarse de que siguen los principios de mínimo privilegio