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分组:

 

posted @ 2018-08-10 16:50  imcati  阅读(1574)  评论(0编辑  收藏  举报