View a markdown version of this page

Gunakan kunci kondisi IAM dengan Amazon Bedrock AgentCore Gateway - Batuan Dasar Amazon AgentCore

Gunakan kunci kondisi IAM dengan Amazon Bedrock AgentCore Gateway

Gunakan kunci AgentCore-specific kondisi Amazon Bedrock untuk mengontrol cara Anda membuat dan mengonfigurasi gateway dan target gateway di organisasi Anda. Kunci kondisi ini berlaku untuk mengontrol operasi pesawat. Mereka sangat berguna dalam Kebijakan Kontrol Layanan (SCP) untuk menegakkan persyaratan keamanan organisasi.

Misalnya, Anda dapat:

  • Mengharuskan semua gateway menggunakan penyedia identitas tertentu untuk otentikasi.

  • Batasi jenis target apa yang dapat dibuat.

  • Menegakkan bahwa target menggunakan jenis penyedia kredensyal tertentu.

  • Mengharuskan target gateway terhubung melalui subnet dan grup keamanan yang disetujui.

Kunci kondisi gateway

Kunci kondisi berikut berlaku untuk CreateGateway dan UpdateGateway operasi.

Kunci syarat Tipe Operasi API Deskripsi

bedrock-agentcore:DiscoveryUrl

String

CreateGateway, UpdateGateway

Memfilter akses dengan URL penemuan yang dikonfigurasi di gateway. Gunakan ini untuk memastikan gateway menggunakan penyedia identitas tertentu.

bedrock-agentcore:KmsKeyArn

String

CreateGateway, UpdateGateway

Memfilter akses dengan kunci KMS ARN yang digunakan untuk mengenkripsi sumber daya gateway.

bedrock-agentcore:PolicyEngineArn

String

CreateGateway, UpdateGateway

Memfilter akses oleh ARN dari konfigurasi mesin kebijakan yang terkait dengan gateway.

bedrock-agentcore:PolicyEngineMode

String

CreateGateway, UpdateGateway

Memfilter akses dengan mode konfigurasi mesin kebijakan yang terkait dengan gateway.

bedrock-agentcore:ProtocolType

String

CreateGateway, UpdateGateway

Memfilter akses berdasarkan jenis protokol gateway.

bedrock-agentcore:GatewayAuthorizerType

String

CreateGateway, UpdateGateway

Memfilter akses berdasarkan jenis otorisasi yang dikonfigurasi pada gateway. Nilai yang valid adalah AWS_IAM, CUSTOM_JWT, dan NONE.

Kunci kondisi target gateway

Kunci kondisi berikut berlaku untuk CreateGatewayTarget dan UpdateGatewayTarget operasi.

Kunci syarat Tipe Operasi API Deskripsi

bedrock-agentcore:McpTargetConfigurationType

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses berdasarkan jenis target MCP. Nilai yang valid termasuk apiGateway, lambda, mcpServer, openApiSchema, smithyModel, dan connector.

bedrock-agentcore:HttpTargetConfigurationType

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses berdasarkan jenis target HTTP. Nilai yang valid mencakup agentcoreRuntime dan passthrough.

bedrock-agentcore:InferenceTargetConfigurationType

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses berdasarkan jenis target inferensi. Nilai yang valid mencakup connector dan provider.

bedrock-agentcore:CredentialProviderType

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses menurut jenis penyedia kredensyal yang dikonfigurasi pada target. Nilai yang valid termasuk GATEWAY_IAM_ROLE, OAUTH, API_KEY, CALLER_IAM_CREDENTIALS, dan JWT_PASSTHROUGH.

bedrock-agentcore:PrivateEndpointType

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses berdasarkan tipe titik akhir pribadi dari target. Nilai yang valid mencakup managedVpcResource dan selfManagedLatticeResource.

bedrock-agentcore:ResourceConfigurationIdentifier

String

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses dengan pengenal konfigurasi sumber daya dari titik akhir pribadi target.

