接上一篇《安裝Harbor》,安裝好以後,接下來咱們使用OpenLDAP來進行Harbor web界面的登錄驗證及權限分配!html
OpenLDAP:mysql
使用OpenLDAP的都知道,這是一個集中的用戶帳號管理系統;使用輕量級目錄訪問協議(LDAP)構建集中的身份驗證系統能夠減小管理成本,加強安全性,避免數據複製的問題,並提升數據的一致性。web
隨着服務器的增長,隨着用戶權限的複雜性增長,只有幾臺服務器時,可能你還能夠每臺機器都去手動的新建幾個用戶,或者設置權限。sql
但若是是幾10、幾百、上千或者更多的機器呢?難道你還一個個的手動去新建用戶嗎?一個公司若是有着幾10、幾百或更多的人員時,難道你還能手動的操做嗎?更別說複雜的權限設置了......docker
OpenLDAP就是所以而生的其中一個集中的用戶帳號管理系統,而我認爲這也是一個比較好的管理系統。數據庫
咱們公司200左右的人,3000+的服務器,不一樣的部門,不一樣的項目,不一樣的人員,reader或者是新人,每一個人都有他們本身的帳號,不一樣的權限。咱們只能使用OpenLDAP進行這些複雜的權限帳號管理。vim
基於此,docker的registry鏡像倉庫,這麼複雜的人員分佈,這麼多的業務與項目,難道咱們也一個個的新建registry帳號或者共用一個帳號嗎?很明顯這是不可能的!瀏覽器
既然咱們上面用了Harbor,剛好Harbor也支持OpenLDAP進行帳戶管理,這也是咱們看中Harbor做爲docker registry鏡像倉庫其中重要的一點!這樣只須要維護OpenLDAP這一套系統就能夠了,跟之前徹底不衝突,也徹底不須要從新定義每一個人的用戶密碼!安全
轉載請標明出處:http://www.cnblogs.com/huangjc/p/6272938.html服務器
下面咱們就進入正式的操做吧:
Harbor默認是使用mysql數據庫進行用戶管理,那麼咱們就須要修改Harbor的配置文件:
# vim harbor.cfg #編輯以下幾行: auth_mode = ldap_auth #驗證模式 ldap_url = ldaps://172.16.100.100 #openldap server ldap_basedn = ou=people,dc=mydomain,dc=com #這個根據本身的實際狀況修改咯
保存以後,中止harbor:
docker-compose stop
而後從新執行install:
./install.sh
到此,就修改配置完成並生效啦!
接下來登錄瀏覽器測試操做並設置相關權限:
首先說明一下,我這裏發現的一個小問題:OpenLDAP的用戶須要先登錄一次Harbor界面,後續Harbor才能對其進行權限的操做;這個應該是Harbor先前並不知道OpenLDAP有這個用戶的存在,只有登錄了以後才記錄了這個用戶的緣由吧!!
固然這個也多是我設置的問題吧,後續哪位大牛看到而且有好的方法,煩請指點一下!
(1)首先登錄一個我本身的用戶,會看到只能新建本身的項目,並push/pull本身的鏡像,其餘人的倉庫都不能操做,也沒有備份策略等:
我新建了一個我本身的項目,可是沒有備份權限,也只能操做我本身的項目,能夠新加其餘用戶訪問個人項目:
登錄gxx這個用戶,發現這個用戶也能訪問我建立的項目:
(2)對用戶進行權限設置:
admin是Harbor默認的超級管理員,能夠看到全部人的項目,全部的操做均可以使用admin來進行操做,固然也能夠賦予別人爲管理員:
登錄admin後,能夠看到剛纔由huangjc用戶所建立的項目,也能夠將gxx用戶提高爲這個項目的管理員:
admin也能夠將某個用戶提高爲Harbor web的管理員,這樣這個用戶就能夠像admin同樣具備Harbor操做的全部權限:
登錄huangjc這個用戶,你就會發現,這些是管理員才擁有的權限,如今我也擁有了,我如今的權限就跟admin同樣了:
到此,Harbor的OpenLDAP的操做就這樣先吧!