View a markdown version of this page

Gunakan titik akhir VPC antarmuka (AWS PrivateLink) untuk membuat koneksi pribadi antara VPC Anda dan sumber daya Amazon Bedrock Anda AgentCore - Batuan Dasar Amazon AgentCore

Gunakan titik akhir VPC antarmuka (AWS PrivateLink) untuk membuat koneksi pribadi antara VPC Anda dan sumber daya Amazon Bedrock Anda AgentCore

Anda dapat menggunakan AWS PrivateLink untuk membuat koneksi pribadi antara VPC Anda dan Amazon Bedrock. AgentCore Anda dapat mengakses AgentCore seolah-olah itu ada di VPC Anda, tanpa menggunakan gateway internet, perangkat NAT, koneksi VPN, atau koneksi Direct Connect. Instans di VPC Anda tidak memerlukan alamat IP publik untuk mengakses. AgentCore

Anda membuat koneksi pribadi ini dengan membuat titik akhir antarmuka, yang didukung oleh AWS PrivateLink. Kami membuat antarmuka jaringan endpoint di setiap subnet yang Anda aktifkan untuk titik akhir antarmuka. Ini adalah antarmuka jaringan yang dikelola pemohon yang berfungsi sebagai titik masuk untuk lalu lintas yang ditakdirkan. AgentCore

Untuk informasi selengkapnya, lihat Akses AWS layanan melalui AWS PrivateLink AWS PrivateLink Panduan.

Pertimbangan untuk AgentCore

Sebelum Anda menyiapkan titik akhir antarmuka AgentCore, tinjau Pertimbangan dalam Panduan. AWS PrivateLink

AgentCore menyediakan tiga AWS PrivateLink titik akhir:

  • Titik akhir bidang data - com.amazonaws.region.bedrock-agentcore

  • Titik akhir bidang kontrol - com.amazonaws.region.bedrock-agentcore-control

  • Titik akhir gerbang - com.amazonaws.region.bedrock-agentcore.gateway

Tabel berikut menunjukkan status AWS PrivateLink dukungan untuk setiap AgentCore primitif:

Primitif Bidang data Bidang kontrol

Waktu Aktif

Didukung

Didukung

Memori

Didukung

Didukung

Built-in Alat (Penerjemah Kode, Alat Browser)

Didukung

Didukung

Identitas

Didukung

Didukung

Gateway

Didukung

Didukung

Evaluasi dan Optimasi

Didukung

Didukung

Kebijakan

Didukung

Didukung

Untuk daftar AWS Wilayah di mana titik akhir AgentCore antarmuka tersedia, lihat AWS Wilayah yang Didukung.

penting

API bidang data mendukung header AWS Signature Version 4 (SigV4) untuk otentikasi dan otentikasi Bearer Token (OAuth). Kebijakan titik akhir VPC hanya dapat membatasi penelepon berdasarkan prinsip IAM dan bukan pengguna OAuth. Agar OAuth-based permintaan berhasil melalui titik akhir VPC, prinsipal harus disetel ke* dalam kebijakan titik akhir. Jika tidak, hanya penelepon SiGv4 yang diizinkan yang dapat melakukan panggilan berhasil melalui titik akhir VPC.

AWS Kunci konteks kondisi global IAM didukung. Secara default, akses penuh ke AgentCore diizinkan melalui titik akhir antarmuka. Anda dapat mengontrol akses dengan melampirkan kebijakan titik akhir ke titik akhir antarmuka atau dengan mengaitkan grup keamanan dengan antarmuka jaringan titik akhir.

Buat titik akhir antarmuka untuk AgentCore

Anda dapat membuat titik akhir antarmuka untuk AgentCore menggunakan konsol VPC Amazon atau Antarmuka Baris AWS Perintah (AWS CLI). Untuk informasi selengkapnya, lihat Membuat titik akhir antarmuka di AWS PrivateLink Panduan.

Buat titik akhir antarmuka untuk AgentCore menggunakan format nama layanan berikut:

  • Semua primitif bidang data (Runtime, Built-in Tools, Memory, Identity): com.amazonaws.region.bedrock-agentcore

  • Untuk AgentCore Gateway: com.amazonaws.region.bedrock-agentcore.gateway

  • Untuk operasi bidang kontrol (Runtime dan manajemen Memori): com.amazonaws.region.bedrock-agentcore-control

