View a markdown version of this page

Amazon Bedrock AgentCore Gateway で IAM 条件キーを使用する - Amazon Bedrock AgentCore

Amazon Bedrock AgentCore Gateway で IAM 条件キーを使用する

Amazon Bedrock AgentCore 固有の条件キーを使用して、組織内のゲートウェイとゲートウェイターゲットの作成方法と設定方法を制御します。これらの条件キーは、コントロールプレーンオペレーションに適用されます。これらは、組織のセキュリティ要件を適用するためにサービスコントロールポリシー (SCPsで特に役立ちます。

例えば、以下のことが可能です:

  • すべてのゲートウェイで認証に特定の ID プロバイダーを使用する必要があります。

  • 作成できるターゲットのタイプを制限します。

  • ターゲットが特定の認証情報プロバイダータイプを使用するよう強制します。

  • ゲートウェイターゲットは、承認されたサブネットとセキュリティグループを介して接続する必要があります。

ゲートウェイ条件キー

CreateGateway および UpdateGatewayオペレーションには、次の条件キーが適用されます。

条件キー タイプ API オペレーション 説明

bedrock-agentcore:DiscoveryUrl

文字列

CreateGateway, UpdateGateway

ゲートウェイで設定された検出 URL でアクセスをフィルタリングします。これを使用して、ゲートウェイが特定の ID プロバイダーを使用していることを確認します。

bedrock-agentcore:KmsKeyArn

String

CreateGateway, UpdateGateway

ゲートウェイリソースの暗号化に使用される KMS キー ARN でアクセスをフィルタリングします。

bedrock-agentcore:PolicyEngineArn

String

CreateGateway, UpdateGateway

ゲートウェイに関連付けられたポリシーエンジン設定の ARN でアクセスをフィルタリングします。

bedrock-agentcore:PolicyEngineMode

String

CreateGateway, UpdateGateway

ゲートウェイに関連付けられたポリシーエンジン設定のモードによってアクセスをフィルタリングします。

bedrock-agentcore:ProtocolType

String

CreateGateway, UpdateGateway

ゲートウェイのプロトコルタイプでアクセスをフィルタリングします。

bedrock-agentcore:GatewayAuthorizerType

String

CreateGateway, UpdateGateway

ゲートウェイで設定されたオーソライザータイプでアクセスをフィルタリングします。有効な値は、AWS_IAMCUSTOM_JWTNONE です。

ゲートウェイターゲット条件キー

CreateGatewayTarget および UpdateGatewayTargetオペレーションには、次の条件キーが適用されます。

条件キー タイプ API オペレーション 説明

bedrock-agentcore:McpTargetConfigurationType

文字列

CreateGatewayTarget, UpdateGatewayTarget

MCP ターゲットのタイプでアクセスをフィルタリングします。有効な値には、apiGatewaylambdamcpServeropenApiSchemasmithyModel、および connector があります。

bedrock-agentcore:HttpTargetConfigurationType

String

CreateGatewayTarget, UpdateGatewayTarget

HTTP ターゲットのタイプでアクセスをフィルタリングします。有効な値は、agentcoreRuntime および passthrough です。

bedrock-agentcore:InferenceTargetConfigurationType

String

CreateGatewayTarget, UpdateGatewayTarget

推論ターゲットのタイプでアクセスをフィルタリングします。有効な値は、connector および provider です。

bedrock-agentcore:CredentialProviderType

String

CreateGatewayTarget, UpdateGatewayTarget

ターゲットで設定された認証情報プロバイダータイプでアクセスをフィルタリングします。有効な値には、GATEWAY_IAM_ROLEOAUTHAPI_KEYCALLER_IAM_CREDENTIALS、および JWT_PASSTHROUGH があります。

bedrock-agentcore:PrivateEndpointType

String

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのプライベートエンドポイントタイプでアクセスをフィルタリングします。有効な値は、managedVpcResource および selfManagedLatticeResource です。

bedrock-agentcore:ResourceConfigurationIdentifier

String

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのプライベートエンドポイントのリソース設定識別子でアクセスをフィルタリングします。

bedrock-agentcore:subnets

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのマネージド VPC リソース用に設定されたサブネットでアクセスをフィルタリングします。AgentCore VPC 設定で IAM 条件キーを使用する」を参照してください。

bedrock-agentcore:securityGroups

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのマネージド VPC リソース用に設定されたセキュリティグループでアクセスをフィルタリングします。

bedrock-agentcore:AllowedQueryParameters

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのメタデータ設定で許可されたクエリパラメータでアクセスをフィルタリングします。

bedrock-agentcore:AllowedRequestHeaders

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのメタデータ設定で許可されたリクエストヘッダーでアクセスをフィルタリングします。

bedrock-agentcore:AllowedResponseHeaders

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットのメタデータ設定で許可されたレスポンスヘッダーでアクセスをフィルタリングします。

bedrock-agentcore:CredentialProviderScope

ArrayOfString

CreateGatewayTarget, UpdateGatewayTarget

ターゲットの OAuth 認証情報プロバイダーで設定されたスコープでアクセスをフィルタリングします。

ポリシーの例

次の例は、IAM ポリシーと SCPs で条件キーを使用して、ゲートウェイ設定に組織制御を適用する方法を示しています。

ゲートウェイに特定の ID プロバイダーの使用を要求する

次の SCP を使用して、ゲートウェイが組織の承認済み ID プロバイダー検出 URL を使用しない場合に、ゲートウェイの作成または更新を拒否します。

{ "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" } } } ] }

ターゲットの認証情報プロバイダータイプを制限する

次の SCP を使用して、ゲートウェイターゲットを承認された認証情報プロバイダータイプに制限します。この例では、ゲートウェイの IAM ロールまたは発信者の IAM 認証情報のみを使用するようにゲートウェイターゲットを制限します。ターゲットは、外部管理の API キーまたは OAuth トークンを使用できません。

{ "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" ] } } } ] }

作成できる MCP ターゲットのタイプを制限する

次のポリシーを使用して、特定の設定タイプを使用する MCP ターゲットの作成を拒否します。この例では、ターゲットが直接 MCP サーバー URLsを使用することを防ぎます。

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

ターゲットにプライベートエンドポイントの使用を要求する

プライベートエンドポイントタイプを指定しないターゲットの作成を拒否するには、次の SCP を使用します。これにより、すべてのターゲットトラフィックがプライベートネットワーク内に留まります。

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

ゲートウェイにカスタマーマネージド KMS キーの使用を要求する

この SCP を使用して、すべてのゲートウェイがサービスデフォルトではなくカスタマーマネージド KMS キーを暗号化に使用することを要求します。

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

ゲートウェイターゲットに承認されたサブネットを強制する

次のポリシーを使用して、ゲートウェイターゲットを承認されたサブネットに制限します。詳細については、AgentCore VPC 設定で IAM 条件キーを使用する」を参照してください。

{ "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" ] } } } ] }