使用AWS OpenSearch Serverless与Bedrock构建RAG Pipeline时遇授权错误
解决AWS OpenSearch Serverless控制台访问索引的授权错误
排查与修复步骤
1. 验证控制台用户的IAM权限
确保当前登录AWS控制台的IAM用户/角色拥有集合及索引的基础访问权限,可通过附加以下IAM策略片段实现:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:ListCollections", "aoss:DescribeCollection", "aoss:ListIndexes", "aoss:DescribeIndex" ], "Resource": "arn:aws:aoss:你的区域:你的账号ID:collection/你的集合名称" } ] }
2. 检查OpenSearch Serverless数据访问策略
控制台访问索引需同时满足数据访问策略的授权要求:
- 进入OpenSearch Serverless控制台,定位目标集合
- 切换至「数据访问策略」标签页
- 确保策略包含允许当前IAM用户读取目标索引的规则,示例如下:
[ { "Rules": [ { "Resource": ["index/你的集合名称/你的索引名称/*"], "Permission": ["aoss:ReadDocument"], "ResourceType": "index" } ], "Principal": ["arn:aws:iam::你的账号ID:user/你的控制台用户名"], "Description": "授权控制台用户读取目标索引" } ]
注意:
Principal需精确匹配当前控制台用户的ARN,或包含用户所属IAM组的ARN
3. 排查权限边界限制
若使用IAM角色登录控制台,检查角色的权限边界是否禁止了aoss:*系列操作,确保权限边界未拦截必要的OpenSearch Serverless访问权限。
4. 验证VPC访问配置(若集合为VPC专属)
如果集合配置为仅允许VPC访问:
- 确认控制台访问是否通过对应VPC端点进行
- 检查VPC端点的安全组规则是否允许控制台所在网络的流量接入
快速权限验证
使用AWS CLI执行以下命令测试权限(替换占位符),快速定位问题环节:
# 列出集合内索引 aws opensearchserverless list-indexes --collection-name 你的集合名称 --region 你的区域 # 查看索引详情 aws opensearchserverless describe-index --collection-name 你的集合名称 --index-name 你的索引名称 --region 你的区域
- 若CLI执行成功,说明IAM权限正常,问题集中在数据访问策略
- 若CLI报错,优先排查IAM权限配置
内容的提问来源于stack exchange,提问作者Ritika
相关产品推荐
相关产品推荐

