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에서 진행

Directories → directory type → Internal

참고

Directory Type에 대한 설명은 Docs에서 확인할 수 있습니다.

1.1.2 User 생성

Crowd에서 진행

Users → Add user

1.1.3 Group 생성

Crowd에서 진행

Groups → Add Group

1.2 Group을 Directory에 연결

(Directory) ABC-Company → Options → Add groups

1.3 User를 Group에 연결

(Group) All Access → Direct members

1.4 Application 추가

연결할 App은 Confluence와 Jira 입니다.

  • 연동할 서비스 선택
  • confluence 서버 정보 입력
  • 연동할 인증 디렉터리를 선택합니다.
  • 인증을 허용할 그룹을 추가합니다.
  • 검토 후 추가를 완료합니다.
  • 추가가 완료되면 생성한 Application의 Directory & Groups의 Access 설정을 변경합니다.
Confluence 예시
Add Application을 눌러야 추가됩니다.
(기존) All users and groups‌ ‌(변경) Only users and groups with access rights

참고

기본적으로 Directory에 등록된 모든 사용자가 Application에 접근이 가능하지만 본 가이드에서는 Confluence와 Jira간 별도로 접근 권한을 가지는 그룹과 사용자를 만드는 컨셉을 가졌습니다.


2. Confluence 설정

2.1 Crowd Directory 등록

  • 메뉴에 들어가서 Atlassian Crowd를 추가합니다.
  • 항목에 알맞은 값을 입력하고 등록합니다.
  • 디렉터리 추가 후 Confluence에서 동기화를 진행합니다.
설정 → 사용자 디렉토리
응용프로그램 이름 과 응용프로그램 비밀번호는 1.4 Application 추가 부분에서 입력했던 정보를 입력합니다.

참고

Crowd 권한의 부분은 어플리케이션에서 권한을 추가 하기 위해서는 읽기/쓰기권한을 할당 하면됩니다.

2.2 그룹에 권한 할당

  • 동기화가 완료되었다면 Crowd에서 생성한 그룹 및 사용자를 확인 할 수 있습니다.
    그룹에 권한을 주는 작업을 진행합니다.
설정 → 글로벌 권한 → 권한 편집

각 그룹에 맞는 권한을 할당합니다.

(ABC-Company) All Access : 일반 사용자 권한
(ABC-Company) Only Confluence : 일반 사용자 권한
(ABC-Company) Administrator : 컨플루언스 관리자 권한
  • 확인
user2 로그인 성공
user3 계정만 접근되지 않는 모습을 볼 수 있습니다.

3. Jira 설정

3.1 Crowd Directory 등록

  • 메뉴에 들어가 Atlassian Crowd를 추가합니다.
User management → User Directories → Add Directory

2.1을 참고하여 Crowd Server 구성을 작성합니다.

  • Synchronise를 눌러 동기화를 진행합니다.

3.2 그룹에 권한 할당

  • 동기화가 완료되었다면 Crowd에서 생성한 그룹을 추가하는 작업을 진행합니다.
  • 그룹에 관리자 권한을 설정하는 방법은 아래와 같습니다.
  • 확인
Applications → Application access
System → Global Permissions
관리자 권한 확인
user2 계정만 접근되지 않는 모습을 볼 수 있습니다.

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를 등록합니다.
Trusted Proxy는 Proxy 서버를 등록합니다.
참고: Apache - Tomcat for Atlassian 가이드

Reference

Crowd + Confluence

Crowd + Jira

Crowd