Kubernetes實錄(3) 配置企業級鏡像倉庫Harbor集成openLDAP

Kubernetes實錄系列記錄文檔完整目錄參考: Kubernetes實錄-目錄

相關記錄鏈接地址 :

Harbor支持的認證後端有4種類型,分別是databaseLDAP/ADUAAOIDC,其中UAA目前來說還是不建議使用的狀態。默認採用的是數據庫(database)作爲認證,這裏測試使用LDAP作爲認證後端。
備註: 默認使用數據庫作爲認證後端,並且已經創建了用戶就不能修改認證方式了,所以要在配置初始就決策好用哪種認證後端。

主機名稱 ip地址 操作系統 角色 軟件版本 備註
opsharbor-shqs-1 10.99.73.38 CentOS 7.6 docker hub docker-ce 19.03.11
docker-compose 1.26.0
harbor 1.10.3
測試域名:
registry.ejuops.com
sysldap-shylf-1 10.116.72.11 CentOS 7.6 openLDAP openldap-2.4.44 測試域名:
直接IP地址

一、準備工作

  • harbor環境的配置參考上一篇文檔: 配置企業級鏡像倉庫Harbor
    https://registry.ejuops.com/
    
  • openLDAP的安裝參考文檔:配置OpenLDAP服務單節點模式,如果配置其他模式(主從或者多主)在該文檔裏面也有相關配置的鏈接
    ldapURL:ldap://10.116.72.11
    LDAP搜索DN:cn=Manager,dc=example,dc=com         #諮詢ldap管理員,如果ldap支持匿名搜索這個不用配置
    LDAP搜索密碼:xxxxxx                             #諮詢ldap管理員,如果ldap支持匿名搜索這個不用配置
    LDAP基礎DN:ou=People,dc=example,dc=com
    LDAP過濾器:objectclass=posixAccount  #如果開啓了memberof屬性參考下面的組管理
    LDAP用戶UID: uid   #根據實際情況配置,諮詢ldap管理員,可能是cn,uid或者其他
    LDAP搜索範圍:子樹
    
    # 如果配置了memberof屬性可以設置組相關配置,上面的LDAP過濾器可以修改爲:(&(objectclass=posixAccount)(memberof=cn=harbor,ou=Group,dc=example,dc=com))
    LDAP組基礎DN:ou=Group,dc=example,dc=com
    LDAP組過濾器:objectclass=groupOfUniqueNames
    LDAP組ID屬性:cn
    LDAP組管理員DN: cn=harbor,ou=Group,dc=example,dc=com # 這個可以不用配置,這裏說明改組內的成員都是管理員
    LDAP 組成員: memberof
    LDAP搜索範圍:子樹
    
  • harbor處於啓動狀態

二、Harbor集成openLDAP(不進行組管理)

openLDAP沒有啓用memberof屬性,無法進行組管理。只有ldap中滿足LDAP過濾器條件 objectclass=posixAccount都可以登錄,登錄後是普通用戶權限,然後在harbor用戶管理頁面進行權限授權.
在這裏插入圖片描述
配置完成後,點擊【測試LDAP服務器】成功後直接保存即可,退出登錄。然後重啓harbor服務

docker-compose down
docker-compose start

可以使用ldap的用戶進行登錄了,因爲我們的過濾器簡單,所有滿足條件的用戶都可以登錄進來,並且是普通權限。
如下是ldap裏面的一個用800001的登錄過程。
在這裏插入圖片描述

三、Harbor集成openLDAP,啓用memberof屬性,進行組管理

  • 上面的配置以及使用的過濾器導致所有的ldap用戶都可以登錄harbor,這個不滿足我們的需求。實際使用中經常是ldap配置一個組,將需要登錄ldap的用戶添加到該組,只有該組內的成員方可以登錄harbor。

  • 還可能配置另一個組,將需要管理員權限的用戶添加到這個組裏面,登錄後直接具有管理員權限。需要過濾器配合。我們將配置一個組 harbor 該組內的用戶

    組:cn=harbor,ou=Group,dc=example,dc=com
    組成員:800001,800002,非組成員:800003
    

    將LDAP過濾器配置爲

    (&(objectclass=posixAccount)(memberof=cn=harbor,ou=Group,dc=example,dc=com))
    

    如此,只能組內用戶可以登錄了。

  • 配置組管理
    在這裏插入圖片描述
    可以退出登錄,重新使用ldap賬戶登錄驗證了。
    OK,到這裏完成harbor與openldap的集成。

參考文檔:
官方:https://goharbor.io/docs/1.10/administration/configure-authentication/ldap-auth/
博文:https://www.58jb.com/html/harbor-auth-with-ldap.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章