Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyiapkan izin untuk AgentCore Gateway
Untuk menggunakan Amazon Bedrock AgentCore Gateway dan kemampuannya, Anda harus mempertimbangkan izin berikut:
-
Iz builder/user in gateway — Izin yang diberikan kepada pembuat gateway atau pengguna untuk memungkinkannya membuat, mengelola, dan atau menggunakan AgentCore gateway.
-
Izin peran layanan gateway — Izin yang diberikan ke peran layanan yang akan Anda buat untuk gateway Anda. Izin ini memungkinkan AgentCore layanan Amazon Bedrock untuk melakukan tindakan atas nama identitas yang memanggil gateway.
-
Resource-based izin — Izin yang dilampirkan ke sumber daya untuk memungkinkan peran layanan gateway mengaksesnya. Anda akan menyertakan Nama Sumber Daya Amazon (ARN) dari peran layanan gateway sebagai
Principalkebijakan berbasis sumber daya. -
Kebijakan berbasis sumber daya gateway — Kebijakan yang dilampirkan langsung ke sumber daya gateway Anda untuk mengontrol prinsipal mana yang dapat memanggilnya. Untuk informasi selengkapnya, lihat Resource-based kebijakan untuk Amazon Bedrock AgentCore.
catatan
Jika Anda memilih untuk tidak mengatur izin khusus, Anda dapat menggunakan opsi berikut untuk pengaturan yang mudah: * Lampirkan BedrockAgentCoreFullAccess ke identitas IAM untuk memungkinkannya membuat, mengelola, dan memanggil gateway. * Gunakan Konsol AWS Manajemen atau AgentCore CLI untuk membuat peran layanan AgentCore gateway dengan izin yang tepat dan target gateway dengan kebijakan berbasis sumber daya yang tepat untuk memungkinkan peran layanan mengaksesnya.
Pilih topik untuk mempelajari lebih lanjut:
Topik
Pembuat gateway dan izin pengguna
Agar identitas dapat membuat, mengelola, atau menggunakan gateway, Anda harus melampirkan kebijakan berbasis identitas ke identitas IAM agar dapat melakukan tindakan Amazon Bedrock. AgentCore-related Untuk izin komprehensif, Anda dapat menggunakan kebijakan ter BedrockAgentCoreFullAccess kelola.
Untuk keamanan dan kontrol yang lebih baik, Anda dapat membuat kebijakan kustom Anda sendiri dengan mengurangi izin dalam kebijakan akses penuh. Misalnya, kebijakan berikut mengizinkan identitas untuk melakukan tindakan yang terkait dengan AgentCore Gateway tetapi tidak ke AgentCore layanan lain, seperti AgentCore Runtime atau AgentCore Browser:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:*Gateway*", "bedrock-agentcore:*WorkloadIdentity", "bedrock-agentcore:*CredentialProvider", "bedrock-agentcore:*Token*", "bedrock-agentcore:*Access*" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" } ] }
Kebijakan kustom berikut adalah kebijakan yang lebih ketat yang hanya mengizinkan akses baca ke gateway, target gateway, dan batas tarif:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:ListGateways", "bedrock-agentcore:GetGateway", "bedrock-agentcore:ListGatewayTargets", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:ListGatewayRateLimits", "bedrock-agentcore:GetGatewayRateLimit" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" } ] }
Kebijakan kustom berikut memungkinkan identitas untuk mengelola batas tarif pada gateway tanpa dapat mengubah gateway atau targetnya:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateGatewayRateLimit", "bedrock-agentcore:GetGatewayRateLimit", "bedrock-agentcore:UpdateGatewayRateLimit", "bedrock-agentcore:DeleteGatewayRateLimit", "bedrock-agentcore:ListGatewayRateLimits", "bedrock-agentcore:BatchPutGatewayRateLimits" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" } ] }
Izin akses gateway (otorisasi masuk)
Selain izin terkait gateway, Anda juga perlu mengonfigurasi izin untuk identitas agar dapat mengakses gateway selama pemanggilan. Anda akan mengonfigurasi izin ini saat mengatur otorisasi masuk.
AgentCore Izin peran layanan gateway
Saat membuat gateway, Anda memerlukan peran layanan yang memiliki izin untuk mengambil peran IAM dan untuk mengakses AWS sumber daya dan layanan eksternal atas nama peran IAM. Anda dapat membuat peran layanan dengan cara berikut:
-
Jika Anda membuat gateway di Konsol AWS Manajemen atau melalui AgentCore CLI, Anda dapat memilih untuk membiarkan AgentCore secara otomatis membuat peran layanan untuk Anda dengan izin yang diperlukan. Jika Anda lebih suka metode ini, Anda dapat melewati prasyarat ini.
-
Jika Anda lebih suka membuat peran layanan Anda sendiri untuk penyesuaian yang lebih besar, Anda harus mengonfigurasi peran dengan izin yang diuraikan dalam topik ini. Untuk mempelajari cara membuat peran layanan dan melampirkan izin ke dalamnya, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan.
Izin yang diperlukan untuk peran layanan ada dalam topik berikut:
Izin kepercayaan
Peran layanan harus memiliki kebijakan kepercayaan yang dilamp irkan yang memungkinkan AgentCore layanan mengambil identitas IAM dan melakukan tindakan atas namanya.
Berikut ini adalah contoh kebijakan kepercayaan yang dapat Anda gunakan.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "GatewayAssumeRolePolicy", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:gateway/gateway-name-*" } } } ] }
catatan
Karena Anda tidak akan mengetahui gateway ARN sebelum Anda membuatnya, Anda dapat menghilangkan Condition bidang saat pertama kali membuat peran layanan. Setelah Anda membuat gateway, tambahkan Condition bidang kembali ke kebijakan sebagai praktik keamanan terbaik dan lakukan hal berikut: * Ganti nilai kunci aws:SourceAccount kondisi dengan ID akun milik gateway. * Ganti kunci aws:SourceArn kondisi dengan ARN gateway.
Izin otorisasi keluar
Bergantung pada jenis otorisasi keluar yang Anda gunakan untuk target gateway, Anda perlu menambahkan izin ke peran layanan untuk mengizinkannya memanggil target. Izin ini memungkinkan peran layanan gateway untuk mengambil kredentif otorisasi untuk memanggil target. Anda dapat melakukan ini dalam proses pengaturan otor isasi keluar.
Izin untuk mengakses AWS sumber daya
Bergantung pada pengaturan gateway atau target yang Anda pilih untuk ditambahkan ke gateway, Anda mungkin perlu menambahkan izin ke peran layanan gateway untuk mengizinkannya mengakses AWS sumber daya. Topik berikut mencakup beberapa sumber daya yang mungkin perlu diakses oleh peran layanan gateway Anda:
Jika Anda melampirkan target Lambda ke gateway Anda, Anda perlu menambahkan izin untuk peran layanan AgentCore Gateway agar dapat memanggil fungsi dengan melakukan hal berikut:
-
Lampirkan kebijakan berbasis identitas ke peran layanan AgentCore Gateway yang memungkinkan
lambda:InvokeFunctiontindakan pada sumber daya fungsi Lambda. -
(Jika fungsi berada di akun yang berbeda dari peran layanan gateway) Lampirkan kebijakan berbasis sumber daya ke fungsi Lambda yang memungkinkan prinsipal peran layanan gateway untuk melakukan
lambda:InvokeFunctiontindakan pada sumber daya fungsi Lambda.
Pilih topik untuk mempelajari cara mengatur izin:
Topik
===== Melampirkan kebijakan berbasis identitas ke peran layanan gateway
Untuk mengizinkan peran layanan gateway mengakses target Lambda, lampirkan kebijakan berbasis identitas berikut ke peran layanan AgentCore Gateway Anda dengan memilih topik di Men ambahkan dan menghapus izin identitas IAM yang berkaitan dengan kasus penggunaan Anda dan ikuti langkah-langkahnya..
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AmazonBedrockAgentCoreGatewayLambdaProd", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:FunctionName" ] }] }
Ganti ARN di Resource lapangan dengan ARN target gateway fungsi Lambda Anda. Jika gateway Anda memiliki beberapa target Lambda, Anda dapat menambahkan ARN dari setiap fungsi ke Resource daftar.
===== (Jika fungsi ada di akun lain) Lampirkan kebijakan berbasis sumber daya ke fungsi Lambda
Jika target fungsi Lambda berada di akun yang berbeda dari peran layanan gateway, Anda perlu melampirkan kebijakan berbasis sumber daya untuk mengizinkan peran layanan gateway mengaksesnya. Berikut ini adalah contoh kebijakan yang dapat Anda gunakan:
{ "Version":"2012-10-17", "Statement": [ { "Sid": "LambdaAllowGatewayServiceRoleMyFunction", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyGatewayExecutionRole" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction" } ] }
Ganti nilai bidang berikut:
-
AWS— Gunakan ARN dari peran layanan gateway Anda. -
Resource— Gunakan ARN fungsi Lambda Anda.
Untuk mempelajari cara melampirkan kebijakan berbasis sumber daya ke fungsi Lambda yang memungkinkan peran layanan gateway mengakses fungsi, pilih salah satu metode berikut:
contoh
Jika Anda berencana untuk menyertakan definisi alat target gateway dari URI Amazon S3, Anda harus menyertakan izin untuk peran layanan gateway untuk mengakses bucket. AmazonS3ReadOnlyAccessKebijakan ini merupakan contoh kebijakan yang dapat Anda lampirkan ke peran layanan. Anda dapat menjangkau Resource lokasi S3 untuk keamanan yang lebih besar.
Jika Anda berencana untuk menambahkan target Smithy, Anda perlu menambahkan izin untuk peran layanan gateway untuk mengakses AWS layanan yang dirujuk oleh model Smithy Anda. Untuk menentukan izin mana yang perlu dilampirkan ke peran layanan, lihat dokumentasi layanan tersebut.
Anda dapat menambahkan izin ke peran layanan dengan memilih topik di Men ambahkan dan menghapus izin identitas IAM yang berkaitan dengan kasus penggunaan Anda dan mengikuti langkah-langkahnya.
Misalnya, jika target model Smithy mengakses tabel DynamoDB, Anda dapat melampirkan kebijakan berikut untuk mengizinkan peran layanan melakukan operasi DynamoDB pada tabel:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:*:*:table/*" } ] }
Praktik terbaik untuk izin Gateway
- Ikuti prinsip hak istimewa terkecil
-
-
Berikan hanya izin yang diperlukan agar Gateway Anda berfungsi
-
Gunakan ARN sumber daya tertentu daripada wildcard jika memungkinkan
-
Secara teratur meninjau dan mengaudit izin
-
- Pisahkan peran berdasarkan fungsi
-
-
Gunakan peran yang berbeda untuk manajemen dan eksekusi
-
Buat peran terpisah untuk Gateway yang berbeda dengan tujuan yang berbeda
-
- Penyimpanan kredensi aman
-
-
Simpan kunci API dan kredenSIAL OAuth di Secrets Manager AWS
-
Rotasi kredensial secara teratur
-
- Pantau dan audit
-
-
Aktif CloudTrail kan logging untuk operasi Gateway
-
Tinjau pola akses dan penggunaan izin secara teratur
-
- Gunakan kondisi dalam kebijakan
-
-
Tambahkan kondisi untuk membatasi kapan dan bagaimana izin dapat digunakan
-
Pertimbangkan untuk menggunakan pembatasan IP sumber untuk operasi manajemen
-