云计算百科
云计算领域专业知识百科平台

【Elasticsearch】OpenDistro/Elasticsearch 权限分类详解

各位 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 安全体系的核心,通过合理组合可以满足各种业务场景的安全需求。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【Elasticsearch】OpenDistro/Elasticsearch 权限分类详解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!