面试题答案
一键面试配置基本用户认证机制(使用内置用户数据库)
- 安装X-Pack:Elasticsearch的安全功能由X-Pack提供。如果尚未安装,需进行安装。在Elasticsearch安装目录下执行(以Linux为例):
bin/elasticsearch-plugin install x-pack
- 创建用户:使用
elasticsearch-users
工具创建用户。例如,创建一个名为admin
,密码为adminpassword
的用户:
这里bin/elasticsearch-users useradd admin -p adminpassword -r superuser
-r
指定了用户角色,superuser
是具有最高权限的角色。 - 配置文件设置:在
elasticsearch.yml
文件中启用安全特性:xpack.security.enabled: true
配置授权策略
- 角色定义:角色定义了用户可以执行的操作。例如,定义一个角色,使其只能读取名为
my_index
的索引。在config/roles.yml
文件中添加如下内容:my_read_role: cluster: - monitor indices: - names: ["my_index"] privileges: ["read"]
- 角色分配:将定义好的角色分配给用户。例如,将
my_read_role
角色分配给testuser
用户。在config/users_roles.yml
文件中添加:testuser: - my_read_role
重启Elasticsearch
完成上述配置后,重启Elasticsearch使配置生效:
bin/elasticsearch -d
这样配置后,只有授权用户(如具有相应角色的用户)能够访问和操作相关索引及文档。例如,testuser
用户只能读取my_index
索引,而admin
用户因为具有superuser
角色,可以执行所有操作。