公司運(yùn)行了jira,confluence亮钦,fisheye馆截。但每次登錄都需要輸入多次用戶名密碼,覺(jué)得不太方便蜂莉,所以需要對(duì)它們實(shí)現(xiàn)單點(diǎn)登錄蜡娶,crowd作為Atlassian單點(diǎn)登錄的產(chǎn)品,可以用于集中用戶映穗、用戶組管理窖张,方便權(quán)限控制。
crowd安裝參考:http://www.reibang.com/p/2839c8bc409d
前期準(zhǔn)備:
目標(biāo):在crowd創(chuàng)建一組用戶分別用于jira蚁滋,confluence宿接,fisheye系統(tǒng)中赘淮。
實(shí)現(xiàn):在同一個(gè)session的瀏覽器中可以在三個(gè)應(yīng)用的切換。
-
使用管理員登錄crowd睦霎,新建一個(gè)Directory作為jira梢卸,confluence,fisheye的通用目錄副女。
image.png
image.png -
在crowd中創(chuàng)建用戶組和用戶
創(chuàng)建組蛤高,我新建了三個(gè)組用于后期在confluence和jira中的分權(quán)。
image.png
image.png
創(chuàng)建用戶,如下
image.png
1.實(shí)現(xiàn)crowd與jira的集中認(rèn)證和單點(diǎn)登錄
crowd端創(chuàng)建應(yīng)用程序
crowd端添加應(yīng)用程序,注意:要記住這塊填寫的密碼碑幅,后面會(huì)用到
連接戴陡,添加遠(yuǎn)端jira的url地址
添加授權(quán)和認(rèn)證的目錄
授權(quán),可以選擇特定的組進(jìn)行認(rèn)證沟涨,我這邊所有用戶都要認(rèn)證恤批。
確認(rèn)添加
應(yīng)用程序創(chuàng)建完畢
jira端添加目錄實(shí)現(xiàn)集中認(rèn)證配置
登錄Jira的管理部分
單擊“ 用戶管理”下左側(cè)欄的“ 用戶目錄 ”標(biāo)簽。 標(biāo)簽拷窜。
點(diǎn)擊“ 添加目錄 ”开皿。然后從下拉列表中選擇“ Atlassian Crowd ”涧黄。單擊“ 下一步 ”篮昧。
輸入連接參數(shù)并保存。現(xiàn)在笋妥,新的Crowd目錄應(yīng)該出現(xiàn)在用戶目錄列表中,創(chuàng)建完如下屠尊,可以通過(guò)順序調(diào)整內(nèi)部目錄和外部目錄的權(quán)限:
-
如果crowd用戶無(wú)法登陸般堆,注意修改應(yīng)用程序訪問(wèn)權(quán),賦予crowd組應(yīng)用程序訪問(wèn)權(quán)。
image.png -
可以通過(guò)用戶組編輯crowd組中用戶的權(quán)限清女。
image.png
jira&crowd單點(diǎn)登錄認(rèn)證實(shí)現(xiàn)
上一步驟只是實(shí)現(xiàn)了集中認(rèn)證,現(xiàn)在我們來(lái)配置jira的SSO單點(diǎn)登錄
1 如果jira正在運(yùn)行先馆,請(qǐng)先關(guān)閉它
2 編輯JIRA/atlassian-jira/WEB-INF/classes/seraph-config.xml文件红氯。注釋掉authenticator 節(jié)點(diǎn):
<!--<authenticator class="com.atlassian.jira.security.login.JiraSeraphAuthenticator"/>-->
取消注釋包含新驗(yàn)證器的行
<authenticator class="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>
3 將crowd.properties文件復(fù)制CROWD/client/conf/到JIRA/atlassian-jira/WEB-INF/classes。
4 編輯JIRA/atlassian-jira/WEB-INF/classes/crowd.properties嚷辅。更改以下屬性:
application.name jira
application.password xxxxx
application.login.url http://192.168.1.202:8095/crowd/console/
crowd.server.url http://192.168.1.202:8095/crowd/servicess
/
crowd.base.url http://192.168.1.202:8095/crowd/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
cookie.tokenkey crowd.token_key
5 啟動(dòng)jira進(jìn)行測(cè)試
2.實(shí)現(xiàn)crowd與confluence的集中認(rèn)證和單點(diǎn)登錄
crowd端創(chuàng)建應(yīng)用程序
-
如jira那步添加應(yīng)用程序簿姨,應(yīng)用程序創(chuàng)建完畢,這個(gè)時(shí)候?qū)崿F(xiàn)了對(duì)jira做集中認(rèn)證簸搞,就是用戶在confluence出現(xiàn)了crowd的用戶組和用戶扁位。
image.png
confluence端添加目錄實(shí)現(xiàn)集中認(rèn)證配置
-
此時(shí)crowd用戶已經(jīng)出現(xiàn)在confluence中,但是此時(shí)他們是無(wú)法登陸的趁俊,需要為他們添加全局權(quán)限
image.png
否則匿名訪問(wèn)是不可訪問(wèn)的域仇。
- 可以通過(guò)編輯用戶組編輯用戶的權(quán)限
confluence&crowd單點(diǎn)登錄認(rèn)證實(shí)現(xiàn)
1 如果Confluence正在運(yùn)行,請(qǐng)先將其關(guān)閉寺擂。
2 現(xiàn)在暇务,編輯文件CONFLUENCE/confluence/WEB-INF/classes/seraph-config.xml
注釋掉該行:-
<!-- <authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/> -->
取消注釋該行: -
<authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/>
3 將crowd.properties文件復(fù)制CROWD/client/conf/到CONFLUENCE/confluence/WEB-INF/classes泼掠。
4 編輯CONFLUENCE/confluence/WEB-INF/classes/crowd.properties。更改以下屬性:
application.name confluence
application.password xxxx
application.login.url http://192.168.1.202:8095/crowd/console/
crowd.server.url http://192.168.1.202:8095/crowd/servicess
/
crowd.base.url http://192.168.1.202:8095/crowd/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
cookie.tokenkey crowd.token_key
取消SSO單點(diǎn)登錄
可以在Confluence中定義多個(gè)用戶目錄般卑。但是武鲁,如果啟用Crowd SSO集成,則只能從crowd.properties文件中定義的Crowd服務(wù)器進(jìn)行身份驗(yàn)證蝠检。
要使用其他目錄(例如Confluence Internal Directory)中的用戶登錄沐鼠,您需要:
在Confluence管理控制臺(tái)中,轉(zhuǎn)到用戶目錄并禁用Crowd Server目錄叹谁,或
通過(guò)恢復(fù)默認(rèn)的Confluence身份驗(yàn)證器來(lái)禁用群組SSO饲梭。
禁用Crowd SSO的步驟:
1 如果當(dāng)前正在運(yùn)行,請(qǐng)關(guān)閉Confluence
2 編輯文件 CONFLUENCE/confluence/WEB-INF/classes/seraph-config.xml
3 取消注釋默認(rèn)的Confluence驗(yàn)證器
<authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/>
注釋SSO身份驗(yàn)證
<!-- <authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/> -->
重新啟動(dòng)Confluence
3.實(shí)現(xiàn)crowd與fisheye的集中認(rèn)證和單點(diǎn)登錄
crowd端創(chuàng)建應(yīng)用程序
-
如jira那步添加應(yīng)用程序焰檩,應(yīng)用程序創(chuàng)建完畢憔涉,這個(gè)時(shí)候?qū)崿F(xiàn)了對(duì)jira做集中認(rèn)證,就是用戶在fisheye出現(xiàn)了crowd的用戶組和用戶析苫。
image.png
fisheye端添加目錄實(shí)現(xiàn)集中認(rèn)證配置
-
添加全局權(quán)限
image.png -
可以修改用戶權(quán)限
image.png
crowd&fisheye實(shí)現(xiàn)SSO單點(diǎn)登錄
crowd權(quán)限:
Fisheye 為Crowd目錄提供 只讀權(quán)限兜叨。Crowd目錄中的用戶,組和成員資格是從Crowd中檢索的衩侥,只能從Crowd中進(jìn)行修改国旷。您無(wú)法使用魚眼管理屏幕修改群組用戶,組或成員身份茫死。
設(shè)置Crowd目錄后跪但,您可以通過(guò)將以下設(shè)置添加到$FISHEYE_INST/config.xml 文件來(lái)啟用或禁用Crowd SSO集成 (如果它們尚不存在,您可以創(chuàng)建缺少的xml節(jié)點(diǎn))峦萎。默認(rèn)情況下屡久,如果未配置SSO,則會(huì)禁用SSO config.xml
CONFIG.XML中(增加目錄時(shí)出現(xiàn)的語(yǔ)句)
<config>
...
<!-- crowd sso支持 -->
<crowd sso-enabled="true"/>
<admins><system-admins><user>changhuanyan</user><group>administrator crowd users</group></system-admins></admins><avatar><disabled/></avatar><emailVisibility visibility="visibleToUsers"/></security>
...
</config>
4 問(wèn)題匯總:
Q1:jira 中添加目錄
坑爱榔,在填寫這一步驟時(shí)被环,代理服務(wù)器用戶名總是莫名自動(dòng)填寫上admin,導(dǎo)致沒(méi)法通過(guò)详幽,正常代理服務(wù)器這塊不需要填寫筛欢,后來(lái)發(fā)現(xiàn)原來(lái)是瀏覽器記住密碼,默認(rèn)填寫導(dǎo)致妒潭,刪除瀏覽器記住密碼即可
Q2:權(quán)限設(shè)置問(wèn)題
corwd首先作為一個(gè)集中認(rèn)證的地方悴能,將用戶同步到j(luò)ira,wiki中雳灾,之后再各自對(duì)jira漠酿,wiki中添加的組做權(quán)限即可
Q3:crowd目前只實(shí)現(xiàn)了集中認(rèn)證,SSO谎亩。沒(méi)有實(shí)現(xiàn)域名支持
解決:重新配置sso單點(diǎn)登錄并且關(guān)注
vim confluence_home/confluence/WEB-INF/classes/seraph-config.xml 注釋43行炒嘲,取消注釋48行
vim jira_home/atlassian-jira/WEB-INF/classes/seraph-config.xml 注釋98行宇姚,取消注釋94行
Q4:jira到fisheye的display url顯示名為http:hostname:8060 直接在左上角的導(dǎo)航頁(yè)面無(wú)法直接跳轉(zhuǎn)
解決:修改http bind參數(shù),默認(rèn)是:8060 修改后可以在/fisheye/fecru-4.7.0/config.xml中查看到
參考:https://confluence.atlassian.com/fisheye041/configuring-the-fisheye-web-server-847745899.html
參考:
https://confluence.atlassian.com/crowd/integrating-crowd-with-atlassian-jira-192625.html#IntegratingCrowdwithAtlassianJira-ConfigJIRA
https://confluence.atlassian.com/crowd/integrating-crowd-with-atlassian-confluence-198573.html
https://confluence.atlassian.com/fisheye/connecting-to-crowd-960155581.html
https://confluence.atlassian.com/crowd/overview-of-sso-179445277.html
crowd對(duì)接jenkins