• Elasticsearch7 设置用户名密码 && 查询


    一、设置密码

    1.需要在配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启.

    xpack.security.enabled: true
    xpack.license.self_generated.type: basic
    xpack.security.transport.ssl.enabled: true

    2,执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system

    bin/elasticsearch-setup-passwords interactive

     网上设置时出现的:

    Initiating the setup of passwords for reserved users elastic,kibana,logstash_system,beats_system.
    You will be prompted to enter passwords as the process progresses.
    Please confirm that you would like to continue [y/N]y
    Enter password for [elastic]: 
    passwords must be at least [6] characters long
    Try again.
    Enter password for [elastic]: 
    Reenter password for [elastic]: 
    Passwords do not match.
    Try again.
    Enter password for [elastic]: 
    Reenter password for [elastic]: 
    Enter password for [kibana]: 
    Reenter password for [kibana]: 
    Enter password for [logstash_system]: 
    Reenter password for [logstash_system]: 
    Enter password for [beats_system]: 
    Reenter password for [beats_system]: 
    Changed password for user [kibana]
    Changed password for user [logstash_system]
    Changed password for user [beats_system]
    Changed password for user [elastic]

     我设置密码时出现的:

    [es@k8snode2 elasticsearch-7.3.0]$ ./bin/elasticsearch-setup-passwords interactive
    Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
    You will be prompted to enter passwords as the process progresses.
    Please confirm that you would like to continue [y/N]y
    
    
    Enter password for [elastic]: 
    Reenter password for [elastic]: 
    Passwords do not match.
    Try again.
    Enter password for [elastic]: 
    Reenter password for [elastic]: 
    Enter password for [apm_system]: 
    Reenter password for [apm_system]: 
    Enter password for [kibana]: 
    Reenter password for [kibana]: 
    Enter password for [logstash_system]: 
    Reenter password for [logstash_system]: 
    Enter password for [beats_system]: 
    Reenter password for [beats_system]: 
    Enter password for [remote_monitoring_user]: 
    Reenter password for [remote_monitoring_user]: 
    Changed password for user [apm_system]
    Changed password for user [kibana]
    Changed password for user [logstash_system]
    Changed password for user [beats_system]
    Changed password for user [remote_monitoring_user]
    Changed password for user [elastic]

    其中,用户权限分别如下:

    • elastic 账号:拥有 superuser 角色,是内置的超级用户。

    • kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。

    • logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。

    二、修改密码

    修改密码命令如下:

    curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

    三、带密码查询

    Elasticsearch设置用户名密码之后,不能再直接使用Elasticsearch head 访问,可以在查询等API上加上用户等参数:

    curl -XGET --user user:passwd 'http://XXXX:9200/XX/XXX'

    比如想要清空某个索引下的数据:

    curl -XPOST  --user admin:admin 'http://XXXX:9200/XXXX/XXX/_delete_by_query'  -H "Content-Type: application/json" -d '{ "query":{"match_all":{}}}'

    四、添加自定义角色

    添加角色接口为:

    POST /_xpack/security/role/

    下面添加一个超级管理员角色为例:

    1[elastic@data-backup elasticsearch-6.2.4]$ curl -XPOST -H 'Content-type: application/json' -u elastic:elastic123 'http://10.163.19.231:9600/_xpack/security/role/admin?pretty' -d '{
     2"run_as":["elastic"],
     3"cluster":["all"],
     4"indices":[
     5 {
     6  "names":["*"],
     7  "privileges":["all"]
     8 }
     9]
    10}'
    11{
    12 "role" : {
    13 "created" : true
    14 }
    15}
    16[elastic@data-backup elasticsearch-6.2.4]$ curl -XGET -H 'Content-type: application/json' -u elastic:elastic123 'http://10.163.19.231:9600/_xpack/security/role/admin?pretty'
    17{
    18  "admin" : {
    19  "cluster" : [
    20   "all"
    21  ],
    22  "indices" : [
    23   {
    24     "names" : [
    25      "*"
    26     ],
    27     "privileges" : [
    28      "all"
    29     ]
    30    }
    31   ],
    32   "run_as" : [
    33    "elastic"
    34   ],
    35   "metadata" : { },
    36   "transient_metadata" : {
    37    "enabled" : true
    38  }
    39 }
    40}

    五、添加自定义用户

    添加用户接口为:

    POST/_xpack/security/user/

    下面以添加一个test用户并添加至admin角色为例:

    1[elastic@data-backup elasticsearch-6.2.4]$ curl -XGET -H 'Content-type: application/json' -u test:Test123654% 'http://10.163.19.231:9600/_cat/indices?pretty'
    2green  open .monitoring-es-6-2019.09.17   J1K2XG1eTXqw0GHSOH5Gwg 1 0     848    104 846.9kb 846.9kb
    3green  open .watches                      qHj5owowRC-3DeK8DaLD-g 1 0       6      0  47.8kb  47.8kb
    4green  open .triggered_watches            2pm3BwCnTaKgyzl39eFpUw 1 0       0      0   5.1kb   5.1kb
    5yellow open monitor                       yFnfztziSguTq9VsfSANpw 5 1      48      0 226.7kb 226.7kb
    6green  open .watcher-history-7-2019.09.17 uz6RA_8vRraHHLAitWKtAw 1 0      74      0 259.8kb 259.8kb
    7green  open .monitoring-alerts-6          ZPTqnNVOQ5GlUK1ncXNQDQ 1 0       2      0  18.1kb  18.1kb
    8yellow open track                         AqSGAZnAQE2NGvZXlp9zcw 5 1 1343729 175384   201mb   201mb
    9green  open .security-6                   83fAslPbQDSGbGWfhiMAXA 1 0

    注:这里要注意的是用户密码最好不要有"$" "!"之类的字符,这样有可能会导致密码认证不成功,其他字符测试过暂时没问题(具体原因不详,反正我遇到过这个坑)

    8e59f196d88081710a028815f1414d1d.png

    六、header带密码插件访问

    修改配置文件elasticsearch.yml,增加

    http.cors.allow-headers: Authorization

    访问head时,url如下所示:

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

    946b1ec5e95a20b923cd2680ccbebe4c.png

  • 相关阅读:
    C++教程_w3cschool
    C++教程|菜鸟教程
    C++编程兵书
    学习C++从入门到精通的的十本最经典书籍
    从大公司到创业公司,技术人转型怎样转变思路与处事之道?
    c# 与 c++ 交互
    c++ 使用vs2010调用 win32api
    Excel学习笔记
    Windows环境变量设置无效解决办法——DOS窗口设置环境变量
    MAVEN ERROR: unable to find valid certification path to requested target 解决办法
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15847758.html
Copyright © 2020-2023  润新知