Keystore配置

在配置文件中以明文形式存储密码等敏感信息存在安全风险,阿里云Elasticsearch(ES)的Keystore功能用于解决此问题。通过ES控制台可将敏感配置(例如LDAP绑定密码)安全存入ES Keystore,加密存储敏感信息以防泄露。

适用范围

  • 支持的集群:仅支持v3部署架构下的集群使用Keystore功能。

    v3部署架构在产品功能迭代、系统稳定性及安全保障等方面实现了全面优化与显著提升。如果您的集群是v2部署架构,可参照实例架构升级方案升级到v3部署架构。

  • 功能可用性:该功能通过白名单提供。若控制台未显示 Keystore配置,请联系技术支持申请开通。

  • 支持的场景:目前支持Active DirectoryLDAP相关的身份认证安全配置。在ES中的用途:

    • ES集成到企业现有认证体系中,用户可直接用 AD/LDAP 账号登录ES。

      Active Directory (AD)是微软开发的目录服务,用于集中管理企业网络中的用户、计算机、组策略等资源。LDAP(轻量级目录访问协议)是跨平台协议,用于访问和维护分布式目录信息(如用户账号、组织架构)。
    • 实现权限统一管理,避免在ES中单独维护用户凭证。

配置并提交Keystore密钥

步骤一:检查并准备YML配置

  • 目的:确保Keystore中存储的密钥能够被ES正确识别和使用。

    部分安全配置需要先在YML文件中完成对应配置,否则提交Keystore配置后将导致实例重启失败。

  • 操作示例:
    为使用KeystoreLDAPmy_ldap域配置绑定密码,须先在YML文件中定义my_ldap域的基础配置。

    xpack.security.authc.realms.ldap.my_ldap:
      order: 0
      url: "ldap://your-ldap-server:389"  # LDAP 服务器地址
      bind_dn: "cn=admin,dc=example,dc=com"  # 管理员账号
      user_search.base_dn: "ou=users,dc=example,dc=com"  # 用户搜索路径
       # ... 其他必要参数(如证书、组映射等)

    image

步骤二:配置Keystore密钥

  1. 登录ES控制台,在左侧导航栏选择配置与管理 > ES集群配置

  2. 单击修改配置,修改Keystore配置。

    image

  3. 在新增的行中,单击Key列选择或输入Key值。Key的前缀固定,仅需根据提示编辑后半部分,例如,将test替换为实际用户密码)。在密钥列输入敏感信息(如密码),为安全起见,输入内容将以星号显示。

    image

    配置说明:

    配置项

    作用

    使用场景

    具体配置

    Active Directory

    存储加密后的 AD 服务账号密码,用于 ES 安全连接 Active Directory 域控制器。

    当 ES 需要查询 AD 中的用户/组信息时,使用此账号绑定到 AD 服务器。

    • 7.x及以上版本:xpack.security.authc.realms.active_directory.<my_ad>.secure_bind_password

    • 6.x版本:xpack.security.authc.realms.active_directory.secure_bind_password

    请将<my_ad>替换为您自己的信息

    LDAP

    存储加密后的 LDAP 服务账号密码,用于 ES 安全连接 LDAP 服务器(如 OpenLDAP)。

    ES 通过此账号检索 LDAP 目录中的用户身份和组权限。

    • 7.x及以上版本:xpack.security.authc.realms.ldap.<ldap1>.secure_bind_password

    • 6.x版本:xpack.security.authc.realms.<ldap1>.secure_bind_password

    请将<ldap1>替换为您自己的信息

  4. 单击确定系统开始应用配置并重启集群,可在任务管理页面查看重启进度。

    强制变更:默认关闭,开启此项后将跳过集群健康检查,但会触发集群强制重启,可能导致服务长时间中断(恢复时间取决于数据量),仅用于紧急变更且集群已不可用场景。