기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AgentCore 결제를 위한 IAM 역할
역할 요약
AgentCore 결제는 관리, 관리, 에이전트 실행, 서비스 작업 및 AWS Marketplace 구독(Coinbase만 해당)을 분리하는 5역할 IAM 모델을 사용합니다. 역할과 일치하는 페르소나를 기반으로 IAM 권한을 설정합니다.
| Role | 용도 |
|---|---|
|
관리자(ControlPlaneRole) |
결제 관리자, 커넥터 및 자격 증명 공급자를 관리합니다. Coinbase의 경우이 역할에는 AWS Marketplace에서 구독 |
|
에이전트 개발자(ManagementRole) |
결제 수단 및 세션을 관리하고 결제를 실행할 수 없음 |
|
결제 실행(ProcessPaymentRole) |
에이전트를 대신하여 결제 트랜잭션을 실행합니다. |
|
서비스 역할(ResourceRetrievalRole) |
자격 증명을 검색하기 위해 런타임에 AgentCore 결제에서 수임합니다. |
|
Marketplace 구독( |
Coinbase의 경우는 AWS Marketplace의 Coinbase Wallets for AgentCore Payments 목록을 구독합니다. 이는 별도의 수임 가능한 역할이 아닌 관리자 자격 증명에 연결된 AWS 관리형 정책입니다. |
작은 정보
AWS 에이전트 도구 키트의 AgentCore Payments 스킬을 사용하여이 페이지의 단계를 자동화할 수 있습니다. 스킬은 aws-agents 플러그인의 일부이며 AI 코딩 에이전트가 agentcore CLI를 사용하여 Payment Manager, 커넥터, 자격 증명 공급자, 결제 수단 및 세션을 생성하고 에이전트에 프로세스 결제 도구를 추가할 수 있도록 합니다. 자세한 내용은 GitHub의 빠른 시작 및 에이전트 툴킷을 참조하세요. AWS GitHub
역할 분리가 중요한 이유
결제 관리를 결제 실행과 분리하면 손상된 단일 자격 증명이 무제한 예산으로 세션을 생성하고 해당 세션에 대한 결제를 실행하는 것을 방지할 수 있습니다. 관리 역할ProcessPayment의 Deny 명시적는이 경계를 적용합니다. 또한 감사 추적에서 결제 리소스를 구성한 사람과 트랜잭션을 실행한 사람을 명확하게 구분할 수 있습니다.
관리자 권한(ControlPlaneRole)
결제 관리자, 커넥터 및 자격 증명 공급자를 관리하는 관리자의 경우:
참고
Coinbase를 결제 공급자로 사용하려면 관리자가 AWS Marketplace의 Coinbase Wallets for AgentCore Payments 목록을 구독해야 합니다. 여기에는 AWS 관리형 정책 AWSMarketplaceManageSubscriptions가 필요합니다. 이 구독을 사용하면 Coinbase 웹 사이트의 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" } } } ] }
AWS Marketplace에서 Coinbase Wallets for AgentCore Payments 목록을 구독하려면 관리자 자격 증명에 AWS 관리형 정책 AWSMarketplaceManageSubscriptions도 필요합니다. 관리자의 IAM 역할(또는 사용자)에 연결합니다. 예를 들어 AWS CLI를 사용하면 다음과 같습니다.
aws iam attach-role-policy \ --role-name <administrator-role-name> \ --policy-arn <AWSMarketplaceManageSubscriptions-policy-arn>
에이전트 개발자 권한(ManagementRole)
결제 수단 및 세션을 관리하지만 결제를 직접 실행하지 않는 결정적/human-in-the-loop(HITL) 코드의 경우:
{ "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": "*" } ] }
참고
이 정책은 관리 운영과 결제 실행 간의 업무 분리ProcessPayment를 명시적으로 거부합니다. 이렇게 하면 결정적 코드 경로만 컨트롤 플레인 작업을 설정할 수 있는 반면, 에이전트 실행은 예산을 재정의하거나 이를 해결하기 위한 결제 수단을 생성하지 않고도 결제를 처리할 수 있습니다.
결제 실행 권한(ProcessPaymentRole)
에이전트를 대신하여 결제 거래를 실행하는 결정적 코드 경로의 경우:
{ "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/*" ] } ] }
중요
동일한 역할에 PaymentSession 쓰기 권한(예: CreatePaymentSession) 및 ProcessPayment를 포함하지 마십시오. 그렇지 않으면 발신자가 예산이 높아진 새 세션을 생성하여 결제 한도를 우회할 수 있습니다.
서비스 역할 권한(ResourceRetrievalRole)
AgentCore는 런타임에 자격 증명을 검색하고 워크로드 ID를 관리하기 위해 다음 서비스 역할을 수임합니다. 인간 사용자에게는 할당되지 않습니다.
신뢰 정책
서비스 역할은 bedrock-agentcore.amazonaws.com 서비스 보안 주체를 신뢰해야 합니다. 다음 신뢰 정책은 특정 계정 및 Payment Manager에 대한 액세스 범위를 지정합니다.
{ "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>-*" } } } ] }
기본 권한(Payment Manager 생성 시 연결됨)
Payment Manager가 생성되면 다음 권한이 서비스 역할에 연결됩니다. 이는 Payment Manager에 워크로드 자격 증명 및 결제 토큰 작업에 대한 액세스 권한을 부여합니다.
{ "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/*" ] } ] }
KMS 권한
Payment Manager에서 고객 관리형 AWS KMS 키를 구성하는 경우 서비스 역할에 다음 권한을 추가합니다.
{ "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/*" } } } ] }
커넥터별 권한
Payment Manager에 결제 커넥터가 추가될 때마다 서비스 역할에 다음 권한이 추가됩니다. 이러한 권한은 특정 결제 자격 증명 공급자 및 해당 지원 보안 암호에 대한 액세스 권한을 부여합니다.
{ "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>" } } } ] }
기존 역할 사용
새 서비스 역할을 생성하는 대신 기존 서비스 역할을 사용하도록 선택한 경우 역할에 다음이 있는지 확인합니다.
-
위에 표시된 신뢰 정책으로,를 신뢰할 수 있는 보안 주체
bedrock-agentcore.amazonaws.com로 사용합니다. -
워크로드 자격 증명 및 결제 토큰 액세스에 대한 기본 권한입니다.
-
Payment Manager의 커넥터가 참조하는 각 결제 자격 증명 공급자에 대한 커넥터별 권한입니다.
참고
관리자, 에이전트 개발자 및 결제 실행 역할은가 이를 수임arn:aws:iam::111122223333:root하도록 허용하는 표준 계정 신뢰 정책을 사용합니다.
IAM 정책의 예는 Amazon Bedrock AgentCore의 ID 및 액세스 관리를 참조하세요.