LDAP/AD 身份验证
从 Redash v3 开始,已直接支持 LDAP/AD 身份验证。要设置它,您需要安装 ldap3
Python 包(版本 2.2.4
,GPL 许可),并添加相关的配置值(见下文)。完成后,您需要重启应用程序服务。
配置
将以下内容添加到您的环境变量中(.env
文件或 Docker 配置)
REDASH_LDAP_LOGIN_ENABLED
:当为true
时,将在ldap/login
端点启用 LDAP 登录。[必需] * 如果REDASH_PASSWORD_LOGIN_ENABLED
为false
,用户将被阻止使用 Redash 的身份验证登录 Redash,而是会自动重定向到 LDAP 登录端点。REDASH_LDAP_URL
:LDAP/AD 主机的 URL。这包括端口。例如:"127.0.0.1:389"
[必需]REDASH_LDAP_BIND_DN
:要绑定的 DN。这用于确定被验证用户的身份。[必需] * 对于 AD,这应该是"org\\user_dn"
。需要两个反斜杠。REDASH_LDAP_BIND_DN_PASSWORD
:绑定到REDASH_LDAP_BIND_DN
中指定的 DN 的密码。[必需]REDASH_LDAP_DISPLAY_NAME_KEY
:包含用户全名的键。* 默认值为displayName
REDASH_LDAP_EMAIL_KEY
:包含用户电子邮件的键。* 默认值为mail
REDASH_LDAP_CUSTOM_USERNAME_PROMPT
:显示在用户名字段上方的自定义提示。* 默认值为LDAP/AD/SSO 用户名:
REDASH_LDAP_SEARCH_TEMPLATE
:DN 用于查找用户的搜索模板。_ 默认情况下,这是"(cn=%(username)s)"
,但对于 AD,它应该是"(sAMAccountName=%(username)s)"
_%(username)s
是在 LDAP 登录页面中输入的用户名REDASH_LDAP_SEARCH_DN
:要绑定的搜索 DN。例如:"cn=users,dc=ORG,dc=local"
[必需]- 在 4.0 之前,此选项被称为
REDASH_SEARCH_DN
- 在 4.0 之前,此选项被称为
Docker
如果在 Docker 设置中使用 LDAP,则您必须创建一个自定义镜像 (https://github.com/getredash/redash/pull/1836#issuecomment-321331014)
FROM redash/redash:latest
RUN pip install ldap3
如果您正在使用 Docker Compose 运行 Redash,则可以将 image: redash/redash:latest
替换为 build: .
,假设自定义 Dockerfile 与之在同一目录中。