📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

index_state_management.allow_list 配置项控制 ISM 策略中允许执行的操作类型,用于限制可用的 ISM 操作。

是否可选 #

默认值 #

[alias, allocation, close, delete, force_merge, index_priority, open, read_only, read_write, replica_count, rollup, rollover, shrink, snapshot, wait_for_snapshot]

配置项类型 #

动态配置 - 可以在运行时修改

配置格式 #

# 默认配置(允许所有操作)
index_state_management.allow_list:
  - alias
  - allocation
  - close
  - delete
  - force_merge
  - index_priority
  - open
  - read_only
  - read_write
  - replica_count
  - rollup
  - rollover
  - shrink
  - snapshot
  - wait_for_snapshot

# 限制允许的操作
index_state_management.allow_list:
  - rollover
  - delete
  - snapshot

# 只允许只读操作
index_state_management.allow_list:
  - close
  - open
  - read_only
  - read_write

可用操作说明 #

操作说明风险级别
alias管理索引别名
allocation修改分片分配
close关闭索引
delete删除索引
force_merge强制合并
open打开索引
read_only设为只读
read_write设为可写
replica_count修改副本数
rollover滚动索引
shrink收缩索引
snapshot创建快照
wait_for_snapshot等待快照完成
index_priority设置索引优先级
rollup汇总数据

推荐设置 #

环境推荐值说明
默认配置所有操作完整功能
只读环境只读操作防止修改
安全优先排除危险操作限制删除等

使用示例 #

默认配置:

index_state_management.allow_list:
  - alias
  - allocation
  - close
  - delete
  - force_merge
  - index_priority
  - open
  - read_only
  - read_write
  - replica_count
  - rollup
  - rollover
  - shrink
  - snapshot
  - wait_for_snapshot

安全配置(排除危险操作):

index_state_management.allow_list:
  - rollover
  - close
  - open
  - read_only
  - read_write
  - replica_count
  - snapshot

只读操作配置:

index_state_management.allow_list:
  - close
  - open
  - read_only
  - read_write

配置验证 #

# 查看当前配置
GET /_cluster/settings?filter_path=*.index_state_management.allow_list

# 测试策略执行
PUT _policies/test_policy
{
  "policy": {
    "states": [
      {
        "name": "hot",
        "actions": [
          {"rollover": {"max_age": "1d"}}
        ]
      }
    ]
  }
}

常见问题 #

问题 1:操作不被允许

错误信息:

illegal_argument_exception: operation [delete] is not allowed

解决方案:

# 添加允许的操作
index_state_management.allow_list:
  - delete

问题 2:安全顾虑

解决方案:

# 排除危险操作
index_state_management.allow_list:
  - rollover
  - close
  - snapshot

注意事项 #

  1. 动态配置:可以在运行时修改
  2. 白名单机制:只允许列表中的操作
  3. 安全考虑:生产环境应排除危险操作
  4. 策略限制:策略中的操作必须在允许列表中
  5. 默认值:默认允许所有操作

相关配置项 #

配置项默认值说明
index_state_management.enabledtrue是否启用 ISM
index_state_management.action_validation.enabledfalse是否启用操作验证

完整配置示例 #

# easysearch.yml

# 安全配置(排除危险操作)
index_state_management.enabled: true
index_state_management.allow_list:
  - alias
  - close
  - open
  - read_only
  - read_write
  - replica_count
  - rollover
  - snapshot