LDAP 故障排除
Metabase 可以使用 LDAP 进行身份验证。 本文 介绍了如何设置它,下面的指南将帮助您排除故障。如果你的问题不是 LDAP 特有的,请转到 我们的登录故障排除指南。
LDAP 示例配置
您可以使用此 docker-compose
定义通过 LDAP 测试 Metabase
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
- [email protected],[email protected]
- 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 配置”并输入以下值
USERNAME OR DN
:cn=admin,dc=example,dc=org
PASSWORD
:adminpassword
USER SEARCH BASE
:ou=users,dc=example,dc=org
USER FILTER
:(&(objectClass=inetOrgPerson)(|(uid={login})))
GROUP SEARCH BASE
:cn=readers
对于“USER FILTER
”,您可以保留默认值,它将在 uid
或 email
字段中查找用户 ID。
故障排除相关软件
如果您遇到问题,请检查您是否可以使用 Apache Directory Studio 等软件登录到您的 LDAP 目录并发出查询。它将让您查看整个 LDAP 树并查看您的 LDAP 应用程序的日志以查看运行的查询。
当前限制
- 当将 Metabase Enterprise 与 MySQL 数据库一起使用并启用 LDAP 时,请确保通过使用
MB_LDAP_SYNC_USER_ATTRIBUTES_BLACKLIST
环境变量禁用从 LDAP 目录同步二进制字段。如果您不这样做,您可能会遇到 MySQL 中文本字段的 60K 字段大小限制,这将阻止您创建用户或这些用户登录。
仍然遇到问题?
如果您无法使用故障排除指南解决您的问题
- 搜索或询问 Metabase 社区。
- 搜索 已知错误或限制。
阅读其他版本的 Metabase 文档。