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

  • 相关阅读:
    Balance的数学思想构造辅助函数
    1663. Smallest String With A Given Numeric Value (M)
    1680. Concatenation of Consecutive Binary Numbers (M)
    1631. Path With Minimum Effort (M)
    1437. Check If All 1's Are at Least Length K Places Away (E)
    1329. Sort the Matrix Diagonally (M)
    1657. Determine if Two Strings Are Close (M)
    1673. Find the Most Competitive Subsequence (M)
    1641. Count Sorted Vowel Strings (M)
    1679. Max Number of K-Sum Pairs (M)
  • 原文地址:https://www.cnblogs.com/zerchin/p/14718904.html
Copyright © 2011-2022 走看看