
点击蓝字关注我们
作为一款处理海量数据的引擎,ES 的用户管理直接关系到数据安全和访问控制。默认的用户名/密码认证太基础了,我们来聊聊“领域”(Realms)、API 密钥和 JWT 集成。这些工具能让你实现更精细、更安全的用户验证,尤其适合企业级应用。
领域(Realms)——认证的多源头
领域是 ES 验证用户的机制,分内部和外部。内部简单自管,外部连外部系统。默认启用 native 或 file 领域,其他需配置。
内部领域
Native Realm:用户存 ES 索引,支持用户名/密码。默认可用,用 Kibana 或 API 管理用户。适合小团队,无需外部依赖。
File Realm:用户定义在节点文件上,支持用户名/密码。每个节点存储,适用于 Kubernetes。自部署可用。
外部领域
这些连接外部 ID 系统,多实例配置:
LDAP 和 Active Directory:连 LDAP/AD 服务器,用户名/密码验证。适合企业目录集成,但 Elastic 云托管版不支持。
PKI:用 X.509 证书验证 DN(Distinguished Name)。
SAML:SAML 2.0 Web SSO,专为 Kibana 设计,非 REST API。
Kerberos:用 Kerberos 票据验证。
OIDC:OpenID Connect 集成,ES 作为 Relying Party,支持 Kibana SSO。
JWT:用 JWT 令牌验证。
配置示例:
xpack.security.authc.realms.ldap.ldap1:order: 1type: ldap#其他 LDAP 设置如 url, bind_dn 等#优先级用 order 控制,低数字先试。多个领域可链式或分组域#Tips:生产中,结合内部+外部,避免单点故障。自定义插件可扩展领域。
API 密钥——无状态的访问令牌
API 密钥是 ES 的“长期票据”,适合脚本、应用或第三方集成,无需每次登录。比用户名密码更安全,能设置过期、角色限制。
创建和管理
POST /_security/api_key{"name": "my-api-key","role_descriptors": {"role1": {"cluster": ["monitor"],"index": [{"names": ["my-index-*"],"privileges": ["read"]}]}},"expiration": "1d"// 过期时间,可选}
管理:
查询:GET _security/api_key?name=xxx
失效:POST _security/invalidate_api_key { "ids": ["id1"] }
更新:用角色映射 API 调整权限。
8.x 后更新:支持元数据、细粒度角色,及跨集群 API 密钥。
JWT 集成——现代 token 验证
JWT(JSON Web Token)领域让 ES 信任外部 JWT 服务,作为 bearer token。区分客户端和用户身份,适用于 OIDC 或自定义流程。从 8.2 起支持 id_token,8.7 加 access_token。
配置步骤
在 elasticsearch.yml 添加:
xpack.security.authc.realms.jwt.jwt1:order: 3token_type: id_token // 或 access_tokenclient_authentication.type: shared_secret"allowed_issuer: "https://your-issuer.com"allowed_audiences: ["aud1"]allowed_signature_algorithms: ["RS256", "HS256"]pkc_jwkset_path: "jwkset.pem" // JWKS 文件或 URLclaims.principal: "sub" claims.groups: "groups"
用 keystore 存秘密:
./bin/elasticsearch-keystore xpack.security.authc.realms.jwt.jwt1.client_authentication.shared_secret
支持算法和 claim 映射
算法:RSA/EC PKC via JWKS,HMAC 密钥。必须验证 iss、sub、aud、exp 等。
映射:
principal: 用户名 (sub)
groups: 组 (roles)
name/mail/dn: 可选
与 OIDC:JWT 可处理 OIDC ID Token,但 OIDC 领域更适合 Kibana SSO。access_token 需 strict 验证 subjects。
安全考虑:启用 JWKS 重载,监控过期。角色映射用 API,非 yml 文件。
关于公司
感谢您关注新智锦绣科技(北京)有限公司!作为 Elastic 的 Elite 合作伙伴及 EnterpriseDB 在国内的唯一代理和服务合作伙伴,我们始终致力于技术创新和优质服务,帮助企业客户实现数据平台的高效构建与智能化管理。无论您是关注 Elastic 生态系统,还是需要 EnterpriseDB 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。
欢迎关注我们,获取更多技术资讯和数字化转型方案,共创美好未来!
![]() | ![]() |
Elastic 微信群 | EDB 微信群 |

发现“分享”和“赞”了吗,戳我看看吧