Jika Anda mengaktifkan DNS pribadi untuk titik akhir antarmuka, Anda dapat membuat permintaan API untuk AgentCore menggunakan nama DNS Regional default. Misalnya, bedrock-agentcore.us-east-1.amazonaws.com.

Buat kebijakan titik akhir untuk titik akhir antarmuka Anda

Kebijakan endpoint adalah sumber daya IAM yang dapat Anda lampirkan ke titik akhir antarmuka. Kebijakan endpoint default memungkinkan akses penuh AgentCore melalui titik akhir antarmuka. Untuk mengontrol akses yang diizinkan AgentCore dari VPC Anda, lampirkan kebijakan titik akhir kustom ke titik akhir antarmuka.

kebijakan titik akhir mencantumkan informasi berikut:

  • Prinsipal yang dapat melakukan tindakan (AWS akun, pengguna IAM, dan peran IAM).

    • Untuk AgentCore Gateway, jika masuknya gateway Anda tidak berbasis AWS Signature Version 4 (SigV4) (misalnya, jika Anda menggunakan OAuth sebagai gantinya), Anda harus menentukan Principal bidang sebagai wildcard *. Otentikasi berbasis SiGv4 memungkinkan Anda untuk mendefinisikan Principal sebagai identitas tertentu. AWS Ini juga berlaku untuk AgentCore Runtime.

  • Tindakan yang dapat dilakukan.

  • Sumber daya untuk melakukan tindakan.

Untuk informasi selengkapnya, lihat Mengontrol akses ke layanan menggunakan kebijakan titik akhir di AWS PrivateLink Panduan.

Kebijakan titik akhir untuk berbagai primitif

Contoh berikut menunjukkan kebijakan titik akhir untuk AgentCore komponen yang berbeda:

