View a markdown version of this page

Peran IAM untuk pembayaran AgentCore - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Peran IAM untuk pembayaran AgentCore

Ringkasan peran

AgentCore pembayaran menggunakan model IAM lima peran yang memisahkan administrasi, manajemen, eksekusi agen, operasi layanan, dan langganan AWS Marketplace (hanya Coinbase). Siapkan izin IAM berdasarkan persona yang cocok dengan peran Anda.

Peran Tujuan

Administrator (ControlPlaneRole)

Mengelola manajer pembayaran, konektor, dan penyedia kredensia. Untuk Coinbase, peran ini juga membutuhkan kebijakan terkel AWS ola AWSMarketplaceManageSubscriptions untuk berlangganan di Marketplace AWS

Agen pengembang (ManagementRole)

Mengelola instrumen pembayaran dan sesi, tidak dapat mengeksekusi pembayaran

Eksekusi pembayaran (ProcessPaymentRole)

Melaksanakan transaksi pembayaran atas nama agen

Peran layanan (ResourceRetrievalRole)

Diasumsikan oleh AgentCore pembayaran saat runtime untuk mengambil kredenSIAL

Langganan Marketplace (AWSMarketplaceManageSubscriptionspada Administrator)

Untuk Coinbase, berlangganan akun ke daftar Coinbase Wallets for Pay AgentCore ments di Marketplace. AWS Ini adalah kebijakan ter AWS kelola yang dilampirkan ke identitas Administrator, bukan peran terpisah yang dapat diasumsikan.

Tip

Anda dapat mengotomatiskan langkah-langkah di halaman ini dengan keterampilan AgentCore Pembayaran di toolkit AWS agen. Keterampilan ini adalah bagian dari plugin aws-agents dan memungkinkan agen pengkodean AI membuat Manajer Pembayaran, konektor, penyedia kredensia, instrumen pembayaran, dan sesi menggunakan agentcore CLI, dan menambahkan alat pembayaran proses ke agen Anda. Untuk detailnya, lihat Quickstart dan toolkit AWS agen aktif. GitHub

Mengapa pemisahan peran penting

Memisahkan manajemen pembayaran dari eksekusi pembayaran mencegah satu identitas yang dikompromikan dari membuat sesi dengan anggaran tidak terbatas dan menjalankan pembayaran terhadap sesi tersebut. Peran manajemen ProcessPayment yang eksplisit Deny menegakkan batas ini. Ini juga memastikan bahwa jejak audit dengan jelas membedakan siapa yang mengonfigurasi sumber daya pembayaran dari siapa yang melakukan transaksi.

Izin administrator (ControlPlaneRole)

Untuk administrator yang mengelola pengelola pembayaran, konektor, dan penyedia kredensia:

catatan

Untuk menggunakan Coinbase sebagai penyedia pembayaran, administrator juga harus berlangganan akun ke daftar Coinbase Wallets for Payments di AgentCore AWS Market place. Ini membutuhkan kebijakan yang AWS dikelola AWSMarketplaceManageSubscriptions. Dengan langganan ini, biaya penggunaan dompet Coinbase Anda dikonsolidasikan ke dalam AWS tagihan bulanan Anda berdasarkan harga Coinbase di situs web Coinbase. Tidak ada biaya tambahan atau kewajiban untuk berlangganan. Untuk informasi selengkapnya, lihat Ber langganan Dompet Coinbase untuk AgentCore Pembayaran di AWS Marketplace.

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

Untuk berlangganan daftar Coinbase Wallets for AgentCore Pay ments di AWS Marketplace, identitas administrator juga memerlukan kebijakan AWSMarketplaceManageSubscriptions terkel AWS ola. Lampirkan ke peran IAM administrator (atau pengguna). Misalnya, dengan AWS CLI:

aws iam attach-role-policy \ --role-name <administrator-role-name> \ --policy-arn <AWSMarketplaceManageSubscriptions-policy-arn>

Izin pengembang agen (ManagementRole)

Untuk kode deterministic/human -in-the-loop (HITL) yang mengelola instrumen dan sesi pembayaran tetapi tidak mengeksekusi pembayaran secara langsung:

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

Kebijakan ini secara eksplisit menolak ProcessPayment untuk menegakkan pemisahan tugas antara operasi manajemen dan pelaksanaan pembayaran. Ini memastikan hanya jalur kode deterministik yang dapat mengatur operasi bidang kontrol, sementara eksekusi agen hanya dapat memproses pembayaran tanpa mengesampingkan anggaran atau membuat instrumen pembayaran untuk mengatasinya.

Izin eksekusi pembayaran (ProcessPaymentRole)

Untuk jalur kode deterministik yang menjalankan transaksi pembayaran atas nama agen:

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

Jangan sertakan izin PaymentSession menulis (misalnya,CreatePaymentSession) dan ProcessPayment dalam peran yang sama, atau pemanggil dapat melewati batas pembayaran dengan membuat sesi baru dengan anggaran yang lebih tinggi.

Izin peran layanan (ResourceRetrievalRole)

Peran layanan berikut diasumsikan oleh AgentCore pembayaran saat runtime untuk mengambil kredensional dan mengelola identitas beban kerja. Itu tidak ditugaskan untuk pengguna manusia.

Kebijakan kepercayaan

Peran layanan harus mempercayai bedrock-agentcore.amazonaws.com prinsipal layanan. Kebijakan kepercayaan berikut mencakup akses ke akun dan Manajer Pembayaran tertentu:

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

Izin dasar (dilampirkan pada pembuatan Manajer Pembayaran)

Saat Manajer Pembayaran dibuat, izin berikut dilampirkan ke peran layanan. Ini memberi Manajer Pembayaran akses ke identitas beban kerja dan operasi token pembayaran:

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

Izin KMS

Jika Anda mengonfigurasi kunci AWS KMS yang dikelola pelanggan di Manajer Pembayaran, tambahkan izin berikut ke peran layanan:

{ "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 izin

Setiap kali konektor pembayaran ditambahkan ke Manajer Pembayaran, izin berikut ditambahkan ke peran layanan. Ini memberikan akses ke penyedia kredensia pembayaran tertentu dan rahasia pendukungnya:

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

Menggunakan peran yang ada

Jika Anda memilih untuk menggunakan peran layanan yang ada alih-alih membuat yang baru, pastikan peran tersebut memiliki:

  1. Kebijakan kepercayaan yang ditunjukkan di atas, dengan bedrock-agentcore.amazonaws.com sebagai prinsipal tepercaya.

  2. Izin dasar untuk identitas beban kerja dan akses token pembayaran.

  3. Per-connector izin untuk setiap penyedia kredensia pembayaran yang referensi konektor Manajer Pembayaran.

catatan

Peran Administrator, Pengembang Agen, dan Pelaksanaan Pembayaran menggunakan kebijakan kepercayaan akun standar yang memungkinkan arn:aws:iam::111122223333:root untuk menganggapnya.

Misalnya kebijakan IAM, lihat Identitas dan manajemen akses untuk Amazon Bed AgentCore rock.