Elasticsearch安全插件shield的安装和对应Java API编写

 Elasticsearch是一个实时分布式搜索和分析引擎。

Shield 时ES的安全插件,它可以拦截所有的向ES的请求,用户必须输入用户名和密码才能继续访问。

废话不多说,直接来干货:

1.安装Shield  

shield官方网站 https://www.elastic.co/guide/en/shield/shield-1.3/getting-started.html

本文以es1.5.1版本安装,注意不同的es版本对应安装的shield命令不同

To install and run Shield:
  1. Run bin/plugin -i from ES_HOME to install the license plugin.
bin / plugin - i elasticsearch / license / latest
  1. Run bin/plugin -i to install the Shield plugin.
bin / plugin - i elasticsearch / shield / latest


2.用户配置
安装完成shield之后,需要配置对应角色的用户,shield预定义的用户角色有三个,
分别是:1.admin 可以操作任何的集群和索引的动作
2.power_user 可以监控集群和执行任何索引操作
3.user 可以在任何索引上执行读操作。

配置对应角色的用户命令是:
bin / shield / esusers useradd 用户名 - r 角色
按回车会提示你输入密码

密码至少是6个字符或者数字长度
用户名密码配置成功之后可以在config/shield下面看到 users和users_roles文件
users中是用户名和密码,密码是加密过的
users_roles是你建立的用户所属的角色


3.Java API配置

这里以spring boot1.3.0.RELEASE版本做演示

对应的elasticsearch版本是 spring-boot-starter-data-elasticsearch 1.3.1.RELEASE,所以项目对应的shield版本也是1.3
智能会议系统中关于es的 TransportClient 配置代码是通过工厂模式,所以要适应spring-elasticsearch 的添加shield代码是:

Properties properties=new Properties();
properties.put("cluster.name",clusterName);
properties.put("shield.user", "admin:123456");
transportClientFactoryBean.setProperties(properties);
transportClientFactoryBean的shield 用户名密码和集群名称等等属性是通过properties配置,它自己内部会读取properties。
官方的针对 TransportClient 中加入shield的代码配置如下
TransportClient client = new TransportClient ( ImmutableSettings . builder () . put ( "cluster.name" , "myClusterName" ) . put ( "shield.user" , "transport_client_user:changeme" )) . addTransportAddress ( new InetSocketTransportAddress ( "localhost" , 9300 )) . addTransportAddress ( new InetSocketTransportAddress ( "localhost" , 9301 ));



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值