안녕하세요. 오픈소스컨설팅의 Solution-Dev팀의 윤보영입니다!
이번 포스팅에서는 Atlassian의 사용자 관리 시스템인 Crowd에 대해 소개해보겠습니다.
만약 Atlassian Data Center (DC) 버전의 여러 소프트웨어를 사용하신다면 Crowd (크라우드)를 이미 사용하고 있거나 사용을 고려 중일 겁니다. Crowd에 대해 처음 알아볼 때, Atlassian 사에서 제공하는 English Document과 Crowd의 생소한 개념들을 보며 당황했던 경험이 있습니다. 오픈소스컨설팅에서 근무하며 경험한 지식으로 크라우드를 처음 사용하는 분들께 도움이 되고자 해당 포스팅을 작성하게 되었습니다.
Atlassian Crowd에 대해
Crowd는 Atlassian Datacenter 버젼에서 제공하는 사용자 인증 및 권한 관리 솔루션입니다.
따라서, Atlassian 제품군의 중앙 집중식 사용자 관리를 제공하여 조직의 사용자 계정 및 권한 관리를 보다 효율적으로 할 수 있도록 지원합니다.
Jira, Confluence 및 Bitbucket과 같은 Atlassian의 소프트웨어을 사용하는 경우, Crowd를 사용하면 SSO(Single Sign-On) 기능을 통해 여러 시스템에 한번에 접근할 수 있습니다. 이렇게 하면 사용자가 여러 사용자 이름과 암호를 기억할 필요가 없으니 필요한 시스템에 더 쉽게 접속할 수 있습니다.
또한, 관리자는 Crowd를 통해 각각의 Atlassian 솔루션에 대한 사용자 권한 및 접근 수준을 정의할 수 있습니다. 이를 통해 사용자는 작업을 수행하는 데 필요한 Atlassian 솔루션에 대한 적절한 수준의 접근 권한을 가지면서 보안 및 규정 준수를 유지할 수 있습니다.
Crowd는 사용자 관리와 SSO(Single Sign On) 이외에도 사용자 동기화 및 Directory 통합을 비롯한 다양한 기타 기능을 제공합니다. Atlassian의 자체 솔루션들과 타사 응용 프로그램을 포함하여 광범위한 응용 프로그램 및 플랫폼과 함께 사용할 수 있습니다.
>> 더 자세한 내용 확인하기 : 클릭하여 이동
Atlassian Crowd 사용자 정보 연동하기
Atlassian Crowd가 무엇인지 알아보았으니 Atlassian의 이슈 및 프로젝트 관리 애플리케이션으로 유명한 Jira와 Crowd 사용자 정보를 연동해보며 세부적인 기능에 대해 알아보겠습니다.
Crowd Directory 생성
우선, Atlassian Crowd 관리자 계정으로 접속하여 Crowd Directory를 생성합니다. Crowd Directory는 Crowd에서 제공하는 기능 중 하나로 사용자 데이터를 중앙 집중식으로 저장하고 관리합니다. Crowd Directory를 사용하면 다른 Atlassian 제품인 Jira, Confluence, Bitbucket 등에서 일관된 사용자 데이터를 사용할 수 있습니다.
Atlassian Crowd는 자체 Directory 이외에도 여러가지 사용자 데이터 저장소를 지원합니다. Atlassian Crowd에서 지원하는 서비스는 아래와 같습니다.
Type | Describtion |
---|---|
Internal Directory | Atlassian Crowd의 기본 Directory로, 내부 데이터베이스에 사용자 계정 정보를 저장합니다. 기본적으로 Atlassian 제품과 통합되어 있으며, 사용자와 권한 정보를 쉽게 관리할 수 있습니다 |
LDAP Directory | LDAP(Lightweight Directory Access Protocol)는 사용자와 컴퓨터 등의 정보를 저장하고 검색하기 위한 Directory Service Protocal입니다. Atlassian Crowd는 LDAP Directory를 지원하여, 기존의 LDAP Directory Service를 사용하여 사용자 인증 및 권한 관리를 할 수 있습니다. |
Microsoft Active Directory | Microsoft의 윈도우 운영체제에서 사용하는 Directory Service입니다. Atlassian Crowd는 Active Directory를 지원하여, 기존의 Active Directory 서비스를 사용하여 사용자 인증 및 권한 관리를 할 수 있습니다. |
OpenID Connect Directory | OpenID Connect는 웹 및 모바일 애플리케이션에서 사용자 인증 및 권한 부여를 위한 Open Standard Protocol입니다. Atlassian Crowd는 OpenID Connect Directory를 지원하여, 다른 OpenID Connect Provider를 통해 사용자 인증 및 권한 관리를 할 수 있습니다. |
Crowd Group & User 생성
Crowd Internal Directory를 사용한다면 해당 User Directory 내에 사용자 계정정보와 권한 정보를 생성하고 저장합니다.
Crowd Application 생성
Atlassian의 이슈 및 프로젝트 관리 시스템인 Jira와 연동을 위해 Crowd 내에 Jira Application을 생성합니다.
Crowd의 Application 기능을 사용하여 Atlassian의 여러 소프트웨어들과 연동하여 사용자 인증 및 권한 관리를 수행할 수 있습니다.
해당 Application을 생성하는 과정에서 입력하는 Name과 Password는 연동 시 인증을 위해 필요한 정보입니다.
Application을 생성하면서 사용자 정보를 연동할 Crowd User Directory를 선택합니다.
이제 Crowd에서 사용자 정보를 연동할 준비를 끝마쳤습니다.
Atlassian의 이슈 및 프로젝트 관리 소프트웨어인 Jira로 이동하여 Crowd를 연동해보도록 하겠습니다.
Jira User Directory 생성
Jira 관리자 계정으로 접속하여 관리자 설정의 User management 탭으로 이동하여 User Directory를 생성합니다. Directory Type을 Atlassian Crowd로 선택후, 연동할 Atlassian Crowd의 Server URL과 Jira Application 인증정보를 입력하여 Jira Application을 연동합니다.
Setting | Description |
---|---|
Name | Directory Server들 사이에서 각각의 Directory를 구별하는 이름 |
Server URL | Crowd console server의 Web URL |
Application Name | Crowd에서 연동할 Application 이름 |
Application Password | Crowd에서 연동할 Application 비밀번호 |
Setting | Description |
---|---|
Crowd permissions / Read Only | 해당 Directory의 사용자, 그룹 및 구성원은 Crowd를 통해서만 수정할 수 있습니다. |
Crowd permissions / Read/Write | 해당 Directory의 사용자, 그룹 및 구성원은 Jira 관리자 화면을 통해 사용자, 그룹 또는 구성원을 수정할 수 있습니다. 수정 사항이 Crowd에 직접 적용됩니다. |
Enable Nested Groups | Nested Groups 옵션을 활성화하면 그룹 안에 속하는 그룹을 생성할 수 있습니다. 해당 그룹은 상위 그룹의 권한을 상속받을 수 있습니다. |
Synchronization Interval (minutes) | Jira Application이 Crowd Directory와 데이터가 일치하도록 주기적으로 업데이트하는 프로세스의 간격을 설정합니다. 기본값은 60분입니다. |
생성한 Crowd Directory를 첫번째 순서로 이동시킵니다. 해당 화면의 Directory 순서는 사용자 및 그룹을 찾는 순서입니다. 만약 Jira에서 사용자 정보를 수정한다면 해당 정보는 첫번째 Directory에 반영됩니다.
이 과정을 모두 마치면 Jira의 사용자 계정 정보와 권한 정보가 Crowd Directory와 똑같이 동기화되는 것을 볼 수 있습니다.
>> 더 자세한 내용 확인하기 : 클릭하여 이동
Atlassian Crowd SSO(Single Sign-On) 연동하기
Atlassian Crowd는 사용자 정보 동기화 이외에도 SSO(Single Sign-On) 기능을 지원합니다. SSO 연동 방법은 위의 과정을 진행한 후 아래의 과정을 진행하면 됩니다.
우선, 운영 중이던 Jira 서비스를 중지한다.
1. seraph-config.xml 수정
설치한 Jira 경로의 /webapp/WEB-INF/classes/seraph-config.xml 파일을 아래와 같이 수정합니다.
100라인 주석 처리
<!-- <authenticator class="com.atlassian.jira.security.login.JiraSeraphAuthenticator"/> -->
95라인 주석 제거
<authenticator class="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>
2. crowd.properties 파일 생성
설치한 Jira 경로의 /webapp/WEB-INF/classes/crowd.properties 파일을 아래와 같이 생성합니다.
application.name Crowd에 생성한 Jira Application Name
application.password Crowd에 생성한 Jira Application Password
application.login.url [Crowd BaseURL]/console
crowd.server.url [Crowd BaseURL]/services/
crowd.base.url [Crowd BaseURL]
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
해당 과정을 수행하고 Jira를 다시 시작하면 Crowd와 Jira의 SSO 연동이 완료됩니다.
>> 더 자세한 내용 확인하기 : 클릭하여 이동
마치며
여기까지 Atlassian Crowd와 Jira와도 연동해보며 Crowd의 기능에 대해 살펴보았습니다.
해당 포스트가 Crowd를 사용하시는데 도움이 되기를 바랍니다.
이외에도 Crowd에는 더 많은 세부적인 기능들이 존재합니다. 세부적인 기능은 Atlassian 공식 문서를 통해 찾아보시는 것을 추천드립니다.
추천 포스팅
Atlassian 제품인 Jira와 Jira Service Management에 대해 자세히 알고 싶으시다면 해당 포스팅을 추천드립니다!
- Atlassian Jira 초보자를 위해 쉽게 설명해주는 Jira(지라) 기본 개념 : 클릭하여 이동
- 만능 ITSM 솔루션, Jira Service Management을 소개합니다 : 클릭하여 이동
참고자료
- https://confluence.atlassian.com/crowd/administration-guide-16482404.html
- https://confluence.atlassian.com/adminjiraserver/connecting-to-crowd-or-another-jira-application-for-user-management-938847056.html