search-gurad权限整合es6.3.1后,java cl

2018-09-20  本文已影响0人  hbtszyt

es:6.3.1

kibana:6.3.1

首先需要在java中引入search-guard的6.3.1的包,包括ssl的包

<dependency>

    <groupId>com.floragunn</groupId>

    <artifactId>search-guard-ssl</artifactId>

    <version>6.3.1-25.4</version>

</dependency>

<dependency>

    <groupId>com.floragunn</groupId>

    <artifactId>search-guard-6</artifactId>

    <version>6.3.1-23.0</version>

    <scope>provided</scope>

</dependency>

2.将之前权限需要的jks文件,和秘钥要加入到项目中来,在elasticsearch.yaml中配置ssl相关的信息

searchguard.ssl.transport.keystore_filepath: node-0-keystore.jks

searchguard.ssl.transport.keystore_password: changeit

searchguard.ssl.transport.truststore_filepath: truststore.jks

searchguard.ssl.transport.truststore_password: changeit

searchguard.ssl.transport.enforce_hostname_verification: false

searchguard.ssl.transport.resolve_hostname: false

searchguard.authcz.admin_dn:

- CN=sgadmin,OU=client,O=client,L=Test, C=DE

searchguard.nodes_dn:

- 'CN=node-*.example.com,OU=SSL,O=Test,L=Test,C=DE'

在ElasticSearchConnection类中中代码中需要如下指定:

Settings settings = Settings.builder()

                .put("client.transport.ignore_cluster_name", true)

                .put("path.home", ".")

//                .put("path.conf", "E:\\gitlab\\DpGodFarm\\DpGodFarm2\\DpGodFarm\\src\\main\\resources")

                .put("cluster.name", "testes-cluster")

                .put("searchguard.ssl.transport.enabled", true)

                .put("searchguard.ssl.transport.keystore_filepath", "sgadmin-keystore.jks")

                .put("searchguard.ssl.transport.truststore_filepath", "truststore.jks")

                .put("searchguard.ssl.http.keystore_password", "changeit")

                .put("searchguard.ssl.http.truststore_password", "changeit")

                .put("searchguard.ssl.transport.keystore_password", "changeit")

                .put("searchguard.ssl.transport.truststore_password", "changeit")

                .put("searchguard.ssl.transport.enforce_hostname_verification", false)

                .build();

        try {

(一定要加入SearchGuardPlugin.class,否则启动一直报错找不到searchguard.ssl.transport.keystore_filepath

TransportClient transportClient = new PreBuiltTransportClient(settings,SearchGuardPlugin.class);

我觉得是要设置用户的,万一开发的不小心把库删了怎么办

.put("request.headers.sg_impersonate_as", "kibana5")

上一篇下一篇

猜你喜欢

热点阅读