Lambda角色调用Bedrock GetPrompt接口时遇AccessDeniedException权限问题
解决方案
核心问题
你的Lambda函数调用的是Bedrock Agent的GetPrompt API(从堆栈跟踪里的@aws-sdk/client-bedrock-agent包可确认),但你当前策略里配置的是基础Bedrock服务的bedrock:GetPrompt动作,二者不属于同一权限范畴,导致权限验证失败。
修正步骤
更新自定义IAM策略
将策略中的bedrock:GetPrompt、bedrock:ListPrompts替换为Bedrock Agent对应的动作:[ { "Action": [ "bedrock-agent:GetPrompt", "bedrock-agent:ListPrompts", "bedrock:InvokeModel", "bedrock:ListFoundationModels" ], "Resource": ["*"] }, { "Action": ["s3:*"], "Resource": ["*"] } ]确认权限覆盖
托管策略AmazonBedrockFullAccess默认不包含Bedrock Agent的Prompt管理权限,必须确保自定义策略里明确声明bedrock-agent:GetPrompt和bedrock-agent:ListPrompts权限。等待权限同步并测试
策略更新后,等待1-2分钟让IAM权限完成同步,再重新触发Lambda函数验证。
额外检查点
- 确认Lambda角色未被权限边界(Permission Boundary)限制相关动作
- 检查调用
GetPrompt时传入的Prompt ARN属于当前AWS账号且格式正确
内容的提问来源于stack exchange,提问作者David Backx
相关产品推荐
相关产品推荐

