MST
星途 面试题库

面试题:ElasticSearch加载安全配置时如何确保基本的用户认证与授权配置正确?

在ElasticSearch加载安全配置的场景下,阐述如何配置基本的用户认证机制(如使用内置的用户数据库)以及授权策略,以保障只有授权用户能够访问和操作相关索引及文档。请举例说明相关配置文件的关键参数设置。
39.6万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

配置基本用户认证机制(使用内置用户数据库)

  1. 安装X-Pack:Elasticsearch的安全功能由X-Pack提供。如果尚未安装,需进行安装。在Elasticsearch安装目录下执行(以Linux为例):
    bin/elasticsearch-plugin install x-pack
    
  2. 创建用户:使用elasticsearch-users工具创建用户。例如,创建一个名为admin,密码为adminpassword的用户:
    bin/elasticsearch-users useradd admin -p adminpassword -r superuser
    
    这里-r指定了用户角色,superuser是具有最高权限的角色。
  3. 配置文件设置:在elasticsearch.yml文件中启用安全特性:
    xpack.security.enabled: true
    

配置授权策略

  1. 角色定义:角色定义了用户可以执行的操作。例如,定义一个角色,使其只能读取名为my_index的索引。在config/roles.yml文件中添加如下内容:
    my_read_role:
      cluster:
        - monitor
      indices:
        - names: ["my_index"]
          privileges: ["read"]
    
  2. 角色分配:将定义好的角色分配给用户。例如,将my_read_role角色分配给testuser用户。在config/users_roles.yml文件中添加:
    testuser:
      - my_read_role
    

重启Elasticsearch

完成上述配置后,重启Elasticsearch使配置生效:

bin/elasticsearch -d

这样配置后,只有授权用户(如具有相应角色的用户)能够访问和操作相关索引及文档。例如,testuser用户只能读取my_index索引,而admin用户因为具有superuser角色,可以执行所有操作。