使用 LDAP 进行身份验证¶
默认情况下,Anaconda Enterprise Notebooks 对 AEN 数据库中的帐户执行本地身份验证。
要将 AEN 配置为针对 LDAP(轻量级目录访问协议)服务器中的帐户进行身份验证,请按照以下说明进行操作。
安装 OpenLDAP 库¶
系统需要安装 OpenLDAP 库并由 AEN 访问。AEN 使用 OpenLDAP 库建立到 LDAP 服务器的 LDAP 连接。
在 CentOS 或 Redhat 上安装 OpenLDAP:
sudo yum install openldap
要在 Ubuntu 或 Debian 上安装 OpenLDAP,请按照官方 OpenLDAP 安装说明进行操作。
配置 OpenLDAP ¶
打开
/opt/wakari/wakari-server/etc/wakari/wk-server-config.json文件。添加以下 LDAP 设置:
{ "accounts":"wk_server.plugins.accounts.ldap2", "LDAP" : { "URI": "ldap://openldap.EXAMPLE.COM", "BIND_DN": "cn=Bob Jones,ou=Users,DC=EXAMPLE,DC=COM", "BIND_AUTH": "secretpass", "USER_SEARCH": {"base": "DC=EXAMPLE,DC=COM", "filter": "(| (& (ou=Payroll) (uid=%(username)s)) (& (ou=Facilities) (uid=%(username)s)))" }, "KEY_MAP": {"email": "mail", "name": "cn" } } }
URI - OpenLDAP 服务器的 IP 地址或主机名。对于 SSL/TLS,使用
ldaps://前缀并指定 TLS_CACERT,如下面的 SSL/TLS 配置部分所述。BIND_DN - 您希望 AEN 服务器绑定为的用户的完整目录路径。
BIND_AUTH - BIND_DN 用户的密码。
USER_SEARCH:
- base - 要开始搜索的级别。
- filter - 默认是搜索 sAMAccountName 属性,并将其值用于 AEN 服务器用户名字段。
KEY_MAP - 将 AEN 服务器中的用户属性映射到 LDAP 用户属性。
示例:
mailLDAP 中的email属性映射到AEN 服务器中的属性。
重新启动 AEN 服务器以加载新设置。
使用管理员帐户登录。这将在本地数据库中创建 admin 用户。
一旦安装了 LDAP,LDAP 身份验证就会接管,因此您需要再次添加您的管理员帐户:
/opt/wakari/wakari-server/bin/wk-server-admin superuser --add "jsmith"
配置活动目录¶
Microsoft Active Directory 是一个服务器程序,它提供目录服务并使用开放的行业标准轻型目录访问协议 (LDAP)。
要启用 Active Directory 支持:
打开
/opt/wakari/wakari-server/etc/wakari/wk-server-config.json文件。添加以下 LDAP 设置:
{ "accounts":"wk_server.plugins.accounts.ldap2", "LDAP" : { "URI": "ldap://<ad.EXAMPLE.COM>", "BIND_DN": "CN=Bind User,CN=Users,DC=EXAMPLE,DC=COM", "BIND_AUTH": "secretpass", "USER_SEARCH": {"base": "CN=Users,DC=EXAMPLE,DC=COM", "filter": "sAMAccountName=%(username)s" }, "KEY_MAP": {"email": "mail", "name": "cn" } } }
URI - Active Directory 服务器的 IP 地址或主机名。替换
<ad.EXAMPLE.COM>为实际的 URI。对于 SSL/TLS,使用ldaps://前缀并指定 TLS_CACERT,如下面的 SSL/TLS 配置部分所述。BIND_DN - 您希望 AEN 服务器绑定为的用户的完整目录路径。
BIND_AUTH - BIND_DN 用户的密码。
USER_SEARCH:
- base - 您想要开始搜索的级别。
- 过滤器—默认是搜索 sAMAccountName 属性,并将其值用于 AEN 服务器
username字段。
KEY_MAP - 将 AEN 服务器中的用户属性映射到 LDAP 用户属性。
示例:
mailLDAP 中的email属性映射到AEN 服务器中的属性。
重新启动 AEN 服务器以加载新设置。
使用管理员帐户登录。这将在本地数据库中创建 admin 用户。
一旦安装了 LDAP,LDAP 身份验证就会接管,因此您需要再次添加您的管理员帐户:
/opt/wakari/wakari-server/bin/wk-server-admin superuser --add "jsmith"
配置 SSL/TLS ¶
AEN 使用系统范围的 LDAP 设置,包括 SSL/TLS 支持。
- 在 Redhat/CentOS 系统上,这些设置位于
/etc/openldap/ldap.conf文件中。 - 在 Ubuntu/Debian 系统上,这些设置位于
/etc/ldap/ldap.conf文件中。
通常,唯一需要的配置是更新文件以读取:
TLS_CACERT /path/to/CA.cert
注意: CA.cert是用于签署 LDAP 服务器的 SSL 证书的证书颁发机构。对于自签名 SSL 证书,这是 SSL 证书本身的路径。
测试 LDAP 配置¶
使用flask-ldap-login-check以下命令测试您的 LDAP 配置:
/opt/wakari/wakari-server/bin/flask-ldap-login-check \
wk_server.wsgi:app \
-u [username] \
-p [password]
注意: username是有效用户的用户名,
password是该用户的 BIND_AUTH 密码。