AWS OpenSearch用户Dev Tools只读权限授予及侧边栏显示问题
AWS OpenSearch只读用户无法看到DevTools的解决方案
核心问题分析
AWS托管OpenSearch的权限分为AWS IAM权限和OpenSearch Security插件权限两层,DevTools的显示需要同时满足这两层的权限配置,仅配置单一维度的权限会导致UI选项缺失。
具体解决步骤
1. 配置AWS IAM层面的必要权限
确保用户/用户组拥有DevTools所需的HTTP请求权限,添加如下IAM策略(替换占位符为你的资源信息):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:ESHttpPost", "es:ESHttpHead" ], "Resource": "arn:aws:es:你的区域:你的账号ID:domain/你的域名/*" } ] }
DevTools执行查询需要es:ESHttpPost权限,仅开放Get会导致功能被拦截。
2. 配置OpenSearch Security插件角色
仅添加opensearch_dashboards_read_only和opensearch_dashboards_user不足以显示DevTools,需要补充以下角色/权限:
- 强制添加内置的
dev_user角色:该角色默认包含DevTools UI的访问权限 - 自定义只读索引权限:创建一个自定义角色,添加目标索引的只读权限,权限项包括:
indices:data/read/*:所有数据只读操作indices:admin/get/*:允许获取索引元数据indices:admin/mappings/get:允许查看索引映射
- 将自定义角色、
dev_user、opensearch_dashboards_read_only、opensearch_dashboards_user绑定到目标用户/用户组
3. 验证权限映射
在OpenSearch Dashboards的Security -> Roles Mappings页面,确认你的AWS用户组已经正确映射到上述配置的角色集合,避免出现角色未关联的情况。
4. 缓存清理测试
配置完成后,清除浏览器缓存或使用无痕模式重新登录OpenSearch Dashboards,避免旧权限缓存导致的UI显示异常。
避坑提示
- 不要使用
security_manager角色:该角色会开放所有安全模块配置权限,不符合只读需求 - 不要依赖
all_access角色:AWS托管环境中该角色的权限范围不包含Dashboards UI的细粒度控制,无法解决DevTools显示问题
内容的提问来源于stack exchange,提问作者Deivid santos
相关产品推荐
相关产品推荐

