调用AWS Bedrock Agent时遭遇权限拒绝问题求助
排查AWS Bedrock智能体调用权限拒绝问题
修正知识库ARN格式错误
你的内联策略中Statement1的知识库ARN存在格式问题:arn:aws:bedrock:*:389743002678:knowledge-base/:knowledge-base-id这里
knowledge-base/后多了一个冒号,正确格式应为:arn:aws:bedrock:us-east-1:389743002678:knowledge-base/[你的实际知识库ID]建议指定具体区域(如us-east-1),避免通配符带来的权限匹配不确定性。
确认智能体关联的服务角色正确
- 进入Bedrock控制台,找到目标智能体,检查其配置的执行角色是否为你添加了权限的角色。
- 若角色设置了权限边界,需同时在边界中添加Bedrock相关权限,否则即使有
AdministratorAccess也会被限制。
检查角色的信任策略
服务角色必须允许Bedrock服务扮演它,信任策略需包含以下内容:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }信任策略不正确会导致Bedrock无法获取角色权限,直接触发访问拒绝。
验证权限实际生效情况
使用AWS IAM Access Analyzer的模拟权限功能,选择目标服务角色,模拟bedrock:InvokeAgent(智能体调用核心权限)及知识库相关操作权限,查看是否存在明确的拒绝项。排除区域不匹配问题
确认智能体、知识库、调用请求的区域一致,比如在us-east-1创建的资源,调用时不能使用其他区域的端点,否则权限ARN会匹配失败。简化权限策略测试
暂时替换内联策略为最小有效权限测试,避免过度通配符带来的隐含限制:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:InvokeAgent", "bedrock:QueryKnowledgeBase", "bedrock:Retrieve", "bedrock:RetrieveAndGenerate", "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1", "arn:aws:bedrock:us-east-1:389743002678:knowledge-base/[你的知识库ID]", "arn:aws:bedrock:us-east-1:389743002678:agent/[你的智能体ID]" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::[你的知识库存储桶]/*" } ] }
内容的提问来源于stack exchange,提问作者Dinuda Yaggahavita
相关产品推荐
相关产品推荐

