zoukankan      html  css  js  c++  java
  • ldap集成x-pack

    ldap配置支持x-pack有两种格式:

    1.  User Search Mode

    2. User DN Templates Mode

    由于第一种方式需要明文填入ldap管理员账号信息,我这边采用第二种方案 。

    elasticsearch配置文件中添加以下配置:

    xpack:
      security:
        authc:
          realms:
            ldap1:
              type: ldap
              order: 0
              url: "ldap://ldap.xxxxx.net:389"
              user_dn_templates:
                - "cn={0},ou=People,dc=ldap,dc=xxxxx,dc=net"
              group_search:
                base_dn: "ou=kibana,dc=ldap,dc=xxxxx,dc=net"
              files:
                role_mapping: "/etc/elasticsearch/x-pack/role_mapping.yml" #x-pack角色与ldap账户绑定文件
              cache.ttl: 3m #指定用户条目的生存时间
              unmapped_groups_as_roles: false

    第一种方式配置(不推荐):

    xpack:
      security:
        authc:
          realms:
            ldap1:
              type: ldap
              order: 0
              url: "ldap://ldap.xxxx.net:389"
              bind_dn: "cn=Manager,dc=ldap,dc=xxxxx,dc=net"
              bind_password: xxxxx
              user_search:
                base_dn: "ou=People,dc=ldap,dc=xxxxx,dc=net"
                attribute: cn
              group_search:
                base_dn: "ou=kibana,dc=ldap,dc=xxxxx,dc=net"
              files:
                role_mapping: "/etc/elasticsearch/x-pack/role_mapping.yml"
              cache.ttl: 3m
              unmapped_groups_as_roles: false

    查看/etc/elasticsearch/x-pack/role_mapping.yml 文件内容:

    logRead:  #只读,需在kibana面板上创建该角色
    - "cn=kibana-software-users,ou=kibana,dc=ldap,dc=xxxxx,dc=net"
    superuser: #管理员
    - "cn=kibana-software-admin,ou=kibana,dc=ldap,dc=xxxxx,dc=net"

    查看kibana上角色信息:

    添加角色映射:

    superuser:
    curl  -uelastic -X PUT "localhost:9200/_security/role_mapping/admins?pretty" -H 'Content-Type: application/json' -d'
    {
      "roles" : [ "superuser" ],
      "rules" : { "field" : {
        "groups" : "cn=kibana-software-admin,ou=kibana,dc=ldap,dc=safetytaxfree,dc=net"
      } },
      "enabled": true
    }
    '
    LogRead: curl -uelastic -X PUT "localhost:9200/_security/role_mapping/basic_users?pretty" -H 'Content-Type: application/json' -d' { "roles" : [ "LogRead" ], "rules" : { "field" : { "groups" : "cn=kibana-software-users,ou=kibana,dc=ldap,dc=safetytaxfree,dc=net" } }, "enabled": true } '

    配置完成,默认 xpack 每五秒会检查一次 role_mapping 文件的变化,修改用户权限之后不需要重新加载ES。

    使用ldap账号检验角色权限:curl -XGET  -uxxxx.xxx@xxx.com 'localhost:9200/_xpack/security/_authenticate?pretty' 

    ldap分组:

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    shell得到两个文件的差集
    shell 单引号&双引号的使用
    kubernetes session and 容器root权限
    docker 使用网络以及容器互联
    倒计时练习
    会话控制
    XML
    AJAX实现搜索智能提示
    弹窗显示详情练习
    三级联动
  • 原文地址:https://www.cnblogs.com/imcati/p/9456079.html
Copyright © 2011-2022 走看看