--- title: "破坏性操作必须指定索引名配置" date: 2026-01-04 lastmod: 2026-01-04 description: "控制执行破坏性索引操作时是否必须明确指定索引名称的配置项说明" tags: ["安全", "索引操作", "配置项"] summary: "配置项作用 # action.destructive_requires_name 配置项控制执行破坏性索引操作(如删除索引、关闭索引等)时,是否必须明确指定索引名称,禁止使用通配符(*)或 _all 等模糊匹配方式。 该配置项的目的是防止因误操作导致大量索引被意外删除或关闭,提高集群的安全性。 配置项类型 # 该配置项为动态配置,可以在运行时通过集群更新 API 进行修改,无需重启节点。 默认值 # false 是否必需 # 可选配置项 配置值说明 # 值 说明 true 执行破坏性操作时必须明确指定索引名称,禁止使用通配符或 _all false 允许使用通配符或 _all 执行破坏性操作(默认) 影响的操作 # 此配置项影响以下破坏性操作: 删除索引:DeleteIndexAction 关闭索引:CloseIndexAction 其他可能影响多个索引的破坏性操作 使用示例 # # 启用安全模式,禁止通配符删除 action.destructive_requires_name: true # 允许通配符删除(默认) action.destructive_requires_name: false 行为说明 # 当设置为 true 时: # 允许的操作示例:" --- ## 配置项作用 `action.destructive_requires_name` 配置项控制执行破坏性索引操作(如删除索引、关闭索引等)时,是否必须明确指定索引名称,禁止使用通配符(`*`)或 `_all` 等模糊匹配方式。 该配置项的目的是防止因误操作导致大量索引被意外删除或关闭,提高集群的安全性。 ## 配置项类型 该配置项为**动态配置**,可以在运行时通过集群更新 API 进行修改,无需重启节点。 ## 默认值 ``` false ``` ## 是否必需 **可选配置项** ## 配置值说明 | 值 | 说明 | |---|---| | `true` | 执行破坏性操作时必须明确指定索引名称,禁止使用通配符或 `_all` | | `false` | 允许使用通配符或 `_all` 执行破坏性操作(默认) | ## 影响的操作 此配置项影响以下破坏性操作: - **删除索引**:`DeleteIndexAction` - **关闭索引**:`CloseIndexAction` - **其他可能影响多个索引的破坏性操作** ## 使用示例 ```yaml # 启用安全模式,禁止通配符删除 action.destructive_requires_name: true # 允许通配符删除(默认) action.destructive_requires_name: false ``` ## 行为说明 ### 当设置为 `true` 时: **允许的操作示例:** ```bash # 删除单个指定索引(允许) DELETE /my-index # 删除多个明确指定的索引(允许) DELETE /index1,index2,index3 ``` **禁止的操作示例:** ```bash # 使用通配符(禁止) DELETE /my-index-* # 删除所有索引(禁止) DELETE /_all # 使用前缀通配符(禁止) DELETE /*-logs ``` 上述禁止操作将返回错误: ``` IllegalArgumentException: Wildcard expressions or all indices are not allowed ``` ## 推荐设置建议 **生产环境强烈建议设置为 `true`** **理由:** 1. **防止误操作**:避免因 `DELETE /*` 或 `DELETE /_all` 等命令导致生产数据全部丢失 2. **提高操作安全性**:强制运维人员明确指定要操作的索引名称,减少人为失误 3. **审计友好**:操作日志中会明确记录被操作的索引名称,便于审计追踪 **示例配置:** ```yaml action.destructive_requires_name: true ``` ## 开发/测试环境 可以考虑保持默认值 `false`,方便快速清理测试数据。但建议在脚本中使用明确的索引名称而非通配符,培养良好的操作习惯。 ## 注意事项 1. **动态更新**:修改此配置后立即生效,影响所有新执行的破坏性操作 2. **不影响的操作**:此配置仅影响破坏性操作,不影响查询、索引更新等非破坏性操作 3. **API 兼容性**:某些管理工具或脚本可能依赖通配符删除功能,启用前请检查 4. **配合其他安全措施**:建议与索引别名、快照备份等机制配合使用,构建完整的数据保护策略