metabase v1.38.1 使用ldap认证

前言

因为公司采用metabase作为自助式报表工具,为了方便开放给公司的人员使用,避免频繁的手工录入,遂接入公司已有的ldap作为统一认证


一、ldap是什么?

ldap是一种轻量目录访问协议,数据存储是以树结构存储的,读取速度快,但不方便写入。(这里还是要了解一下ldap的概念的)
可以参考一下这两个:
ldap中文网
ldap官网

二、配置metabase使用ldap认证

metabase是支持ldap认证的,我们只需要上web界面配置即可。但是metabse配置ldap基本没有日志打印,所以可能出错误也比较难以发现。这里强烈推荐使用ldapbrowser这里可以下载,browser是免费的连接ldap来查看相关目录

1.打开管理员界面,如图

管理界面图片
点击配置

2.进入ldap配置页面,如图

ldap配置界面
主机名端口填写:ldap服务器的ip和端口,端口使用389,安全性选择None或StartTLS(SSL默认使用636端口)
用户名/密码填写能连上ldap的用户名密码,可以使用ldapbrowser尝试登陆,能正常登陆并显示ldap数据库的用户名密码都行

3.配置用户结构和属性

3.1 使用ldapbrowser连接ldap获取用户存放的层级和属性,如图

这是用户的属性

3.2 ldap用户结构配置界面

在这里插入图片描述

然后将包含全部用户的目录层级填入用户搜索库框,eg:OU=xxxx,DC=xxxx,DC=xxxx

用户筛选部分要比较注意,默认使用的用户筛选是:(&(objectClass=inetOrgPerson)(|(uid={login})(mail={login}))),这里要根据自己的ldap属性值来设置,比如objectClass指的是根据用户的哪个属性来查找用户,笔者这里根据上面ldap的图片填了user(其实person也行),后面两个指你用ldap的哪个字段登录验证,默认的指的是使用邮箱和uid作为输入认证,笔者根据自己的ldap配置的属性改成了:(&(objectClass=user)(|(sAMAccountName={login})(userprincipalname={login})))。ps:筛选里面的属性一定要是全部用户都要有,不然可能导致部分用户无法登录

属性的三个参数主要的用来映射ldap数据到metabase的元数据库的(笔者使用的元数据库是mysql),对应的是core_user的email,first_name,last_name三个字段,默认使用ldap里面的mail,givenName,sn三个属性。但是笔者ldap服务器有些用户没有mail字段,后面笔者将映射到mail的改成userprincipalname属性了。ps:这里在ldap里面对应的属性值应该全部都要有(使用默认属性,有些可能不存在会导致用户无法登陆)。

4.结果

在这里插入图片描述
能正常登陆后,可以在metabase的元数据库查看到从ldap同步回来的数据信息(正常登陆后会同步)
最后的最后,发现一个问题,metabse登陆的时候是把密码明文提交的,可能是我配置的问题,如图。。。
在这里插入图片描述

总结

metabase本身支持ldap,所以配置不难,主要难点是因为日志没有提示错误信息,可能会导致无法发现错误在哪里,不太方便改正,还有就是metabase提供的ldap有个同步组成员,按照笔者的理解应该是将ldap的目录下面的成员自动映射到某个角色,但是笔者配置了映射后暂未成功,后续可以继续尝试。

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值