ElasticSearch&Search-guard 5 权限配置

ElasricSearch &Search_guard5配置

邮箱:1405733736@qq.com

saber-sky@hotmail.com

-- elasticSearch版本5.6.3

-- search-guard版本5.6.3

一.  ElasticSearch安装Search-guard

cd 至elasticsearch 的bin目录:cd  /data/elasticsearch-5.6.3/bin

安装search-guard : ./elasticsearch-plugin install -bcom.floragunn:search-guard-5:5.6.3-18

Search-guard 版本要和elasticsearch一致,查询网址:https://oss.sonatype.org/content/repositories/releases/com/floragunn/search-guard-5/

安装成功如下图

二.快速启动:

切换至elasticsearch/plugins 目录看到search-guard已经安装成功

运行:./search-guard-5/tools/install_demo_configuration.sh

运行开发这已经配置好的权限安装至elasticsearch

(这一步已经帮你配置好elasticsearch,http访问已经不可用,要是有https访问)

启动elasticSearch :  切换至elasticseach/bin运行./ elasticseach

浏览器访问 https://admin:admin@localhost:9200/_searchguard/authinfo?pretty

成功则显示


三、权限配置

下载search-guard-ssl这里提供官方下载地址:https://github.com/floragunncom/search-guard-ssl.git



etc目录下的两个文件,就只是修改公司信息,两个一直即可

两个文件要一样,公司信息

下面修改证书生成信息

example.sh


运行后会生成证书

把  服务端证书.jks+truststore.jks复制到elasticsearch/config目录下

把 客户端证书.jks+ truststore.jks 复制到elasticsearch/ plugins/search-guard-5/sgconfig目录下

修改elasticsearch配置文件

修改用户权限

(1)sg_config.yml

Configure

authenticators and authorization backends。主配置文件不需要做改动。

(2)sg_internal_users.yml

本地用户文件,定义用户密码以及对应的权限。例如:对于 我们需要一个 kibana 登录用户和一个 logstash 用户:

kibana4:

  hash:$2a$12$xZOcnwYPYQ3zIadnlQIJ0eNhX1ngwMkTN.oMwkKxoGvDVPn4/6XtO

  #password is: kirk

  roles:

    - kibana4

logstash:

  hash: $2a$12$xZOcnwYPYQ3zIadnlQIJ0eNhX1ngwMkTN.oMwkKxoGvDVPn4/6XtO

  #password is: kirk

  roles:

    - logstash

密码可用plugins/search-guard-5/tools/hash.sh生成。

(3)sg_roles.yml

权限配置文件,这里提供 kibana4 和 logstash 的权限样例。

sg_kibana4:

  cluster:

      - cluster:monitor/nodes/info

      - cluster:monitor/health

  indices:

    '*':

      '*':

        - indices:admin/mappings/fields/get

        - indices:admin/validate/query

        - indices:data/read/search

        - indices:data/read/msearch

        - indices:admin/get

        - indices:data/read/field_stats

    '?kibana':

      '*':

        - indices:admin/exists

        - indices:admin/mapping/put

        - indices:admin/mappings/fields/get

        - indices:admin/refresh

        - indices:admin/validate/query

        - indices:data/read/get

sg_logstash:

  cluster:

    - indices:admin/template/get

    - indices:admin/template/put

  indices:

    'logstash-*':

      '*':

        - WRITE

        - indices:data/write/bulk

        - indices:data/write/delete

        - indices:data/write/update

        - indices:data/read/search

        - indices:data/read/scroll

        - CREATE_INDEX

(4)sg_roles_mapping.yml

定义用户的映射关系,添加 kibana 及 logstash 用户对应的映射:


sg_logstash:

  users:

    - logstash

sg_kibana4:

  backendroles:

    - kibana

  users:

    - kibana4

(5)sg_action_groups.yml

定义权限


3、启动

(1)到Elasticsearch的bin目录下,重启Elasticsearch。

(2)通过下面命令启动search-guard。

新增用户配置成功显示

四.Java SSL连接

public static void main(String[] args) throws UnknownHostException{

    Settings settings = Settings.builder()

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

            .put("searchguard.ssl.transport.keystore_filepath", "D:\\William\\Projects\\searchGuardTest\\src\\main\\resources\\test-keystore.jks")

            .put("searchguard.ssl.transport.truststore_filepath",

"D:\\William\\Projects\\searchGuardTest\\src\\main\\resources\\truststore.jks")

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

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

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

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

           .build();

TransportClient client =new PreBuiltTransportClient(settings,SearchGuardSSLPlugin.class)

            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));

client.admin().cluster().nodesInfo(new NodesInfoRequest()).actionGet();

//搜索数据

    GetResponse response = client.prepareGet("agin", "log_bet_rcd_agin_live", "171212226218993").execute().actionGet();

//输出结果

    System.out.println(response.getSourceAsString());

//关闭client

client.close();

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352