zoukankan      html  css  js  c++  java
  • 快速搭建OpenLDAP环境并对接Rancher认证

    简介

    如果企业内部有使用LDAP进行用户身份验证,则可以通过配置Rancher与OpenLDAP服务器通信以对用户进行身份验证。

    本文将介绍如何通过docker快速搭建OpenLDAP环境,并对接Rancher认证功能

    主要用到两个镜像:

    步骤

    安装OpenLDAP服务

    1. 基于osixia/openldap:1.5.0镜像,创建OpenLDAP服务

      docker run -p 389:389 -p 636:636 --name openldap -itd --env LDAP_ORGANISATION="rancher" --env LDAP_DOMAIN="rancherldap.com" --env LDAP_ADMIN_PASSWORD="Rancher123"   osixia/openldap:1.5.0
      

      参数说明:

      缺省ldap使用389端口,加密使用636端口

      LDAP_ORGANISATION:Organisation名称,默认是Example Inc.

      LDAP_DOMAIN:LDAP domain,例如默认是example.org,则domain为dc=example,dc=org

      LDAP_ADMIN_PASSWORD:admin用户密码

    2. 创建osixia/phpldapadmin:0.9.0镜像,创建Web服务

      phpldapadmin是一个基于Web的管理LDAP的工具,可以更加直观的查看和管理LDAP信息

      docker run -p 6443:443 --env PHPLDAPADMIN_LDAP_HOSTS=172.16.21.12 -itd --name phpldapadmin osixia/phpldapadmin:0.9.0
      

      参数说明:

      PHPLDAPADMIN_LDAP_HOSTS:LDAP服务地址,这里如果是将openLDAP容器启动在相同主机上则填写本机的IP地址即可

    3. docker-compose(可选)

      也可以通过docker-compose去创建OpenLDAP环境

      version: '2.3'
      services:
        openldap:
          image: osixia/openldap:1.5.0
          container_name: openldap
          restart: always
          environment:
            - LDAP_ORGANISATION=rancher
            - LDAP_DOMAIN=rancherldap.com
            - LDAP_ADMIN_PASSWORD=Rancher123
          ports:
            - 389:389
            - 636:636
          volumes:
            - ./slapd:/etc/ldap/slapd.d
            - ./data:/var/lib/ldap
        phpldapadmin:
          image: osixia/phpldapadmin:0.9.0
          container_name: phpldapadmin
          restart: always
          environment:
            - PHPLDAPADMIN_LDAP_HOSTS=openldap
          links:
            - openldap:openldap
          depends_on:
            - openldap
          ports:
            - 6443:443
          volumes:
            - ./phpldapadmin-certs:/container/service/phpldapadmin/assets/apache2/certs
      

      将上诉文件保存到docker-compose.yml中,然后执行docker-compose up -d命令即可

      运行成功后,会在跟docker-compose.yml文件相同的目录下创建三个目录slapddataphpldapadmin-certs

      默认admin domain账号为:cn=admin,dc=rancherldap,dc=com,密码为:Rancher123

    4. 进入openldap容器中,执行ldapsearch命令尝试搜索

      docker exec openldap ldapsearch -x -H ldap://localhost -b dc=rancherldap,dc=com -D "cn=admin,dc=rancherldap,dc=com" -w Rancher123
      

      可以得到如下输出结果,则说明部署成功

      # extended LDIF
      #
      # LDAPv3
      # base <dc=rancherldap,dc=com> with scope subtree
      # filter: (objectclass=*)
      # requesting: ALL
      #
      
      # rancherldap.com
      dn: dc=rancherldap,dc=com
      objectClass: top
      objectClass: dcObject
      objectClass: organization
      o: rancher
      dc: rancherldap
      
      # search result
      search: 2
      result: 0 Success
      
      # numResponses: 2
      # numEntries: 1
      

    基于phpldapadmin的web工具创建用户

    浏览器访问:https://<IP>:6443,点击左侧login登录

    login-1

    其中账号密码如下:

    cn=admin,dc=rancherldap,dc=com
    Rancher123
    

    login-2

    登录进去后,可以看到domain相关信息

    创建Organisational Unit

    点击dc=rancherldap,dc=com,在其目录下点击Create a child entry创建子条目

    ou-1

    点击 Generic: Organisational Unit

    ou-2

    填写OU名称,例如这里填写rancher,填好之后点击Create Object创建该对象

    ou-3

    点击Commit二次确认

    ou-4

    创建成功后,就可以在左侧中看到我们创建的OU对象

    ou-5

    创建Group

    ou=rancher下,点击Create a child entry创建子条目,点击 Generic: Posix Group创建Group对象

    image-20210429155116459

    填写Group名称,例如这里填写group

    group-2

    填好之后点击Create Object创建该对象,点击Commit二次确认,创建成功后,就可以在左侧中看到我们创建的Group对象

    group-3

    创建User

    cn=group下,点击Create a child entry创建子条目,点击 Generic: User Account创建User对象

    user-1

    填写对应的user信息,填写First name和Last name,会自动生成Common Name和User ID,其中UserID为后续Rancher登录的用户名

    填写Password,后续登录Rancher使用该密码

    选择刚刚创建的group

    user-2

    填好之后点击Create Object创建该对象,点击Commit二次确认,创建成功后,就可以在左侧中看到我们创建的USer对象

    user-3

    同理,我们用相同的方法再创建一个test用户

    user-4

    对接Rancher认证

    对接OpenLDAP

    在Rancher UI中,点击 全局-安全-认证,选择OpenLDAP

    rancher-1

    参数说明:

    主机名或 IP 地址:OpenLDAP服务器的IP地址

    端口:默认端口是389

    服务帐户专有名称cn=admin,dc=rancherldap,dc=com,这里填写admin用户的domain

    服务账号密码:admin用户的密码

    用户搜索起点:例如刚刚创建的OU为rancher,则这里的搜索起点为ou=rancher,dc=rancherldap,dc=com

    用户名:这个用户会成为管理员,用户名需要基于User Name填写,例如我们刚刚创建的adminuser,则这里填写auser

    密码:该用户的密码

    参数填写完之后,点击启用OpenLDAP认证,开启OpenLDAP认证

    rancher-2

    测试LDAP用户登录

    rancher-3

    登录成功,默认该用户没有权限

    rancher-4

  • 相关阅读:
    3.2 机器学习基本算法
    《TensorFlow深度学习应用实践》
    基于element动态调整table高度
    关于小程序表单验证解决方案
    LHS与RHS
    小程序---获取地理位置及获取用户userinfo信息
    element----修改element中table里面的右侧滚动条样式
    关于微信里wx.getUserInfo获取用户信息都是拼音的转成中文方法
    element中upload单图片转base64后添加进数组,请求接口
    vue的生命周期
  • 原文地址:https://www.cnblogs.com/zerchin/p/14718904.html
Copyright © 2011-2022 走看看