contoh
Runtime
  1. Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu untuk memanggil sumber daya runtime agen.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:user/USERNAME" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Otentikasi IAM dan OAuth campuran

    InvokeAgentRuntimeAPI mendukung dua mode otorisasi titik akhir VPC. Kebijakan contoh berikut memungkinkan prinsipal IAM dan penelepon OAuth untuk mengakses sumber daya runtime agen yang berbeda.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent1" }, { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent2" } ] }

    Kebijakan di atas hanya mengizinkan kepala sekolah IAM untuk melakukan InvokeAgentRuntime panggilan kecustomAgent1. Ini juga memungkinkan prinsip IAM dan penelepon OAuth untuk melakukan panggilan ke. InvokeAgentRuntime customAgent2

    Kebijakan titik akhir Metadata Sumber Daya Terproteksi (PRM)

    GetRuntimeProtectedResourceMetadataAPI mengimplementasikan Metadata Sumber Daya yang Dilindungi OAuth 2.0 (RFC 9728). Klien memanggil titik akhir ini sebelum mereka memiliki kredensi, untuk menemukan server otorisasi mana yang melindungi runtime agen tertentu. Titik akhir ini tidak diautentikasi oleh desain, sehingga Principal harus disetel ke* dalam kebijakan titik akhir.

    Kebijakan titik akhir VPC diberlakukan pada permintaan PRM. Jika kebijakan titik akhir Anda tidak mengizinkan secara eksplisitbedrock-agentcore:GetRuntimeProtectedResourceMetadata, permintaan PRM melalui titik akhir tersebut ditolak dengan HTTP 403. Setiap runtime OAuth-configured agen yang diakses melalui titik akhir VPC memerlukan akses PRM untuk penemuan server otorisasi.

    catatan

    Jika Anda memiliki kebijakan deny-all endpoint untuk penegakan perimeter data dan tidak menggunakan otentikasi OAuth atau JWT, permintaan PRM ditolak secara otomatis. Tidak diperlukan konfigurasi tambahan.

    Kebijakan endpoint berikut memungkinkan pemanggil untuk menemukan server otorisasi (PRM) sambil membatasi pemanggilan runtime ke prinsipal IAM tertentu:

    { "Statement": [ { "Sid": "AllowPRMDiscovery", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Untuk memblokir pencarian PRM lintas akun melalui titik akhir VPC Anda (penegakan perimeter data), lingkup pernyataan izin PRM hanya untuk runtime akun Anda:

    { "Statement": [ { "Sid": "AllowPRMOwnAccountOnly", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "DenyCrossAccountPRM", "Effect": "Deny", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "NotResource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" } ] }
Code Interpreter Tool
  1. Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu untuk memanggil sumber daya Code Interpreter.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:code-interpreter/CODE_INTERPRETER_ID" } ] }
Memory
  1. ====== Semua operasi pesawat data

    Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu untuk mengakses operasi bidang data us-east-1 untuk Memori tertentu. AgentCore

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }

    Akses ke semua kenangan

    Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu akses ke semua memori.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/*" } ] }

    Pembatasan akses oleh API

    Kebijakan endpoint berikut memberikan izin untuk prinsipal IAM tertentu untuk membuat peristiwa dalam sumber daya Memori tertentu AgentCore .

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }
Browser Tool
  1. Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu untuk terhubung ke sumber daya Alat Browser.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws::iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:ConnectBrowserAutomationStream" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1:ACCOUNT_ID:browser/BROWSER_ID" } ] }
Gateway
  1. Berikut ini adalah contoh kebijakan endpoint kustom. Saat Anda melampirkan kebijakan ini ke titik akhir antarmuka Anda, kebijakan ini memungkinkan semua prinsipal untuk memanggil gateway yang ditentukan di bidang. Resource

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock:InvokeGateway" ], "Resource": "arn:aws::bedrock-agentcore:us-east-1::gateway/my-gateway" } ] }
Identity
  1. Kebijakan endpoint berikut memungkinkan akses ke sumber daya Identity.

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "*" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:workload-identity-directory/default/workload-identity/WORKLOAD_IDENTITY_ID" } ] }
Evaluations and Optimizations
  1. Kebijakan endpoint berikut memungkinkan prinsipal IAM tertentu untuk mengakses operasi Evaluasi dan Optimisasi.

    { "Statement": [ { "Sid": "AllowBatchEvaluations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartBatchEvaluation", "bedrock-agentcore:GetBatchEvaluation", "bedrock-agentcore:ListBatchEvaluations", "bedrock-agentcore:StopBatchEvaluation", "bedrock-agentcore:DeleteBatchEvaluation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:batch-evaluate/*" }, { "Sid": "AllowRecommendations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartRecommendation", "bedrock-agentcore:GetRecommendation", "bedrock-agentcore:ListRecommendations", "bedrock-agentcore:DeleteRecommendation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:recommendation/*" }, { "Sid": "AllowEvaluators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvaluator", "bedrock-agentcore:GetEvaluator", "bedrock-agentcore:ListEvaluators", "bedrock-agentcore:UpdateEvaluator", "bedrock-agentcore:DeleteEvaluator" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:evaluator/*" }, { "Sid": "AllowOnlineEvaluationConfigs", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateOnlineEvaluationConfig", "bedrock-agentcore:GetOnlineEvaluationConfig", "bedrock-agentcore:ListOnlineEvaluationConfigs", "bedrock-agentcore:UpdateOnlineEvaluationConfig", "bedrock-agentcore:DeleteOnlineEvaluationConfig" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:online-evaluation-config/*" }, { "Sid": "AllowABTests", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateABTest", "bedrock-agentcore:GetABTest", "bedrock-agentcore:ListABTests", "bedrock-agentcore:UpdateABTest", "bedrock-agentcore:DeleteABTest" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:ab-test/*" }, { "Sid": "AllowConfigurationBundles", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateConfigurationBundle", "bedrock-agentcore:GetConfigurationBundle", "bedrock-agentcore:GetConfigurationBundleVersion", "bedrock-agentcore:ListConfigurationBundles", "bedrock-agentcore:ListConfigurationBundleVersions", "bedrock-agentcore:UpdateConfigurationBundle", "bedrock-agentcore:DeleteConfigurationBundle" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:configuration-bundle/*" } ] }