Confluence, Jira로그인에 Crowd 계정을 사용하는 방법
개요
본 가이드는 Crowd와 Atlassian Confluence를 연동하여 인증 솔루션을 제공하기 위해 작성 되었으며,
예시를 통해 Atlassian Application 별로 Access 가능/불가능 유저로 구분됩니다.
아래는 본 가이드에서 진행하는 Atlassian Application 버전은 아래와 같습니다.
Crowd → 5.1.1
Confluence → 7.19.4 LTS
Jira → 9.4.0 LTS
Atlassian Application 구성
본 가이드에서 진행하는 Atlassian Application은 아래 가이드 대로 설치 되었습니다.
Crowd: https://eocis.app/crowd-install
Confluence: https://eocis.app/confluence-install
Jira: https://eocis.app/jira-install
조직 구성
본 가이드에서 사용할 권한 구성도 입니다.
All Access → Confluence와 Jira 모두 사용이 가능한 사용자 그룹입니다.
Only Confluence → Confluence만 접근이 가능한 사용자 그룹입니다.
Only Jira → Jira만 접근이 가능한 사용자 그룹입니다.
Administrator → Crowd에 등록된 모든 Application에 접근 가능하며, 모든 관리자 권한을 가지는 그룹입니다.
1. Crowd 설정
1.1 Confluence, Jira를 위한 Crowd의 Directory/User/Group 생성
Confluence와 Jira는 Crowd에 구성된 디렉터리에 대해 사용자를 인증해야 합니다.
이에 Crowd에서 디렉터리를 설정해야 합니다.
1.1.1 Directory 생성
Crowd에서 진행
참고
Directory Type에 대한 설명은 Docs에서 확인할 수 있습니다.
1.1.2 User 생성
Crowd에서 진행
1.1.3 Group 생성
Crowd에서 진행
1.2 Group을 Directory에 연결
1.3 User를 Group에 연결
1.4 Application 추가
연결할 App은 Confluence와 Jira 입니다.
- 연동할 서비스 선택
- confluence 서버 정보 입력
- 연동할 인증 디렉터리를 선택합니다.
- 인증을 허용할 그룹을 추가합니다.
- 검토 후 추가를 완료합니다.
- 추가가 완료되면 생성한 Application의 Directory & Groups의 Access 설정을 변경합니다.
참고
기본적으로 Directory에 등록된 모든 사용자가 Application에 접근이 가능하지만 본 가이드에서는 Confluence와 Jira간 별도로 접근 권한을 가지는 그룹과 사용자를 만드는 컨셉을 가졌습니다.
2. Confluence 설정
2.1 Crowd Directory 등록
- 메뉴에 들어가서
Atlassian Crowd
를 추가합니다. - 항목에 알맞은 값을 입력하고 등록합니다.
- 디렉터리 추가 후 Confluence에서 동기화를 진행합니다.
참고
Crowd 권한의 부분은 어플리케이션에서 권한을 추가 하기 위해서는 읽기/쓰기권한을 할당 하면됩니다.
2.2 그룹에 권한 할당
- 동기화가 완료되었다면 Crowd에서 생성한 그룹 및 사용자를 확인 할 수 있습니다.
그룹에 권한을 주는 작업을 진행합니다.
각 그룹에 맞는 권한을 할당합니다.
(ABC-Company) All Access : 일반 사용자 권한
(ABC-Company) Only Confluence : 일반 사용자 권한
(ABC-Company) Administrator : 컨플루언스 관리자 권한
- 확인
3. Jira 설정
3.1 Crowd Directory 등록
- 메뉴에 들어가
Atlassian Crowd
를 추가합니다.
2.1을 참고하여 Crowd Server 구성을 작성합니다.
- Synchronise를 눌러 동기화를 진행합니다.
3.2 그룹에 권한 할당
- 동기화가 완료되었다면 Crowd에서 생성한 그룹을 추가하는 작업을 진행합니다.
- 그룹에 관리자 권한을 설정하는 방법은 아래와 같습니다.
- 확인
4. Crowd 관련 Config 설정
4.1 Confluence
4.1.1 Confluence 서비스 중단
bash /Atlassian/atlassian-confluence-7.19.4/bin/stop-confluence.sh
4.1.2 crowd.properties
파일 수정
vim /Atlassian/atlassian-confluence-7.19.4/confluence/WEB-INF/classes/crowd.properties
(아래와 같이 Crowd에서 생성한 confluence Application 정보 입력 및 Crowd 정보 입력)
application.name confluence
application.password confluence
application.login.url http://192.168.11.176:8095/crowd/console/
crowd.server.url http://192.168.11.176:8095/crowd/services/
crowd.base.url http://192.168.11.176:8095/crowd/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
4.1.3 Confluence 서비스 시작
bash /Atlassian/atlassian-confluence-7.19.4/bin/start-confluence
4.2 Jira
4.2.1 Jira 서비스 중단
bash /Atlassian/atlassian-jira-software-9.4.0-standalone/bin/stop-jira.sh
4.2.2 crowd.properties 파일 수정
Jira는 기본적으로 classes 디렉터리에 crowd.properties 파일이 존재하지 않아 생성합니다.
vim /Atlassian/atlassian-jira-software-9.4.0-standalone/atlassian-jira/WEB-INF/classes/crowd.properties
(아래와 같이 Crowd에서 생성한 confluence Application 정보 입력 및 Crowd 정보 입력)
application.name jira
application.password jira
application.login.url http://192.168.11.176:8095/crowd/console/
crowd.server.url http://192.168.11.176:8095/crowd/services/
crowd.base.url http://192.168.11.176:8095/crowd/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
4.1.3 Jira 서비스 시작
bash /Atlassian/atlassian-jira-software-9.4.0-standalone/bin/start-jira.sh
4.3 Crowd
4.3.1 Trusted proxy server 설정
하나 이상의 프록시 서버 뒤에서 애플리케이션을 실행 중인 경우 프록시의 주소를 신뢰하도록 Crowd를 구성하는 것이 유용할 수 있습니다.
프록시 서버가 HTTP 요청을 전달할 때 Crowd는 요청이 프록시 서버가 아닌 요청의 발신자로부터 온 것으로 인식합니다.
이는 서로 다른 프록시 서버 뒤에서 실행되는 여러 응용 프로그램 간에 SSO를 원하는 경우에 특히 유용합니다.
- Trusted proxy server를 등록합니다.
참고: Apache - Tomcat for Atlassian 가이드
Reference
Crowd + Confluence
- Integrating Crowd with Atlassian Confluence
https://confluence.atlassian.com/crowd/integrating-crowd-with-atlassian-confluence-198573.html
Crowd + Jira
- Integrating Crowd with Atlassian Jira
https://confluence.atlassian.com/crowd/integrating-crowd-with-atlassian-jira-192625.html
Crowd
- Crowd에서 생성하는 디렉터리 종류
https://confluence.atlassian.com/crowd/adding-a-directory-18579549.html - Confluence 및 Jira에 연동된 Crowd 그룹에 권한 할당
https://joinc.co.kr/w/man/12/crowdSSO - Trusted Proxy Server Config
https://confluence.atlassian.com/crowd/configuring-trusted-proxy-servers-158107219.html