elasticsearch插件 x-pack.security组件的使用

1.离线安装x-pack:

(6版本以后内置xpack,只需要开启)

下载es对应的相应版本的x-pack,修改版本号即可通过官方链接下载:

https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.1.1.zip

下载后放到指定位置如/usr/x-pack-6.1.1.zip并到es安装目录下运行:

./bin/elasticsearch-plugin install file:///usr/x-pack-6.1.1.zip

安装完重启即可,默认用户 elasitc:changeme

restful访问方式改为 curl -u elastic:changeme -XGET .......

安装后使用head修改yml文件:

  head需要:

  http.cors.enabled: true
  http.cors.allow-origin:’*’

  安装x-pack后需要:

  http.cors.allow-headers: “Authorization”

访问head格式更改为:

http://localhost:9100/?auth_user=elastic&auth_password=changeme

破解x-pack参考:

http://blog.csdn.net/mvpboss1004/article/details/65445023

http://blog.csdn.net/qq_20641565/article/details/78286894

2.xpack.security权限简介

xpack权限均基于角色(role)分配,具体用户(user)基于相应角色(role)创建。具体权限如下:
    集群层面:
        all:所有集群管理操作,如快照,节点关闭/重新启动,设置更新,重新路由或管理用户和角色。
        monitor:所有集群只读操作,如集群健康状态,热线程,节点信息,节点和集群统计信息,快照/恢复状态,挂起的集群任务。
        monitor_ml:所有只读机器学习操作,例如获取有关数据输入,作业,模型快照或结果的信息。
        monitor_watcher:所有只读的观察者操作,如获取手表和观察者的统计数据。
        manage:构建monitor并添加更改集群中的值的集群操作。 这包括快照,更新设置和重新路由。此权限不包括管理安全性的功能。
        manage_index_templates:索引模板上的所有操作。
        manage_ml:所有机器学习操作,如创建和删除数据Feed,作业和模型快照。
        manage_pipeline:所有摄取管道的操作
        manage_security:所有安全相关的操作,如用户和角色的CRUD操作和缓存清除。
        manage_watcher:所有观察者操作,如手表,执行,激活或确认。
        transport_client:传输客户端连接所需的所有权限。 远程集群需要启用跨群集搜索。
    索引层面:
        all:对索引的任何操作
        monitor:监控所需的所有操作(恢复,细分信息,索引统计信息和状态)
        manage:所有monitor权限加索引管理(别名,分析,缓存清除,关闭,删除,存在,刷新,映射,打开,强制合并,刷新,设置,搜索碎片,模板,验证)。
        view_index_metadata:对索引元数据(别名,别名,获取索引,存在,字段映射,映射,搜索碎片,类型存在,验证,加热器,设置)的只读访问。 这个特权主要可供Kibana用户使用。
        read:只读操作
        read_cross_cluster:只能从远程集群访问搜索操作
        index:插入更新文档,不能查删。
        create:创建文档(不能查删(包括自己创建的文档),可以更新文档)
        delete:删除文档(不能查曾,只能删除文档)
        write:    对文档执行所有写入操作的权限,其中包括索引,更新和删除文档以及执行批量操作的权限。还授予对更新映射操作的访问权限。
        delete_index:对指定的索引有删除权利(只能删除,不能建查任何索引)
        create_index:对指定的索引有创建权利(只能创建,不能查删任何索引)
    文档层面:
        文档级安全权限限制对索引中特定文档的访问,可以再角色定义中通过查询匹配来指定访问文档的权限
    字段层面:
        字段级安全权限限制对文档中特定字段的访问,可以在角色定义中指定每个角色可以访问的字段
        查询时只显示规定字段,其余权限归属索引。

3.java客户端api

maven pom.xml导入(maven库里没有xpack包则需要用es官网的maven库):

 
        
            elasticsearch-releases
            https://artifacts.elastic.co/maven
            
                true
            

            
                false
            

        

  
    
 
   
      junit
      junit
      3.8.1
      test
   

   
            org.elasticsearch
        elasticsearch
        5.1.2
    

    
        org.elasticsearch.client
        transport
        5.1.2
    

    
        org.apache.logging.log4j
        log4j-core
        2.7
    

    
        org.apache.logging.log4j
        log4j-api
        2.7
    

   
        org.elasticsearch.client
        x-pack-transport
        5.2.0
    

 

连接es集群:

Settings settings = Settings.builder()
                .put("cluster.name", "my-application")
                .put("xpack.security.transport.ssl.enabled", false)
                .put("xpack.security.user", "elastic:changeme")
                .put("client.transport.sniff", true)
                .build();
client = new PreBuiltXPackTransportClient(settings)
                .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
XPackClient xClient = new XPackClient(client);

 

 

 

 

 

 

你可能感兴趣的:(elasticsearch插件 x-pack.security组件的使用)