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
- [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。
相关软件用于故障排除
如果您遇到问题,请检查您是否可以登录到您的LDAP目录并使用类似 Apache Directory Studio 的软件执行查询。它将让您看到整个LDAP树,并查看您的LDAP应用程序的日志以查看运行的查询。
当前限制
- 当使用具有MySQL数据库和启用LDAP的Metabase Enterprise时,请确保您使用环境变量
MB_LDAP_SYNC_USER_ATTRIBUTES_BLACKLIST
禁用从LDAP目录同步二进制字段。如果不这样做,您可能会遇到MySQL文本字段60K字段大小限制,这将阻止您创建用户或这些用户登录。
您是否仍然被困住了?
如果您无法使用故障排除指南解决问题
- 搜索或向 Metabase社区 提问。
- 搜索 已知错误或限制。
阅读其他 Metabase版本 的文档。