Jenkins原理篇——成員權(quán)限管理
之后在Jenkins的Manage Jenkins→Security 中開啟基于角色的權(quán)限策略。
圖片
然后在jenkins的配置欄里就能看到多出來的角色權(quán)限配置了。
圖片
配置角色
緊接著,我們可以配置相關(guān)的角色并且為角色分配對(duì)應(yīng)模塊的權(quán)限。角色分為3種類型,Global roles,Item roles(項(xiàng)目角色),Agent roles(和節(jié)點(diǎn)操作權(quán)限相關(guān)的角色),其中Global roles擁有最高的權(quán)限,如果為它分配job的讀寫權(quán)限,那么用戶如果綁定了這個(gè)角色,將會(huì)允許讀取所有的job,不管用戶是不是擁有的項(xiàng)目角色的權(quán)限。
!! 溫馨提示: job 和item在jenkins中的概念,都可以看成是jenkins的創(chuàng)建的編譯部署項(xiàng)目。
如下圖所示,擁有一個(gè)admin角色,擁有jenkins的所有權(quán)限,我們還創(chuàng)建了一個(gè)dev角色,擁有對(duì)jenkins界面的讀權(quán)限(可能說法不太準(zhǔn)確,但事實(shí)是如果普通角色的用戶沒有overall的讀權(quán)限,那么他進(jìn)去jenkins后將什么也不不能看,并且提示其權(quán)限不足)
圖片
接著,我們?cè)俜峙鋬蓚€(gè)針對(duì)具體構(gòu)建項(xiàng)目的角色,develop和prodev,如下圖所示,分別是針對(duì)測(cè)試環(huán)境和正式環(huán)境的項(xiàng)目創(chuàng)建的角色,其中,pattern能夠用正則表達(dá)式匹配具體構(gòu)建的項(xiàng)目名。對(duì)job的權(quán)限勾選了build,cancel,read,所以這兩個(gè)角色都能夠?qū)λ麄兛吹降木唧w項(xiàng)目擁有構(gòu)建,取消構(gòu)建和讀權(quán)限。
圖片
分配角色
接著,我們?cè)侔雅渲煤玫慕巧峙浣o具體的用戶,如下圖所示,用戶同時(shí)擁有dev,develop和prodev3個(gè)角色。
圖片
之后,用該用戶登錄jenkins可以看到正確的項(xiàng)目構(gòu)建頁面,同時(shí)擁有生產(chǎn)環(huán)境和測(cè)試環(huán)境的構(gòu)建權(quán)限。效果如下,
圖片
這里我是對(duì)用戶同時(shí)分配了對(duì)正式環(huán)境和測(cè)試環(huán)境有構(gòu)建權(quán)限的角色給一個(gè)用戶,真實(shí)開發(fā)中,可以對(duì)少部分人開啟這個(gè)權(quán)利,畢竟知道正式環(huán)境配置的人越少,系統(tǒng)越安全。