AWS Langchain教程:请求AWS Bedrock模型权限失败,提示操作不允许
解决Amazon Bedrock模型访问权限问题
针对你遇到的AccessDeniedException以及模型申请失败的问题,以下是可能遗漏的配置项排查方向:
确认目标模型的区域支持情况
不同Bedrock模型在AWS区域的覆盖范围不同,比如Anthropic Claude-v2和Meta Llama 2仅在部分区域提供服务。需确保:- 部署LangChain Agent的区域,与你申请模型访问权限的区域完全一致
- 目标模型在该区域确实已开放(可通过Bedrock控制台的"模型库"查看区域支持列表)
模型访问申请的状态与订阅要求
- 对于Bedrock原生基础模型(如Claude-v2),提交访问申请后需要AWS后台审核,通常需要数小时至1-2天才能生效,并非即时通过
- 对于AWS Marketplace提供的模型(如Llama 2 Chat 13B),必须先在AWS Marketplace完成模型订阅,才能在Bedrock中提交访问申请,否则会出现"Operation not allowed"错误
细化IAM权限配置
即使添加了AmazonBedrockFullAccess托管策略,仍可能存在权限限制:- 部分托管策略可能包含区域或模型范围的限制,可手动创建自定义IAM策略,明确允许目标模型的调用权限,示例策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["bedrock:InvokeModel", "bedrock:ListModels"], "Resource": [ "arn:aws:bedrock:<你的区域>::model/anthropic.claude-v2", "arn:aws:bedrock:<你的区域>::model/meta.llama2-13b-chat-v1" ] } ] } - 将该自定义策略附加到相关角色和Identity Center用户组
- 部分托管策略可能包含区域或模型范围的限制,可手动创建自定义IAM策略,明确允许目标模型的调用权限,示例策略如下:
确保Identity Center用户权限同步
- 新创建的Identity Center用户需要退出并重新登录,才能获取最新的权限配置
- 验证用户是否被正确添加到包含管理员策略的用户组,且组策略已成功关联
检查Bedrock控制台的模型访问状态
进入Bedrock控制台的"模型访问"页面,确认:- 目标模型的状态为"已访问",而非"待审批"或"未申请"
- 若为Marketplace模型,需确认已完成订阅流程
内容的提问来源于stack exchange,提问作者Waseem
相关产品推荐
相关产品推荐

