使用 LDAP 进行身份验证 (AEN 4.2.0)

默认情况下,Anaconda Enterprise Notebooks 对 AEN 数据库中的帐户执行本地身份验证。

要将 AEN 配置为针对 LDAP(轻量级目录访问协议)服务器中的帐户进行身份验证,请按照以下说明进行操作。

安装 OpenLDAP 库

系统需要安装 OpenLDAP 库并由 AEN 访问。AEN 使用 OpenLDAP 库建立到 LDAP 服务器的 LDAP 连接。

在 CentOS 或 Redhat 上安装 OpenLDAP:

须藤 yum 安装 openldap

要在 Ubuntu 或 Debian 上安装 OpenLDAP,请按照官方 OpenLDAP 安装说明进行操作

配置 OpenLDAP

  1. 打开/opt/wakari/wakari-server/etc/wakari/wk-server-config.json文件。

  2. 添加以下 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=设施) 
                                             (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 服务器中的属性。

  3. 一旦安装了 LDAP,LDAP 身份验证就会接管,因此您需要再次添加您的管理员帐户:

/opt/wakari/wakari-server/bin/wk-server-admin 超级用户 --add "jsmith"

配置活动目录

Microsoft Active Directory 是一个服务器程序,它提供目录服务并使用开放的行业标准轻型目录访问协议 (LDAP)。

要启用 Active Directory 支持:

  1. 打开/opt/wakari/wakari-server/etc/wakari/wk-server-config.json文件。

  2. 添加以下 LDAP 设置:

    { 
        “帐户” “wk_server.plugins.accounts.ldap2” 
        “LDAP”   { 
            “URI”  “ldap://<ad.EXAMPLE.COM>” 
            “BIND_DN”  “CN=绑定用户,CN=用户,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 服务器中的属性。

  3. 一旦安装了 LDAP,LDAP 身份验证就会接管,因此您需要再次添加您的管理员帐户:

/opt/wakari/wakari-server/bin/wk-server-admin 超级用户 --add "jsmith"

配置 SSL/TLS

AEN 使用系统范围的 LDAP 设置,包括 SSL/TLS 支持。

  • 在 Redhat/CentOS 系统上,这些设置位于 /etc/openldap/ldap.conf文件中。
  • 在 Ubuntu/Debian 系统上,这些设置位于 /etc/ldap/ldap.conf文件中。

通常,唯一需要的配置是更新文件以读取:

TLS_CACERT  /路径// CA 证书

注意: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 [用户名]  \ 
    -p [密码]

注意:username是有效用户的用户名, password是该用户的 BIND_AUTH 密码。