Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol keamanan dan akses
Harness memberi Anda primitif keamanan yang sama dengan yang lain AgentCore, terhubung dengan konfigurasi.
-
Eksekusi terisolasi. Setiap sesi berjalan di MicroVM Firecracker sendiri di Runtime. AgentCore Tidak ada status bersama, tidak ada sistem file bersama.
-
Peran eksekusi IAM. Harness mengambil peran IAM yang Anda miliki, dapat dikonfigurasi untuk menyertakan Bedrock, ECR, CloudWatch, dan AgentCore primitif yang disentuhnya. Lihat contoh kebijakan peran eksekusi di bawah ini.
catatan
Jika manajer peran diaktifkan di akun Anda, lamp AgentCore irkan peran untuk Anda, dan langkah pemilihan peran yang dijelaskan di sini diganti dengan opsi Ku stom isasi. Untuk menggunakan peran yang berbeda, pilih Sesuaikan. Untuk informasi selengkapnya, lihat Pembuatan peran IAM dalam Panduan Pengguna IAM.
-
Model izin IAM. Harness API memerlukan izin pada sumber daya harness dan sumber daya AgentCore Runtime yang mendasarinya. Misalnya, memanggil
InvokeHarnessmembutuhkan keduanyabedrock-agentcore:InvokeHarnessdanbedrock-agentcore:InvokeAgentRuntimeizin pada harness ARN. Pola yang sama berlaku untuk operasi pesawat kontrol:UpdateHarnessmembutuhkanbedrock-agentcore:UpdateAgentRuntimebedrock-agentcore:DeleteAgentRuntime,DeleteHarnessmembutuhkan, dan sebagainya. Lihat kebijakan peran eksekusi untuk daftar lengkapnya. -
Dukungan OAuth Masuk. Sumber daya Harness yang dikonfigurasi JWT mengharuskan pemanggil untuk menunjukkan JWT valid yang dikeluarkan oleh penyedia identitas yang dikonfigurasi sebelum mereka dapat memanggil harness. AgentCore Identitas mengutas identitas pengguna akhir melalui agen, sehingga alat hilir dapat memanggil API dengan kredentif pengguna tercakupan alih-alih akun layanan bersama.
-
VPC. Hubungkan sesi harness ke VPC Anda untuk akses pribadi ke sumber daya internal.
-
Kebijakan tentang Gateway. Ketika alat disajikan melalui AgentCore Gateway, Cedar-based kebijakan dapat dikonfigurasi untuk menggerbang setiap panggilan: siapa yang dapat memanggil alat mana, dalam kondisi apa, dengan argumen mana.
catatan
SigV4 dan identitas per pengguna. Saat pemanggil melakukan otentikasi dengan SIGv4 (AWS IAM), harness tidak menyebarkan identitas per pengguna ke panggilan alat hilir. Ini berarti fitur pelingkupan kredensia per pengguna di AgentCore Identity Token Vault - seperti penyimpanan token OAuth yang bercakupan pengguna dan pertukaran token on-behalf of - hanya tersedia ketika penelepon mengautentikasi dengan Bearer JWT melalui jalur masuk OAuth. Jika kasus penggunaan Anda memerlukan pelingkupan kredensia per pengguna untuk alat hilir, konfigurasikan OAuth masuk pada harness. Dukungan SIGv4 untuk identitas per pengguna direncanakan untuk rilis mendatang.
Model tanggung jawab bersama
Harness dibangun pada AgentCore Runtime dan batas keamanannya sama: otentikasi IAM atau JWT dikombinasikan dengan isolasi microVM. Setiap prinsipal yang melewati gerbang itu mencapai alat dan kemampuan yang dikonfigurasi pada harness, yang membuat otorisasi penelepon dan validasi input menjadi tanggung jawab pelanggan.
AWS tanggung jawab:
-
Infrastruktur aman dan isolasi microVM di tingkat perangkat keras
-
Penambalan kernel OS
-
Penambalan runtime bahasa untuk penerapan kode langsung
-
Kode runtime harness terkelola, termasuk validasi struktur permintaan
InvokeHarnessditerima -
Keamanan infrastruktur jaringan
-
Ketersediaan dan ketahanan layanan
Tanggung jawab Anda:
-
Keamanan kode agen dan manajemen ketergantungan
-
Kontrol akses IAM dan kebijakan sumber daya
-
Keamanan perintah yang dieksekusi dalam sesi runtime
-
Session-to-user penegakan pemetaan
-
Validasi input dan pencegahan injeksi cepat - termasuk memvalidasi semua
InvokeHarnessinput (lihatBatas kepercayaan dan validasi input) -
Validasi konfigurasi model - seperti
additionalParams,apiBase, danmodelIdbidang (lihatParameter konfigurasi model) -
Sumber keterampilan dan instruksi - memastikan bahwa bucket S3, repositori Git, dan URL yang digunakan untuk keterampilan berisi konten tepercaya (lihatKeterampilan dan instruksi)
-
Pembaruan gambar kontainer (untuk penerapan kontainer) - bangun kembali dengan gambar dasar aman terbaru secara teratur
-
Konfigurasi jaringan (grup keamanan, titik akhir VPC, tabel rute)
Untuk model tanggung jawab bersama AgentCore Runtime lengkap, lihat Prakti k terbaik keamanan untuk AgentCore Runtime.
Batas kepercayaan dan validasi input
Setiap prinsipal yang melewati gerbang otentikasi dan otorisasi IAM atau JWT memiliki akses ke sesi MicroVM penuh, termasuk alat dan kemampuan yang dikonfigurasi pada harness. Harness memvalidasi struktur permintaan yang diterimanya, tetapi tidak memeriksa makna prompt, konten layar, atau menegakkan kendala perilaku pada agen.
Jika Anda mengekspos harness kepada pengguna akhir yang tidak sepenuhnya Anda percayai (karyawan, konsumen eksternal, atau integrasi pihak ketiga), validasi dan bersihkan pesan di lapisan aplikasi Anda sebelum meneruskannya ke. InvokeHarness Ini termasuk pengupasan jenis blok konten atau bidang konfigurasi model yang tidak ingin dikirim. Ini adalah pola yang sama dengan layanan apa pun yang menerima muatan dari pemanggil resmi, seperti Lambda, Amazon API Gateway, dan Amazon SQS.
catatan
Harness menolak toolUse blok di sisi server pesan akhir, seperti yang ditunjukkan pada contoh berikut. Untuk pener AgentCore apan Runtime (non-harness), AgentCore Runtime tidak menyediakan perlindungan sisi server. Titik masuk agen Anda harus memvalidasi bahwa bidang prompt adalah string dan menolak atau menghapus blok toolUse konten sebelum meneruskan input ke kerangka kerja agen. Lihat Praktik terbaik keamanan untuk AgentCore Runtime.
Alat berjalan hanya sebagai hasil dari penalaran model. Harness tidak menerima blok toolUse dalam pesan akhir InvokeHarness permintaan, sehingga pemanggil tidak dapat memberi nama alat dan mengirimkannya secara langsung.
Contoh berikut menunjukkan permintaan bahwa harness dikonfigurasi untuk ditolak. Pesan terakhir berisi toolUse blok penamaan shell alat bawaan:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, messages=[{ "role": "assistant", "content": [ { "toolUse": { "toolUseId": TOOL_USE_ID, "name": "shell", "input": { "command": "pwd", } } } ] }], )
Harness tidak mengevaluasi alat mana yang diberi nama blok, jadi ini berlaku untuk alat sisi server bawaan dan fungsi sebaris yang disediakan pada panggilan.
Mengembalikan hasil alat masih didukung. Harness menerima blok ToolResult dalam pesan akhir, dan model melanjutkan penalaran atas hasil itu. Beginilah cara kerja alat fungsi sebaris: toolUse pesan asisten diikuti oleh permintaan yang sama, sehingga toolUse blok tidak ada di pesan akhir. toolResult
Parameter konfigurasi model
Bid model ang di InvokeHarness menerima additionalParams untuk konfigurasi Bedrock, OpenAI, dan LiteLM. Parameter ini diteruskan ke penyedia model yang mendasarinya tidak berubah. Harness tidak memvalidasi, menyaring, atau membatasi parameter ini.
Penelepon yang dapat mengatur additionalParams dapat:
-
Arahkan permintaan ke titik akhir sewenang-wenang -
aws_bedrock_runtime_endpointParameter LiteLTM menggantikan URL titik akhir Bedrock. Seorang pemanggil dapat merutekan permintaan yang ditandatangani - termasuk tanda tangan SIGv4 dan kredenSIAL sesi - ke titik akhir yang ditentukan dalam konfigurasi model kepercayaan. -
Mengganti header HTTP -
extra_headersParameter OpenAI menyuntikkan atau mengganti header HTTP pada permintaan keluar ke penyedia model, termasuk header.Authorization -
Coba asumsi peran IAM -
aws_role_nameParameter LiteLLM menginstruksikan runtime untuk mengambil peran IAM yang berbeda sebelum memanggil penyedia model. Upaya berhasil atau gagal berdasarkansts:AssumeRoleizin peran eksekusi. -
Ubah model atau wilayah target - Bidang
modelIddanapiBasedapat mengarahkan inferensi ke model, wilayah, atau penyedia yang berbeda sepenuhnya.
Jika aplikasi Anda mengekspos InvokeHarness kemampuan kepada pemanggil yang tidak sepenuhnya Anda percayai, pertimbangkan untuk menerapkan validasi input di lapisan aplikasi Anda. Contohnya adalah:
-
Mengupas atau mengizinkan daftar
modelbidang sebelum meneruskan permintaan -
Memvalidasi atau menghapus
additionalParams,apiBase, danmodelId -
Men
sts:AssumeRoleolak peran eksekusi jika peralihan peran tidak diperlukan -
Mencakup akses jaringan harness menggunakan grup keamanan VPC
Keterampilan dan instruksi
Keterampilan adalah kumpulan penurunan harga dan skrip yang diambil harness dari Amazon S3 atau Git pada waktu pemanggilan dan disuntikkan ke dalam konteks agen. Harness memperlakukan semua konten keterampilan sebagai masukan tepercaya. Itu tidak memvalidasi, membersihkan, atau memeriksa konten atau sumber keterampilan sebelum memberikannya kepada agen.
Anda bertanggung jawab untuk:
-
Memastikan bahwa sumber keterampilan (bucket S3, repositori Git, URL) dipercaya dan dikendalikan akses
-
Meninjau konten keterampilan - termasuk instruksi penurunan harga dan skrip yang disematkan - sebelum mengonfigurasinya pada harness
-
Mengontrol prinsipal mana yang dapat mengganti
skillsbidang per pemanggilan, karena pemanggil dapat mengarahkan harness ke sumber S3 atau Git yang sewenang-wenang
Keterampilan dapat diganti per panggilan. InvokeHarness Jika aplikasi Anda meneruskan input yang disediakan pemanggil keInvokeHarness, pemanggil dapat menyediakan sumber keterampilan mereka sendiri yang berisi instruksi atau skrip sewenang-wenang. Contoh mitigasi meliputi:
-
Mengupas atau mengabaikan
skillsbidang dari permintaan yang disediakan oleh pemanggil -
Izinkan daftar awalan S3 yang diizinkan atau repositori Git
Pengamatan dan korelasi jejak
Harness secara otomatis menyebarkan pengidentifikasi korelasi ke AgentCore primitif hilir (Gateway, Memory, Code Interpreter, Browser) untuk mengaktifkan tampilan pelacakan terpadu di. CloudWatch Pengidentifikasi ini hanya digunakan untuk pengamatan - mereka tidak pernah digunakan untuk otorisasi atau keputusan akses data.
Konfigurasi jaringan
Secara default, sesi harness berjalan di jaringan publik. Untuk mengakses sumber daya pribadi (database, API internal, subnet pribadi), gunakan harness di VPC Anda.
contoh
penting
Dalam mode VPC, harness menarik wadah aplikasi terkelola dari repositori Amazon ECR pribadi di Wilayah harness pada awal setiap sesi. VPC Anda tidak memerlukan gateway NAT atau akses internet untuk tarik ini. Sebagai gantinya, buat titik akhir VPC antarmuka untuk com.amazonaws.<region>.ecr.dkr dancom.amazonaws.<region>.ecr.api, dan titik akhir VPC gateway untukcom.amazonaws.<region>.s3, sehingga gambar dan lapisannya diselesaikan di dalam VPC Anda. Jika agen Anda memanggil Amazon Bedrock untuk inferensi, buat juga titik akhir antarmuka untuk. com.amazonaws.<region>.bedrock-runtime Tanpa titik akhir yang diperlukan, sesi gagal dimulai karena batas waktu tarik gambar. Peran eksekusi harus memungkinkan penarikan dari repositori pribadi. Lihat kebijakan peran eksekusi.
Untuk panduan konfigurasi jaringan tambahan, lihat Meng onfigurasi AgentCore Runtime dan konfigurasi VPC alat bawaan. Untuk konektivitas API masuk melalui PrivateLink, lihat titik akhir antarmuka VPC.
OAuth masuk
Memerlukan penelepon untuk menunjukkan JWT valid yang dikeluarkan oleh penyedia identitas yang dikonfigurasi sebelum mereka dapat memanggil harness. AgentCore Identitas mengutas identitas pengguna akhir melalui agen, sehingga alat hilir dapat memanggil API dengan kredentif pengguna tercakupan alih-alih akun layanan bersama.
contoh
Pelajari lebih lanjut: AgentCore Identitas · otor isasi JWT inbound · kredenSIAL keluar https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/identity-outbound-credential-provider.html
Kebijakan gateway
Ketika alat disajikan melalui AgentCore Gateway, Cedar-based kebijakan menutup setiap panggilan: siapa yang dapat memanggil alat mana, dalam kondisi apa, dengan argumen mana.
Pelajari lebih lanjut: AgentCore Kebijakan · pola umum
Kebijakan peran eksekusi
Harness mengambil peran eksekusi IAM yang Anda berikan. Kebijakan kepercayaan peran harus memungkinkan prinsipal AgentCore layanan untuk mengasumsikannya:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock-agentcore.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Izin IAM yang diperlukan untuk penelepon
Harness API memerlukan izin pada sumber daya harness dan AgentCore Runtime yang mendasarinya dan sumber daya AgentCore Memori opsional. Tabel berikut mencantumkan tindakan yang diperlukan untuk setiap API:
| API | Tindakan IAM yang diperlukan |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sebagian besar tindakan menggunakan harness ARN sebagai ruang lingkup sumber daya:arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>. Tindakan titik akhir juga menggunakan titik akhir harness ARN:arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>/harness-endpoint/<endpointName>.
T GetHarnessEndpoint ind UpdateHarnessEndpoint akan,DeleteHarnessEndpoint, dan membutuhkan ARN harness dan ARN titik akhir. CreateHarnessEndpointhanya membutuhkan harness ARN. Titik akhir belum ada, jadi tidak diperlukan ARN titik akhir. Ketika Anda memanggil titik akhir kustom, InvokeHarness dan InvokeAgentRuntimeCommand memerlukan ARN harness dan ARN titik akhir.
Contoh kebijakan peran eksekusi
Contoh berikut mencakup harness di jaringan publik, yang menarik gambar kontainer terkelola dari Amazon ECR Public. Harness dalam mode VPC menarik gambar yang dikelola dari repositori Amazon ECR pribadi di Wilayah harness, sehingga peran eksekusinya juga memerlukan izin tarik ECR pribadi. Tambahkan pernyataan dalam mode VPC: penarikan gambar terkelola dari ECR pribadi ke peran eksekusi untuk VPC-mode harness.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:<region>:<accountId>:*" ] }, { "Sid": "EcrPublicTokenAccess", "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Sid": "StsForEcrPublicPull", "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" }, { "Sid": "XRayTracingAccess", "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*" }, { "Sid": "CloudWatchLogsGroup", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*" }, { "Sid": "CloudWatchLogsDescribeGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:*" }, { "Sid": "CloudWatchLogsStream", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" }, { "Sid": "CloudWatchLogsPutResourcePolicy", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": "*" }, { "Sid": "CloudWatchMetricsPublish", "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "AgentCoreWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreBrowserDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:browser/*" }, { "Sid": "AgentCoreCodeInterpreterDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:code-interpreter/*" }, { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/harness_<agentNameAbbrv>_*" } ] }
AgentCore CLI membuat peran dengan izin ini secara otomatis saat Anda melakukan perancah proyek harness. Kebijakan di atas adalah untuk kasus di mana Anda membuat peran sendiri.
catatan
BedrockModelInvocationContoh pernyataan di atas memungkinkan pemanggilan semua model pondasi di semua wilayah dan semua sumber daya Bedrock di akun Anda. Untuk menguranginya, ganti ARN sumber daya dengan profil inferensi tertentu, yang memungkinkan Anda merutekan permintaan lintas model dan wilayah dengan satu ARN. Misalnya: arn:aws:bedrock:<destination_regions>:<accountId>:inference-profile/<profileId> dipasangkan dengan semua wilayah yang diizinkanarn:aws:bedrock:<region>:<accountId>:foundation-model/<modelId>.
Untuk beban kerja produksi, lingkup Resource nilai hingga ke ARN spesifik yang dibutuhkan harness Anda daripada digunakan. "*"
Izin tambahan untuk fitur opsional
Di bawah ini adalah contoh kebijakan yang dapat Anda tambahkan ke peran eksekusi berdasarkan fitur yang digunakan harness Anda. Ikuti prinsip hak istimewa paling sedikit - berikan agen harness Anda hanya alat dan kredenSIAL khusus yang dibutuhkan untuk inferensi. Lihat Referensi placeholder untuk definisi placeholder.
Akses ECR pribadi (gambar wadah khusus)
Tambahkan kebijakan ini saat harness Anda menggunakan gambar ECR pribadi untuk wadah khusus.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:<ecrRegion>:<ecrAccountId>:repository/<ecrRepoName>" }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Mode VPC: penarikan gambar terkelola dari ECR pribadi
Tambahkan kebijakan ini saat harness berjalan dalam mode VPC. Dalam mode VPC, harness menarik wadah aplikasi terkelola dari repositori Amazon ECR pribadi di Wilayah harness (bernamaharness-<region>). Tarikan ini menggunakan ECR pribadi alih-alih Amazon ECR Public, sehingga peran eksekusi membutuhkan izin tarik ECR pribadi. Kebijakan ini terpisah dari izin gambar kontainer kustom — kebijakan ini berlaku untuk gambar AWS terkelola bahkan ketika Anda tidak menyediakan wadah Anda sendiri.
Repositori dimiliki oleh akun AWS layanan, sehingga akun di repositori ARN diberi wildcard. Izin tarik dicakup ke Wilayah harness.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EcrManagedImagePull", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:<region>:*:repository/harness-*" }, { "Sid": "EcrManagedImageToken", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Pastikan titik akhir VPC yang diperlukan ada di VPC Anda (lihat Konfigurasi jaringan): titik akhir antarmuka untuk com.amazonaws.<region>.ecr.dkr dancom.amazonaws.<region>.ecr.api, dan titik akhir gateway untuk. com.amazonaws.<region>.s3
AgentCore Memori
Tambahkan kebijakan ini saat harness Anda menggunakan instance memori milik pelanggan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/<memoryId>" } ] }
AgentCore Browser (kustom)
Tambahkan kebijakan ini saat harness Anda menggunakan sumber daya browser kustom milik pelanggan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreBrowserCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:browser-custom/<browserCustomId>" } ] }
AgentCore Penerjemah Kode (kustom)
Tambahkan kebijakan ini saat harness Anda menggunakan penerjemah kode kustom milik pelanggan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreCodeInterpreterCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:code-interpreter-custom/<codeInterpreterCustomId>" } ] }
AgentCore Gerbang
Tambahkan kebijakan ini saat harness Anda menggunakan gateway yang dikonfigurasi dengan autentikasi masuk SIGv4.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreGatewayAccess", "Effect": "Allow", "Action": "bedrock-agentcore:InvokeGateway", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:gateway/<gatewayId>" } ] }
Sumber keterampilan di Amazon S3 dan Git
Tambahkan kebijakan ini saat harness mengambil keterampilan dari sumber Amazon S3. Peran eksekusi mencantumkan dan mengunduh objek keterampilan di bawah awalan bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreSkillS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<skillBucket>", "arn:aws:s3:::<skillBucket>/*" ] } ] }
Untuk mengambil keterampilan dari repositori Git pribadi, harness membaca token akses pribadi dari penyedia kredensia kunci API. Berikan kebijakan penyedia kredensia kunci API yang ditunjukkan di bawah ini untuk penyedia kredensia yang memegang token.
Penyedia kredensi kunci API (referensi ARN header OpenAI, Gemini, LiteLLM, atau MCP)
Tambahkan kebijakan ini saat harness Anda menggunakan penyedia kredensia kunci API untuk penyedia model seperti OpenAI, Gemini, atau LiteLLM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreApiKeyTokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreApiKeyTokenVaultPerKey", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/apikeycredentialprovider/<apiKeyName>" }, { "Sid": "AgentCoreApiKeySecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/apikey/<apiKeyName>-*" } ] }
Penyedia kredensia OAuth2 (Gateway) OAuth-protected
Tambahkan kebijakan ini saat harness Anda menggunakan penyedia kredensia OAuth2 untuk OAuth-protected alat gateway.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreOAuth2TokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreOAuth2TokenVaultPerProvider", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/oauth2credentialprovider/<oauthProviderName>" }, { "Sid": "AgentCoreOAuth2Secret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/oauth2/<oauthProviderName>-*" } ] }
Referensi placeholder
Ganti placeholder berikut dalam kebijakan di atas dengan nilai-nilai khusus untuk lingkungan Anda:
| Placeholder | Deskripsi |
|---|---|
|
|
Wil AWS ayah tempat sumber daya Anda digunakan. |
|
|
ID AWS akun Anda. |
|
|
Nama agen harness Anda. |
|
|
Bentuk singkatan dari nama agen harness Anda yang digunakan dalam nama sumber daya AgentCore Memori default. |
|
|
ID sumber daya AgentCore memori Anda. |
|
|
ID sumber daya browser kustom Anda. |
|
|
ID sumber penerjemah kode kustom Anda. |
|
|
ID sumber daya AgentCore Gateway Anda. |
|
|
Nama penyedia kredensia kunci API Anda. |
|
|
Nama bucket S3 yang menyimpan file keterampilan Anda. |
|
|
Nama penyedia kredensia OAuth2 Anda. |
|
|
Wilayah tempat repositori ECR Anda dihosting. |
|
|
ID AWS akun yang memiliki repositori ECR. |
|
|
Nama repositori ECR Anda. |
catatan
Terakhir -* pada sumber daya Manajer Rahasia menyumbang akhiran acak yang ditambahkan Manajer Rahasia ke ARN rahasia.
Topik terkait
-
Alat- jenis alat dan pola AllowedTools
-
Lingkungan dan sistem file- lingkungan khusus dan izin ECR
-
Kontrol biaya dengan batas- batas eksekusi untuk mengontrol biaya