As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Funções do IAM para AgentCore pagamentos
Resumo da função
AgentCore os pagamentos usam um modelo IAM de cinco funções que separa administração, gerenciamento, execução de agentes, operações de serviços e assinatura do AWS Marketplace (somente Coinbase). Configure as permissões do IAM com base na persona que corresponde à sua função.
| Perfil | Finalidade |
|---|---|
|
Administrador (ControlPlaneRole) |
Gerencia gerentes de pagamento, conectores e provedores de credenciais. Para a Coinbase, essa função também exige que a política AWS gerenciada |
|
Agente desenvolvedor (ManagementRole) |
Gerencia instrumentos de pagamento e sessões, não pode executar pagamentos |
|
Execução de pagamento (ProcessPaymentRole) |
Executa transações de pagamento em nome dos agentes |
|
Função de serviço (ResourceRetrievalRole) |
Presumido por AgentCore pagamentos em tempo de execução para recuperar credenciais |
|
Assinatura do Marketplace ( |
Para a Coinbase, inscreve a conta na listagem Coinbase Wallets for AgentCore Payments no Marketplace. AWS Essa é uma política AWS gerenciada vinculada à identidade do administrador, não uma função separada que pode ser assumida. |
dica
Você pode automatizar as etapas nesta página com a habilidade AgentCore Pagamentos no kit de ferramentas do AWS agente. A habilidade faz parte do plug-in aws-agents e permite que um agente de codificação de IA crie seu gerenciador de pagamentos, conector, provedor de credenciais, instrumento de pagamento e sessão usando a agentcore CLI e adicione uma ferramenta de pagamento por processo ao seu agente. Para obter detalhes, consulte o guia de início rápido e o kit de ferramentas do AWS agente em. GitHub
Por que a separação de funções é importante
Separar o gerenciamento de pagamentos da execução de pagamentos impede que uma única identidade comprometida crie sessões com orçamentos ilimitados e execute pagamentos nessas sessões. A ativação explícita Deny ProcessPayment na função de gerenciamento impõe esse limite. Isso também garante que as trilhas de auditoria distingam claramente quem configurou os recursos de pagamento de quem executou as transações.
Permissões de administrador (ControlPlaneRole)
Para administradores que gerenciam gerentes de pagamento, conectores e provedores de credenciais:
nota
Para usar a Coinbase como provedor de pagamento, o administrador também deve inscrever a conta na listagem de carteiras da Coinbase para AgentCore pagamentos no Marketplace. AWS Isso requer a política AWS gerenciada AWSMarketplaceManageSubscriptions. Com esta assinatura, as cobranças de uso da sua carteira Coinbase são consolidadas em sua AWS fatura mensal com base nos preços da Coinbase no site da
{ "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 assinar a listagem de carteiras Coinbase para AgentCore pagamentos no AWS Marketplace, a identidade do administrador também precisa da política AWS gerenciada. AWSMarketplaceManageSubscriptions Anexe-o à função do IAM (ou usuário) do administrador. Por exemplo, com a AWS CLI:
aws iam attach-role-policy \ --role-name <administrator-role-name> \ --policy-arn <AWSMarketplaceManageSubscriptions-policy-arn>
Permissões de desenvolvedor do agente (ManagementRole)
Para o código deterministic/human -in-the-loop (HITL) que gerencia instrumentos e sessões de pagamento, mas não executa pagamentos diretamente:
{ "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
Essa política nega explicitamente ProcessPayment a imposição da separação de deveres entre operações de gerenciamento e execução de pagamentos. Isso garante que somente caminhos de código determinísticos possam definir as operações do plano de controle, enquanto a execução agente só é capaz de processar o pagamento sem sobrecarregar os orçamentos ou criar instrumentos de pagamento para contornar isso.
Permissões de execução de pagamento (ProcessPaymentRole)
Para caminhos de código determinísticos que executam transações de pagamento em nome dos 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
Não inclua permissões de PaymentSession gravação (por exemplo,CreatePaymentSession) e ProcessPayment tenha a mesma função, ou o chamador poderá contornar os limites de pagamento criando novas sessões com orçamentos elevados.
Permissões da função de serviço (ResourceRetrievalRole)
A função de serviço a seguir é assumida por AgentCore pagamentos em tempo de execução para recuperar credenciais e gerenciar identidades de carga de trabalho. Ele não é atribuído a usuários humanos.
Política de confiança
A função de serviço deve confiar no diretor do bedrock-agentcore.amazonaws.com serviço. A política de confiança a seguir abrange o acesso a uma conta específica e ao Gerenciador de pagamentos:
{ "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>-*" } } } ] }
Permissões básicas (anexadas na criação do Payment Manager)
Quando um gerenciador de pagamentos é criado, as seguintes permissões são anexadas à função de serviço. Eles concedem ao Payment Manager acesso às operações de identidade da carga de trabalho e token de pagamento:
{ "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/*" ] } ] }
Permissões do KMS
Se você configurar uma chave AWS KMS gerenciada pelo cliente no seu Gerenciador de pagamentos, adicione as seguintes permissões à função de serviço:
{ "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 permissões
Sempre que um conector de pagamento é adicionado ao Gerenciador de pagamentos, as seguintes permissões são anexadas à função de serviço. Eles concedem acesso ao provedor de credenciais de pagamento específico e seus segredos de apoio:
{ "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>" } } } ] }
Usando uma função existente
Se você optar por usar uma função de serviço existente em vez de criar uma nova, certifique-se de que a função tenha:
-
A política de confiança mostrada acima, com
bedrock-agentcore.amazonaws.com.rproxy.goskope.comcomo principal confiável. -
As permissões básicas para acesso à identidade da carga de trabalho e ao token de pagamento.
-
Per-connector permissões para cada provedor de credenciais de pagamento referenciado pelos conectores do Gerenciador de Pagamentos.
nota
As funções de Administrador, Agente, Desenvolvedor e Execução de Pagamentos usam uma política de confiança de conta padrão que arn:aws:iam::111122223333:root permite assumi-las.
Por exemplo, políticas do IAM, consulte Gerenciamento de identidade e acesso para o Amazon Bedrock AgentCore.