美文网首页
search-guard环境部署,登录验证,权限配置

search-guard环境部署,登录验证,权限配置

作者: hbtszyt | 来源:发表于2018-09-03 19:58 被阅读0次

    1.环境部署

    es集群部署忽略,注意要用es:es,把es,kibana,search相关的包全部修改用户和组

    chown -R es:es 包名称

    安装和es对应版本的插件,版本参考:https://github.com/floragunncom/search-guard/wiki,可以采用在线安装

    es插件:./bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:5.6.2-19.1

    kibana插件:./bin/kibana-plugin install file:///server/searchguard-kibana-5.6.2-5.zip

    证书生成插件:git clone https://github.com/floragunncom/search-guard-ssl.git

    修改example.sh文件的内容

    添加两个证书

    # 生成一个sgadmin客户端证书,用于配置管理

    ./gen_client_node_cert.sh sgadmin changeit capass

    # 生成一个javaapi访问的客户端证书

    ./gen_client_node_cert.sh javaapi changeit capass

    生成证书:./example.sh

    拷贝证书相关文件到节点的es/conf目录下

    cp *.jks /home/hadoop/Desktop/elaticsearch-5.2.2/config/

    修改es的配置文件:

    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

    # 设置不校验hostname

    searchguard.ssl.transport.enforce_hostname_verification: false

    searchguard.ssl.transport.resolve_hostname: false

    #配置restful为https访问,此处为了方便暂时不配置

    #searchguard.ssl.http.enabled: true

    #searchguard.ssl.http.keystore_filepath: node-0-keystore.jks

    #searchguard.ssl.http.keystore_password: changeit

    #searchguard.ssl.http.truststore_filepath: truststore.jks

    #searchguard.ssl.http.truststore_password: changeit

    #配置管理员证书DN

    searchguard.authcz.admin_dn:

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

    # 配置节点识别证书DN

    searchguard.nodes_dn:

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

    network.host: 10.2.26.39

    cluster.name: fk-cluster

    node.name: 10.2.26.39

    http.port: 9200

    transport.tcp.port: 9300

    node.max_local_storage_nodes: 1

    cluster.routing.allocation.same_shard.host: true

    discovery.zen.ping.unicast.hosts: ["10.2.26.39:9300"]

    discovery.zen.minimum_master_nodes: 1

    bootstrap.memory_lock: false

    bootstrap.system_call_filter: false

    将yml文件拷贝到其它节点es的conf目录下,修改其中部分参数,比如ip等

    在kibana节点上:

    [root@fk config]# more kibana.yml

    server.port: 5601

    server.host: 10.2.26.39

    elasticsearch.url: "http://10.2.26.39:9200"

    elasticsearch.username: "kibanaserver"

    elasticsearch.password: "kibanaserver"

    xpack.security.enabled: false  (这个如果不加,在访问页面可能不让你输入密码)

    .初始化用户配置信息

    cd elasticsearch-version/plugins/search-guard-5/tools/

    修改脚本执行权限:chmod +x *.sh

    在所有节点上,首先启动es服务,然后再执行

    cd /opt/elasticsearch-6.2.3/plugins/search-guard-6/tools

    ./sgadmin.sh -h master -cn vm-cluster -cd ../sgconfig -ks ../../../config/sgadmin-keystore.jks -kspass changeit -ts ../../../config/truststore.jks -tspass changeit -nhnv

    重启es和kibana,使其生效

    2.登录验证:

    3.权限配置

    sg_internal_users.yml: 存储用户名密码,密码可以使用plugin/tools/hash.sh生成

      用户可以加入一个用户组,后面使用用户组与权限进行映射

    sg_roles.yml:权限设置,定义什么类型的权限

    sg_roles_mapping.yml: 映射角色关系,可以把权限映射给用户,也可以映射给用户组

    sg_action_groups.yml: 定义一些用户动作的权限与es索引之间的关系

    sg_config.yml:全局设置

    超级管理员可以任意操作

    相关es demo:

    curl '10.2.26.39:9200/_cat/indices?v'

    es无用户名和密码访问:curl  'ip:9200/_cat/indices?v'

    es用用户名和密码访问:curl -uadmin:admin 'ip:9200/_cat/indices?v'

    es删除某个索引:curl -uadmin:admin -XDELETE 'http://ip:9200/binlog-2018.08.31'

    某个用户操作某个索引:curl -uliuwei:liuwei 'ip:9200/logstash*/_search?v'

    注意:

    参考官网说明:https://docs.search-guard.com/latest/authentication-authorization

    目前问题:

    1、logstah用户,索引配置了DELETE,但是删除不了logstash开头的索引?

    问题解决:

    delete只有删除单条,或者deletebyquery权限

    在index下添加:indices:admin/delete,千万不能在cluster下加

    目前需求是:公司有4个组,每个组只能查看自己的索引,并且可以删除,修改操作

    只要定义相关配置文件,修改模板的权限即可!已经测试过

    下一步会验证6.2版本的es的相关权限,欢迎大家指导

    测试后发现,6.2版本的kibana插件无法安装,存在问题

    *************************

    采用6.3.1版本的es和kiaban

    安装:

    ./bin/elasticsearch-plugin install -b com.floragunn:search-guard-6:6.3.1-23.0

    ./bin/kibana-plugin install file:///server/search-guard-kibana-plugin-6.3.1-14.zip

    相关文章

      网友评论

          本文标题:search-guard环境部署,登录验证,权限配置

          本文链接:https://www.haomeiwen.com/subject/mnabpftx.html