用途:面向 Elasticsearch 安全问题的结构化排障技能,按症状分诊并给出「收集—诊断—解决」流程。主要能力:处理 HTTP 401 认证失败、403 权限不足、TLS/SSL 握手与证书错误、API Key 过期或失效、角色映射未授予预期角色、Kibana 登录失败/重定向循环/CORS、许可证过期锁定,以及用户无法访问特定索引的原因排查。
使用方式:需提供 Elasticsearch URL、任一有效凭据(最低要求)以及集群权限(只读诊断需 monitor,修复需 manage_security);缺失值应向用户询问。若完全无法认证,先查 TLS 与证书错误或许可证恢复。常用诊断命令:curl <auth_flags> "${ELASTICSEARCH_URL}/_security/_authenticate" 确认身份、realm 与角色;curl <auth_flags> "${ELASTICSEARCH_URL}/_xpack" 确认安全是否启用;POST /_security/user/_has_privileges 测试特定权限;curl <auth_flags> "${ELASTICSEARCH_URL}/_license" 检查许可证状态。TLS 排查可用 curl -v --cacert "${CA_CERT}" 或 openssl s_client(仅自管理)。Kibana 变更类 API 需带 -H "kbn-xsrf: true"。
限制与注意:各诊断 API 在自管理、ECH、Serverless 上可用性不同,例如 _license 在 Serverless 不可用,elasticsearch-users CLI 与 openssl s_client 仅自管理可用;不建议在生产用 curl -k 绕过 TLS 验证,也不要日常使用 elastic 超级用户。许可证过期会关闭付费 realm 导致用户被锁定,恢复步骤依部署类型而异。