要不要再翻翻文档呢?

Easysearch 集群通过 API 进行用户密码重置

Easysearch | 作者 INFINI Labs 小助手 | 发布于2025年02月07日 | | 阅读数:2307

在日常使用 Easysearch 中,难免会遇到集群密码需要重置的情况(如密码遗失、安全审计要求等)。

通过查看 Easysearch 用户接口文档,创建用户使用如下接口:

PUT _security/user/<username>
{
  "password": "adminpass",
  "roles": ["maintenance_staff", "weapons"],
  "external_roles": ["captains", "starfleet"],
  "attributes": {
    "attribute1": "value1",
    "attribute2": "value2"
  }
}

同样可以通过该接口对用户进行密码重置:

PUT _security/user/<username>
{
  "password": "adminpass111",
  "roles": ["maintenance_staff", "weapons"],
  "external_roles": ["captains", "starfleet"],
  "attributes": {
    "attribute1": "value1",
    "attribute2": "value2"
}

API 接口创建的用户

创建一个测试用户 test,并进行访问验证。

通过接口重置用户 test 密码,并进行访问验证。

配置文件创建的用户

在配置文件 user.yml 中添加测试用户(test1、test2)配置:

## Test users
test1:
  hash: "$2y$12$ZNfKKCeeRQXOWX27W50tbu0Tq4NT4ADdCQOBoZzokI1zR8ZEUWm4W" # test1
  reserved: true
  roles:
    - "readall_and_monitor"

test2:
  hash: "$2y$12$m4/eSiDlzRII87vNeKwzteEHGpgpbdMr5tRvOfve/xIbEYdC4bU7a" # test2
  reserved: false
  roles:
    - "readall_and_monitor"

其中 hash 字段是将用户密码哈希出来的值,可通过 bin/hash_password.sh -p "<明文密码>" 生成。

进行用户访问验证。

对 test1、test2 用户进行密码重置。

用户 test1 重置失败,用户 test2 重置成功。用户 test1 重置失败是因为配置了 reserved: true,将用户 test1 指定为内置用户,使用用户 admin 会因为权限无法进行密码重置,那就需要使用有更高权限的管理证书进行密码重置。默认在 Easysearch 集群执行初始化脚本 bin/initialize.sh 时,会在 config 目录下生成证书文件,其中 admin.crtadmin.key 为管理证书。

test1 用户密码重置成功,进行访问验证。

关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。

官网文档:https://infinilabs.cn/docs/latest/easysearch


[尊重社区原创,转载请保留或注明出处]
本文地址:http://searchkit.cn/article/15371


0 个评论

要回复文章请先登录注册