暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 极限实验室 2025-02-02
76

在日常使用 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

文章转载自极限实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论