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.
Funciones de IAM para pagos AgentCore
Resumen de funciones
AgentCore Payments utiliza un modelo de IAM de cinco funciones que separa la administración, la gestión, la ejecución de agentes, las operaciones de servicio y la suscripción a AWS Marketplace (solo en Coinbase). Configura los permisos de IAM en función de la persona que coincida con tu función.
| Rol | Finalidad |
|---|---|
|
Administrador () ControlPlaneRole |
Gestiona los administradores de pagos, los conectores y los proveedores de credenciales. Para Coinbase, esta función también requiere la política AWS administrada |
|
Agente desarrollador () ManagementRole |
Gestiona los instrumentos de pago y las sesiones, no puede ejecutar los pagos |
|
Ejecución de pagos (ProcessPaymentRole) |
Ejecuta las transacciones de pago en nombre de los agentes |
|
Función de servicio () ResourceRetrievalRole |
AgentCore Los pagos asumen, en tiempo de ejecución, la recuperación de las credenciales |
|
Suscripción a Marketplace ( |
En el caso de Coinbase, suscribe la cuenta a la lista de AgentCore monederos para pagos de Coinbase en Marketplace. AWS Se trata de una política AWS gestionada vinculada a la identidad del administrador, no de una función asumible por separado. |
sugerencia
Puede automatizar los pasos de esta página con la habilidad AgentCore Pagos del kit de herramientas para AWS agentes. Esta habilidad forma parte del complemento aws-agents y permite a un agente de codificación basada en inteligencia artificial crear tu gestor de pagos, conector, proveedor de credenciales, instrumento de pago y sesión mediante la agentcore CLI, y añadir una herramienta de procesamiento de pagos a tu agente. Para obtener más información, consulte la guía de inicio rápido y el kit de herramientas para agentes en AWS . GitHub
Por qué es importante la separación de funciones
Separar la gestión de los pagos de la ejecución de los pagos evita que una sola identidad comprometida cree sesiones con presupuestos ilimitados y ejecute los pagos correspondientes a esas sesiones. La posición explícita Deny ProcessPayment en la función de gestión refuerza este límite. Esto también garantiza que los registros de auditoría distingan claramente quién configuró los recursos de pago y quién ejecutó las transacciones.
Permisos de administrador (ControlPlaneRole)
Para los administradores que gestionan los gestores de pagos, los conectores y los proveedores de credenciales:
nota
Para usar Coinbase como proveedor de pagos, el administrador también debe suscribir la cuenta a la lista de AgentCore monederos para pagos de Coinbase en Marketplace. AWS Esto requiere la política gestionada AWS . AWSMarketplaceManageSubscriptions Con esta suscripción, los cargos por el uso de su monedero de Coinbase se consolidan en su AWS factura mensual en función de los precios de Coinbase
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPaymentManagerOperations", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePaymentManager", "bedrock-agentcore:GetPaymentManager", "bedrock-agentcore:ListPaymentManagers", "bedrock-agentcore:DeletePaymentManager", "bedrock-agentcore:UpdatePaymentManager" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*" ] }, { "Sid": "AllowPaymentConnectorOperations", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePaymentConnector", "bedrock-agentcore:GetPaymentConnector", "bedrock-agentcore:ListPaymentConnectors", "bedrock-agentcore:DeletePaymentConnector", "bedrock-agentcore:UpdatePaymentConnector" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*/connector/*" ] }, { "Sid": "AllowCredentialProviderOperations", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePaymentCredentialProvider", "bedrock-agentcore:GetPaymentCredentialProvider", "bedrock-agentcore:ListPaymentCredentialProviders", "bedrock-agentcore:DeletePaymentCredentialProvider", "bedrock-agentcore:UpdatePaymentCredentialProvider" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:token-vault/*/paymentcredentialprovider/*" ] }, { "Sid": "AllowVendedLogDelivery", "Effect": "Allow", "Action": [ "bedrock-agentcore:AllowVendedLogDeliveryForResource" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*" ] }, { "Sid": "AllowPassResourceRetrievalRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/AgentCorePaymentsResourceRetrievalRole", "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } } ] }
Para suscribirse a la lista de Coinbase Wallets for AgentCore Payments en AWS Marketplace, la identidad del administrador también necesita la política gestionada. AWS AWSMarketplaceManageSubscriptions Adjúntala al rol (o usuario) de IAM del administrador. Por ejemplo, con la AWS CLI:
aws iam attach-role-policy \ --role-name <administrator-role-name> \ --policy-arn <AWSMarketplaceManageSubscriptions-policy-arn>
Permisos de desarrollador del agente (ManagementRole)
Para el código deterministic/human in-the-loop (HITL) que administra los instrumentos de pago y las sesiones, pero no ejecuta los pagos directamente:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPaymentManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePaymentInstrument", "bedrock-agentcore:GetPaymentInstrument", "bedrock-agentcore:ListPaymentInstruments", "bedrock-agentcore:DeletePaymentInstrument", "bedrock-agentcore:CreatePaymentSession", "bedrock-agentcore:GetPaymentSession", "bedrock-agentcore:ListPaymentSessions", "bedrock-agentcore:DeletePaymentSession" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*" ] }, { "Sid": "DenyProcessPayment", "Effect": "Deny", "Action": "bedrock-agentcore:ProcessPayment", "Resource": "*" } ] }
nota
Esta política niega ProcessPayment explícitamente la separación de funciones entre las operaciones de gestión y la ejecución de los pagos. Esto garantiza que solo las rutas de código deterministas puedan establecer las operaciones del plano de control, mientras que la ejecución por agencia solo pueda procesar los pagos sin anular los presupuestos ni crear instrumentos de pago para evitarlo.
Permisos de ejecución de pagos () ProcessPaymentRole
Para rutas de código deterministas que ejecutan transacciones de pago en nombre de los agentes:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowProcessPayment", "Effect": "Allow", "Action": "bedrock-agentcore:ProcessPayment", "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*" ] }, { "Sid": "AllowPaymentReadOperations", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPaymentInstrument", "bedrock-agentcore:GetPaymentInstrumentBalance", "bedrock-agentcore:GetPaymentSession" ], "Resource": [ "arn:aws:bedrock-agentcore:*:111122223333:payment-manager/*" ] } ] }
importante
No incluya permisos de PaymentSession escritura (por ejemploCreatePaymentSession) y desempeñe ProcessPayment la misma función, o la persona que llama puede eludir los límites de pago creando nuevas sesiones con presupuestos elevados.
Permisos de rol de servicio () ResourceRetrievalRole
Durante el tiempo de ejecución, los AgentCore pagos asumen la siguiente función de servicio para recuperar las credenciales y administrar las identidades de las cargas de trabajo. No se asigna a usuarios humanos.
Política de confianza
El rol de servicio debe confiar en el director del bedrock-agentcore.amazonaws.com servicio. La siguiente política de confianza abarca el acceso a una cuenta y un administrador de pagos específicos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<account>" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:<region>:<account>:payment-manager/<payment-manager-name>-*" } } } ] }
Permisos básicos (adjuntos al crear Payment Manager)
Cuando se crea un gestor de pagos, se adjuntan los siguientes permisos a la función de servicio. Estos permiten al administrador de pagos acceder a las operaciones de identidad y token de pago de la carga de trabajo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "WorkloadIdentityManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateWorkloadIdentity", "bedrock-agentcore:DeleteWorkloadIdentity" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default/workload-identity/*" ] }, { "Sid": "WorkloadIdentityAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default/workload-identity/<payment-manager-name>-*" ] }, { "Sid": "PaymentTokenBaseAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourcePaymentToken" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<account>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<account>:workload-identity-directory/default/workload-identity/<payment-manager-name>-*" ] }, { "Sid": "PaymentCredentialProviderProvisioning", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePaymentCredentialProvider", "bedrock-agentcore:GetPaymentCredentialProvider", "bedrock-agentcore:TagResource" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<account>:token-vault/<token-vault-id>", "arn:aws:bedrock-agentcore:<region>:<account>:token-vault/<token-vault-id>/paymentcredentialprovider/*" ] } ] }
Permisos de KMS
Si configuras una clave de AWS KMS gestionada por el cliente en tu Payment Manager, agrega los siguientes permisos a la función de servicio:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:<region>:<account>:key/<key-id>" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "<account>" }, "StringLike": { "kms:EncryptionContext:aws:payments-manager:arn": "arn:aws:bedrock-agentcore:<region>:<account>:payment-manager/*" } } } ] }
Per-connector permisos
Cada vez que se agrega un conector de pagos al Payment Manager, se adjuntan los siguientes permisos a la función de servicio. Estos permiten acceder al proveedor de credenciales de pago específico y a sus secretos de respaldo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PaymentTokenAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourcePaymentToken" ], "Resource": [ "<payment-credential-provider-arn>" ] }, { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "<secret-arns>" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "<account>" } } } ] }
Uso de un rol existente
Si elige usar un rol de servicio existente en lugar de crear uno nuevo, asegúrese de que el rol tenga:
-
La política de confianza que se muestra arriba, con
bedrock-agentcore.amazonaws.com.rproxy.goskope.comcomo director de confianza. -
Los permisos básicos para la identidad de la carga de trabajo y el acceso a los tokens de pago.
-
Per-connector permisos para cada proveedor de credenciales de pago al que hacen referencia los conectores del gestor de pagos.
nota
Las funciones de administrador, agente, desarrollador y ejecución de pagos utilizan una política estándar de confianza en las cuentas que les arn:aws:iam::111122223333:root permite asumirlas.
Para ver, por ejemplo, las políticas de IAM, consulte Administración de identidades y accesos para Amazon Bedrock AgentCore.