View a markdown version of this page

Izin IAM untuk Runtime AgentCore - Batuan Dasar Amazon AgentCore

Izin IAM untuk Runtime AgentCore

Berikut ini adalah izin IAM yang Anda perlukan untuk membuat agen di AgentCore Runtime dan izin peran eksekusi yang diperlukan agen untuk dijalankan di Runtime. AgentCore Anda juga dapat menggunakan kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya runtime Anda.

Untuk informasi tentang menggunakan kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya AgentCore Runtime Anda, lihat kebijakan Resource-based untuk Amazon Bedrock. AgentCore

Gunakan Amazon Bedrock AgentCore

Untuk menggunakan Amazon Bedrock AgentCore, Anda dapat melampirkan kebijakan BedrockAgentCoreFullAccess AWS terkelola ke pengguna IAM atau peran IAM Anda. Kebijakan AWS terkelola ini memberikan izin luas termasukGetWorkloadAccessTokenForUserId, yang memungkinkan penerbitan token akses beban kerja menggunakan string pengenal pengguna yang disediakan pemanggil tanpa verifikasi token IDP. Sebaiknya buat kebijakan khusus hanya dengan izin yang diperlukan aplikasi Anda dengan menyalin pernyataan yang relevan dan membatasi sumber daya untuk kasus penggunaan spesifik Anda. Untuk penerapan produksi di mana aplikasi Anda memiliki token JWT tersedia, tolak secara eksplisit dan berikan saja. GetWorkloadAccessTokenForUserId GetWorkloadAccessTokenForJWT Untuk informasi selengkapnya, lihat Mendapatkan token akses beban kerja. Untuk menggunakan AgentCore CLI, Anda memerlukan izin tambahan.

Gunakan AgentCore CLI

Untuk menggunakan AgentCore CLI, lampirkan kebijakan IAM berikut ke pengguna atau peran IAM Anda. Untuk mengubah izin IAM, lihat Mengubah izin untuk pengguna IAM.

penting

Kebijakan IAM yang dibuat oleh AgentCore CLI dirancang untuk tujuan pengembangan dan pengujian. Izin ini memberikan akses luas untuk memfasilitasi pembuatan prototipe cepat dan tidak cocok untuk lingkungan produksi. Untuk penerapan produksi, buat kebijakan IAM khusus yang mengikuti prinsip hak istimewa paling sedikit dan batasi izin hanya untuk sumber daya dan tindakan spesifik yang diperlukan oleh aplikasi Amazon Bedrock Anda. AgentCore Untuk panduan keamanan IAM yang lengkap, lihat Praktik terbaik keamanan untuk AgentCore Runtime.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "IAMRoleManagement", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies" ], "Resource": [ "arn:aws:iam::*:role/*BedrockAgentCore*", "arn:aws:iam::*:role/service-role/*BedrockAgentCore*" ] }, { "Sid": "CodeBuildProjectAccess", "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:ListBuildsForProject", "codebuild:CreateProject", "codebuild:UpdateProject", "codebuild:BatchGetProjects" ], "Resource": [ "arn:aws:codebuild:*:*:project/bedrock-agentcore-*", "arn:aws:codebuild:*:*:build/bedrock-agentcore-*" ] }, { "Sid": "CodeBuildListAccess", "Effect": "Allow", "Action": [ "codebuild:ListProjects" ], "Resource": "*" }, { "Sid": "IAMPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/AmazonBedrockAgentCore*", "arn:aws:iam::*:role/service-role/AmazonBedrockAgentCore*" ] }, { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/*", "arn:aws:logs:*:*:log-group:/aws/codebuild/*" ] }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutLifecycleConfiguration" ], "Resource": [ "arn:aws:s3:::bedrock-agentcore-*", "arn:aws:s3:::bedrock-agentcore-*/*" ] }, { "Sid": "ECRRepositoryAccess", "Effect": "Allow", "Action": [ "ecr:CreateRepository", "ecr:DescribeRepositories", "ecr:GetRepositoryPolicy", "ecr:InitiateLayerUpload", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:ListImages", "ecr:TagResource" ], "Resource": [ "arn:aws:ecr:*:*:repository/bedrock-agentcore-*" ] }, { "Sid": "ECRAuthorizationAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

Izin pengguna untuk Amazon Bedrock Console AgentCore

Lampirkan BedrockAgentCoreFullAccesskebijakan ke peran konsol. Selain itu, tambahkan izin berikut untuk IAM jika Anda ingin konsol layanan membuat peran eksekusi secara otomatis.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMRoleAccess", "Effect": "Allow", "Action": ["iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"] }, { "Sid": "IAMPolicyAccess", "Effect": "Allow", "Action": ["iam:CreatePolicy"], "Resource": ["arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*"] }, { "Sid": "IAMRolePolicyAccess", "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"], "Condition": { "ArnLike": { "iam:PolicyARN": "arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*" } } }] }

Peran eksekusi untuk menjalankan agen di AgentCore Runtime

Untuk menjalankan agen atau alat di AgentCore Runtime, Anda memerlukan peran eksekusi AWS Identity and Access Management. Untuk informasi tentang membuat peran IAM, lihat Pembuatan peran IAM.

Peran eksekusi penerapan AgentCore langsung Amazon Bedrock adalah peran IAM yang AgentCore diasumsikan Amazon Bedrock untuk menjalankan agen. Ganti yang berikut ini:

  • us-east-1dengan AWS Wilayah yang Anda gunakan

  • 123456789012dengan ID AWS akun Anda

  • agentNamedengan nama agen Anda. Anda harus memutuskan nama agen sebelum membuat peran dan AgentCore Runtime.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": ["logs:DescribeLogGroups"], "Resource": ["arn:aws:logs:us-east-1:123456789012:log-group:*"] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": ["*"] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] }] }

Peran eksekusi AgentCore Runtime adalah peran IAM yang diasumsikan AgentCore Runtime untuk menjalankan agen. Ganti yang berikut ini:

  • us-east-1dengan AWS Wilayah yang Anda gunakan

  • 123456789012dengan ID AWS akun Anda

  • agentNamedengan nama agen Anda. Anda harus memutuskan nama agen sebelum membuat peran dan AgentCore Runtime.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "arn:aws:ecr:us-east-1:123456789012:repository/*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "GetAgentAccessToken", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT", "bedrock-agentcore:GetWorkloadAccessTokenForUserId" ], "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/agentName-*" ] }, {"Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] } ] }

AgentCore Kebijakan kepercayaan runtime

Peran eksekusi AgentCore Runtime harus menyertakan kebijakan kepercayaan berikut yang memungkinkan AgentCore Runtime untuk mengambil peran tersebut.

Dalam kebijakan, ganti:

  • us-east-1dengan AWS Wilayah yang Anda gunakan

  • 123456789012dengan ID AWS akun Anda

Untuk menambahkan kebijakan kepercayaan ke peran eksekusi AgentCore Runtime, buka AWS Management Console, navigasikan ke peran, pilih tab Trust relationship, dan pilih Edit trust policy.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AssumeRolePolicy", "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:*" } } } ] }