LDAP 故障排除
Metabase 可以使用 LDAP 进行身份验证。本文解释了如何设置,以下指南将帮助您排查任何可能出现的问题。如果您的问题不是 LDAP 特有的,请参阅我们的登录故障排除指南。
LDAP 示例配置
您可以使用此 docker-compose
定义来测试 Metabase 与 LDAP 的集成。
version: "3.7"
services:
metabase-ldap:
image: metabase/metabase:latest
container_name: metabase-ldap
hostname: metabase-ldap
volumes:
- /dev/urandom:/dev/random:ro
ports:
- 3000:3000
networks:
- metanet1
environment:
- "MB_LDAP_BIND_DN=cn=admin,dc=example,dc=org"
- "MB_LDAP_ENABLED=true"
- "MB_LDAP_GROUP_BASE=cn=readers"
- "MB_LDAP_HOST=openldap"
- "MB_LDAP_PASSWORD=adminpassword"
- "MB_LDAP_PORT=1389"
- "MB_LDAP_USER_BASE=ou=users,dc=example,dc=org"
- "MB_LDAP_ATTRIBUTE_EMAIL=uid"
# We are using the same field for email and first name, just for this example to work without modifications to the LDAP objects
- "MB_LDAP_ATTRIBUTE_FIRSTNAME=uid"
- "MB_LDAP_ATTRIBUTE_LASTNAME=sn"
openldap:
image: bitnami/openldap:2.4.57
hostname: openldap
container_name: openldap
ports:
- 1389:1389
environment:
- LDAP_ADMIN_USERNAME=admin
- LDAP_ADMIN_PASSWORD=adminpassword
- LDAP_USERS=user01@metabase.com,user02@metabase.com
- LDAP_PASSWORDS=password1!,password2!
- LDAP_PORT_NUMBER=1389
- LDAP_ROOT=dc=example,dc=org
- LDAP_USER_DC=users
- LDAP_GROUP=readers
networks:
- metanet1
networks:
metanet1:
driver: bridge
如果您不向 Metabase 传递环境变量并希望手动配置环境,您可以进入管理员面板,选择“设置”,选择“身份验证”,然后选择“LDAP 配置”并输入以下值:
用户名或 DN
:cn=admin,dc=example,dc=org
密码
:adminpassword
用户搜索基准 DN
:ou=users,dc=example,dc=org
用户过滤器
:(&(objectClass=inetOrgPerson)(|(uid={login})))
组搜索基准 DN
:cn=readers
对于 用户过滤器
,您可以保留默认值,它将在 uid
或 email
字段中查找用户 ID。
故障排除相关软件
如果您遇到问题,请使用 Apache Directory Studio 等软件检查您是否可以登录 LDAP 目录并发出查询。它将允许您查看整个 LDAP 树并查看 LDAP 应用程序的日志以查看运行的查询。
当前限制
- 在使用带有 MySQL 数据库和启用 LDAP 的 Metabase Enterprise 时,请务必使用
MB_LDAP_SYNC_USER_ATTRIBUTES_BLACKLIST
环境变量禁用 LDAP 目录中二进制字段的同步。如果您不这样做,可能会遇到 MySQL 文本字段 60K 字段大小的限制,这将阻止您创建用户或阻止这些用户登录。
还卡住了吗?
如果您无法使用故障排除指南解决问题
- 搜索或提问 Metabase 社区。
- 搜索已知错误或限制。
阅读其他Metabase 版本的文档。