bedrock-agentcore:subnets

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses oleh subnet yang dikonfigurasi untuk sumber daya VPC terkelola target. Lihat Gunakan tombol kondisi IAM dengan pengaturan AgentCore VPC.

bedrock-agentcore:securityGroups

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses oleh grup keamanan yang dikonfigurasi untuk sumber daya VPC terkelola target.

bedrock-agentcore:AllowedQueryParameters

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses dengan parameter kueri yang diizinkan dalam konfigurasi metadata target.

bedrock-agentcore:AllowedRequestHeaders

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses dengan header permintaan yang diizinkan dalam konfigurasi metadata target.

bedrock-agentcore:AllowedResponseHeaders

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses dengan header respons yang diizinkan dalam konfigurasi metadata target.

bedrock-agentcore:CredentialProviderScope

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

Memfilter akses berdasarkan cakupan yang dikonfigurasi pada penyedia kredensi OAuth untuk target.

Contoh kebijakan

Contoh berikut menunjukkan cara menggunakan kunci kondisi dalam kebijakan IAM dan SCP untuk menerapkan kontrol organisasi pada konfigurasi gateway.

Memerlukan gateway untuk menggunakan penyedia identitas tertentu

Gunakan SCP berikut untuk menolak pembuatan atau pembaruan gateway saat gateway tidak menggunakan URL penemuan penyedia identitas yang disetujui organisasi Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceGatewayIdP", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:UpdateGateway" ], "Resource": "*", "Condition": { "StringNotEquals": { "bedrock-agentcore:DiscoveryUrl": "https://login.example.com/.well-known/openid-configuration" } } } ] }

Batasi jenis penyedia kredensyal untuk target

Gunakan SCP berikut untuk membatasi target gateway ke jenis penyedia kredensi yang disetujui. Dengan contoh ini, Anda membatasi target gateway untuk hanya menggunakan peran IAM gateway atau kredensyal IAM pemanggil. Target tidak dapat menggunakan kunci API atau token OAuth yang dikelola secara eksternal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictTargetCredentialTypes", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget" ], "Resource": "*", "Condition": { "StringNotEquals": { "bedrock-agentcore:CredentialProviderType": [ "GATEWAY_IAM_ROLE", "CALLER_IAM_CREDENTIALS" ] } } } ] }

Batasi jenis target MCP yang dapat dibuat

Gunakan kebijakan berikut untuk menolak pembuatan target MCP yang menggunakan tipe konfigurasi tertentu. Contoh ini mencegah target menggunakan URL server MCP langsung.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDirectMcpServerTargets", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock-agentcore:McpTargetConfigurationType": "mcpServer" } } } ] }

Memerlukan target untuk menggunakan titik akhir pribadi

Gunakan SCP berikut untuk menolak pembuatan target yang tidak menentukan tipe titik akhir pribadi. Ini memastikan bahwa semua lalu lintas target tetap berada dalam jaringan pribadi.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforcePrivateEndpoints", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget" ], "Resource": "*", "Condition": { "Null": { "bedrock-agentcore:PrivateEndpointType": "true" } } } ] }

Memerlukan gateway untuk menggunakan kunci KMS yang dikelola pelanggan

Gunakan SCP ini untuk mengharuskan semua gateway menggunakan kunci KMS yang dikelola pelanggan untuk enkripsi, bukan default layanan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceCustomerManagedKey", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:UpdateGateway" ], "Resource": "*", "Condition": { "Null": { "bedrock-agentcore:KmsKeyArn": "true" } } } ] }

Menegakkan subnet yang disetujui untuk target gateway

Gunakan kebijakan berikut untuk membatasi target gateway ke subnet yang disetujui. Untuk informasi selengkapnya, lihat Menggunakan kunci kondisi IAM dengan pengaturan AgentCore VPC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceApprovedSubnets", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "bedrock-agentcore:subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1" ] } } } ] }