各位 CSDN 的小伙伴们,大家好!博主正在参与 2025 年 CSDN 博客之星的评选活动,非常需要大家的支持!一直以来,博主专注于大数据、云计算、人工智能等融合方向研究,从基础概念到实战技巧,都精心撰写每一篇文章。博主致力于将复杂的技术知识以通俗易懂的方式呈现,帮助众多初学者快速入门,也为有经验的开发者提供新的思路与视角。在这个活动中,您的一票对我意义重大。您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!! 投票链接:https://www.csdn.net/blogstar2025/detail/112
OpenDistro/Elasticsearch 权限分类详解
- 1.权限系统概览
-
- 1.1 权限分类表格
- 1.2 详细权限分类表
-
- 1.2.1 集群管理权限(cluster:admin)
- 1.2.2 集群监控权限(cluster:monitor)
- 1.2.3 索引管理权限(indices:admin)
- 1.2.4 数据读写权限(indices:data)
- 1.2.5 索引监控权限(indices:monitor)
- 1.2.6 OpenDistro 插件权限
- 1.2.7 其他系统权限
- 2.权限组合示例
-
- 2.1 开发人员角色权限
- 2.2 运维监控角色权限
- 2.3 数据分析师角色权限
- 3.权限管理最佳实践
1.权限系统概览
OpenDistro/Elasticsearch 的权限系统采用分层结构,格式为:类别:子类别/操作/资源
1.1 权限分类表格
权限类别子类别
权限格式
含义
典型权限示例
| 集群操作权限 |
admin |
cluster:admin/<操作>/<资源> |
管理集群级别的操作,需要最高权限 |
cluster:admin/snapshot/create |
|
monitor |
cluster:monitor/<操作> |
监控集群状态,只读权限 |
cluster:monitor/health |
| 索引操作权限 |
admin |
indices:admin/<操作> |
管理索引(创建、删除、设置等) |
indices:admin/create |
|
data |
indices:data/<读写>/<操作> |
数据读写操作 |
indices:data/read/search |
|
monitor |
indices:monitor/<操作> |
监控索引状态 |
indices:monitor/stats |
| OpenDistro 插件权限 |
opendistro |
cluster:admin/opendistro/<插件>/<操作> |
OpenDistro 特有插件操作 |
cluster:admin/opendistro/ad/detector/write |
1.2 详细权限分类表
1.2.1 集群管理权限(cluster:admin)
权限组
具体权限
含义
应用场景
| 快照管理 |
cluster:admin/snapshot/* |
创建、删除、恢复、查看快照 |
数据备份恢复 |
|
cluster:admin/repository/* |
管理快照仓库 |
存储库配置 |
| 索引生命周期 |
cluster:admin/opendistro/ism/* |
Index State Management 管理 |
自动化索引生命周期 |
| 重新索引 |
cluster:admin/reindex/* |
重新索引控制 |
数据迁移/重构 |
| 节点路由 |
cluster:admin/reroute |
手动路由分片 |
集群平衡维护 |
| 脚本管理 |
cluster:admin/script/* |
存储脚本管理 |
脚本化搜索/评分 |
| 集群设置 |
cluster:admin/settings/update |
更新集群设置 |
动态调整配置 |
| 任务管理 |
cluster:admin/tasks/* |
任务取消和管理 |
终止长时间运行任务 |
| 管道管理 |
cluster:admin/ingest/pipeline/* |
Ingest Pipeline 管理 |
数据预处理管道 |
1.2.2 集群监控权限(cluster:monitor)
权限组
具体权限
含义
应用场景
| 健康状态 |
cluster:monitor/health |
检查集群健康状态 |
监控告警 |
| 节点信息 |
cluster:monitor/nodes/* |
获取节点信息、统计、热点线程 |
性能监控 |
| 集群状态 |
cluster:monitor/state |
获取完整集群状态 |
诊断分析 |
| 集群统计 |
cluster:monitor/stats |
集群级别统计信息 |
容量规划 |
| 任务监控 |
cluster:monitor/task/* |
查看和管理任务 |
运维监控 |
| 分配解释 |
cluster:monitor/allocation/explain |
解释分片分配 |
故障诊断 |
1.2.3 索引管理权限(indices:admin)
权限组
具体权限
含义
应用场景
| 索引生命周期 |
indices:admin/createindices:admin/deleteindices:admin/openindices:admin/close |
创建、删除、打开、关闭索引 |
索引管理 |
| 别名管理 |
indices:admin/aliases/* |
索引别名管理 |
索引别名操作 |
| 映射管理 |
indices:admin/mapping/* |
索引映射管理 |
Schema 管理 |
| 设置管理 |
indices:admin/settings/update |
更新索引设置 |
优化索引配置 |
| 维护操作 |
indices:admin/refreshindices:admin/flushindices:admin/forcemerge |
索引维护操作 |
性能优化 |
| 模板管理 |
indices:admin/template/* |
索引模板管理 |
标准化索引创建 |
| 分片管理 |
indices:admin/shrinkindices:admin/rollover |
分片管理操作 |
索引滚动/收缩 |
1.2.4 数据读写权限(indices:data)
权限组子类别具体权限含义应用场景
| 读取权限 |
read |
indices:data/read/search |
搜索索引数据 |
普通查询 |
|
|
indices:data/read/getindices:data/read/mget |
获取文档 |
文档检索 |
|
|
indices:data/read/scroll |
滚动搜索 |
大数据量查询 |
|
|
indices:data/read/msearch |
多搜索请求 |
批量查询 |
|
|
indices:data/read/explain |
解释查询评分 |
查询优化 |
|
|
indices:data/read/field_caps |
字段能力查询 |
字段分析 |
| 写入权限 |
write |
indices:data/write/bulk |
批量写入 |
数据导入 |
|
|
indices:data/write/index |
索引文档 |
新增文档 |
|
|
indices:data/write/update |
更新文档 |
文档修改 |
|
|
indices:data/write/delete |
删除文档 |
数据删除 |
|
|
indices:data/write/reindex |
重新索引 |
数据迁移 |
1.2.5 索引监控权限(indices:monitor)
权限组
具体权限
含义
应用场景
| 统计信息 |
indices:monitor/stats |
索引统计信息 |
性能监控 |
| 段信息 |
indices:monitor/segments |
索引段信息 |
存储优化 |
| 恢复状态 |
indices:monitor/recovery |
索引恢复状态 |
故障恢复 |
| 设置查看 |
indices:monitor/settings/get |
查看索引设置 |
配置检查 |
| 分片存储 |
indices:monitor/shard_stores |
分片存储信息 |
数据分布 |
1.2.6 OpenDistro 插件权限
插件名称权限前缀主要功能典型权限示例
| 异常检测 |
cluster:admin/opendistro/ad/ |
机器学习异常检测 |
detector/write – 创建检测器detector/run – 运行检测 |
| 告警系统 |
cluster:admin/opendistro/alerting/ |
监控告警 |
monitor/write – 创建监控器alerts/ack – 确认告警 |
| 索引管理 |
cluster:admin/opendistro/ism/ |
索引状态管理 |
policy/write – 创建策略managedindex/add – 管理索引 |
| 报表系统 |
cluster:admin/opendistro/reports/ |
报表生成 |
definition/create – 创建报表定义instance/get – 获取报表实例 |
| 数据汇总 |
cluster:admin/opendistro/rollup/ |
数据汇总 |
index – 创建汇总索引start/stop – 启停作业 |
1.2.7 其他系统权限
权限组
具体权限
含义
应用场景
| 分析器 |
indices:admin/analyze |
文本分析 |
测试分析器 |
| 验证查询 |
indices:admin/validate/query |
验证查询语法 |
查询调试 |
| 全局检查点 |
indices:admin/seq_no/global_checkpoint_sync |
同步检查点 |
数据一致性 |
2.权限组合示例
2.1 开发人员角色权限
{
"cluster_permissions": [
"cluster_monitor"
],
"index_permissions": [{
"index_patterns": ["app-*"],
"allowed_actions": [
"indices:data/read/*",
"indices:data/write/*",
"indices:admin/create",
"indices:admin/mapping/put"
]
}]
}
2.2 运维监控角色权限
{
"cluster_permissions": [
"cluster:monitor/*",
"cluster:admin/opendistro/alerting/*",
"cluster:admin/snapshot/*"
],
"index_permissions": [{
"index_patterns": ["*"],
"allowed_actions": [
"indices:monitor/*",
"indices:data/read/search"
]
}]
}
2.3 数据分析师角色权限
{
"cluster_permissions": [
"cluster:monitor/health",
"cluster:admin/opendistro/ad/detector/get",
"cluster:admin/opendistro/ad/result/search"
],
"index_permissions": [{
"index_patterns": ["data-*"],
"allowed_actions": [
"indices:data/read/*",
"indices:monitor/stats"
]
}]
}
3.权限管理最佳实践
- 1️⃣ 最小权限原则:只授予必要的最小权限集合。
- 2️⃣ 模式匹配:使用索引模式而非单个索引名。
- 3️⃣ 定期审计:定期审查和清理权限分配。
- 4️⃣ 角色继承:基于内置角色创建自定义角色。
- 5️⃣ 测试验证:在生产环境前测试权限配置。
这些权限构成了 OpenDistro/Elasticsearch 安全体系的核心,通过合理组合可以满足各种业务场景的安全需求。
评论前必须登录!
注册