最新更新:

    LDAP身份提供者

    本文档描述了如何使用 LDAP 服务作为外部身份提供者,允许您根据 LDAP 服务对用户进行身份验证。

    准备工作

    • 您需要部署一个 Kubernetes 集群,并在集群中安装 Kube AI Hub。有关详细信息,请参阅在 Linux 上安装在 Kubernetes 上安装
    • 您需要获取 LDAP 服务的管理员专有名称(DN)和管理员密码。

    步骤

    1. admin 身份登录 Kube AI Hub,将光标移动到右下角 icon ,点击 kubectl,然后执行以下命令来编辑 CRD ClusterConfiguration 中的 ks-installer

      kubectl -n kubesphere-system edit cc ks-installer
      

      示例:

      spec:
       authentication:
         jwtSecret: ''
         maximumClockSkew: 10s
         multipleLogin: true
         oauthOptions:
           accessTokenMaxAge: 1h
           accessTokenInactivityTimeout: 30m
           identityProviders:
           - name: LDAP
             type: LDAPIdentityProvider
             mappingMethod: auto
             provider:
               host: 192.168.0.2:389
               managerDN: uid=root,cn=users,dc=nas
               managerPassword: ********
               userSearchBase: cn=users,dc=nas
               loginAttribute: uid
               mailAttribute: mail
      
    2. spec:authentication 部分配置 oauthOptions:identityProviders 以外的字段信息请参阅设置外部身份认证

    3. oauthOptions:identityProviders 部分配置字段。

      • name: 用户定义的 LDAP 服务名称。
      • type: 必须将该值设置为 LDAPIdentityProvider 才能将 LDAP 服务用作身份提供者。
      • mappingMethod: 帐户映射方式,值可以是 auto 或者 lookup
        • 如果值为 auto(默认),需要指定新的用户名。Kube AI Hub 根据用户名自动创建并关联 LDAP 用户。
        • 如果值为 lookup,需要执行步骤 4 以手动关联现有 Kube AI Hub 用户和 LDAP 用户。
      • provider:
        • host: LDAP 服务的地址和端口号。
        • managerDN: 用于绑定到 LDAP 目录的 DN 。
        • managerPassword: managerDN 对应的密码。
        • userSearchBase: 用户搜索基。设置为所有 LDAP 用户所在目录级别的 DN 。
        • loginAttribute: 标识 LDAP 用户的属性。
        • mailAttribute: 标识 LDAP 用户的电子邮件地址的属性。
    4. 如果 mappingMethod 设置为 lookup,可以运行以下命令并添加标签来进行帐户关联。如果 mappingMethodauto 可以跳过这个部分。

      kubectl edit user <Kube AI Hub username>
      
      labels:
        iam.kubesphere.io/identify-provider: <LDAP service name>
        iam.kubesphere.io/origin-uid: <LDAP username>
      
    5. 字段配置完成后,保存修改,然后等待 ks-installer 完成重启。

      备注

      Kube AI Hub Web 控制台在 ks-installer 重新启动期间不可用。请等待重启完成。
    6. 如果您使用 Kube AI Hub 3.2.0,请在配置 LDAP 之后执行以下命令并等待至 ks-installer 成功运行:

      kubectl -n kubesphere-system set image deployment/ks-apiserver *=kubesphere/ks-apiserver:v3.2.1
      

      备注

      如果您使用 Kube AI Hub 3.2.1,请跳过该步骤。
    7. 进入Kube AI Hub登录页面,输入 LDAP 用户的用户名和密码登录。

      备注

      LDAP 用户的用户名是 loginAttribute 指定的属性值。
    页面内容