LDAP(Lightweight Directory Access Protocol)을 사용한 사용자 관리

이 정보는 사용자를 관리할 수 있도록 LDAP 레지스트리를 구성하는 데 도움이 됩니다.

Jazz™ Team Server에 LDAP 레지스트리를 사용하려는 경우 LDAP 레지스트리를 사용하여 사용자를 인증할 수 있도록 Apache Tomcat 또는 WebSphere® Application Server를 구성해야 합니다.

Jazz Team Server와 함께 사용하도록 LDAP을 구성하려면 다음 태스크를 수행하십시오.
  1. LDAP 구성 매개변수의 이해.
  2. LDAP 구성 설정 프로세스.
  3. Apache Tomcat에서 LDAP용 웹 컨테이너 구성.
    주: Jazz Team Server 사용자 ID는 대소문자를 구분합니다. 사용자 관리에 LDAP을 사용하는 경우 대소문자 구분 안 함 옵션을 끄십시오. 서버 관리자에게 문의하거나 제품 문서를 참조하여 설정이 대소문자를 구분하는지 확인하십시오.
  4. LDAP 범주에 WebSphere Application Server를 구성하십시오.
  5. 초기 사용자를 작성하십시오. 이 사용자는 초기 Jazz Team Server 관리자입니다.
  6. LDAP 동기화 태스크 사용.
  7. 설정 마법사를 사용하여 LDAP을 사용하도록 Jazz Team Server를 구성하십시오.
  8. 사용자를 가져오십시오.

LDAP 구성 매개변수의 이해

표 1. LDAP 매개변수 및 설명
매개변수 값 설명
LDAP 레지스트리 위치 사용자 LDAP 서버를 참조하는 URL. ldap://ldap.example.com:389
사용자 이름 LDAP 서버에 로그인하는 사용자 이름. 일부 LDAP 서버에서는 익명 로그인 및 비밀번호를 허용합니다. 이 경우 매개변수는 공백입니다.
비밀번호 사용자 이름과 연관된 비밀번호입니다.
기본 사용자 DN 검색 기준은 계층 구조에서 사용자 검색을 시작하는 위치를 나타냅니다(예: "o=회사,l=사용자 구/군/시,c=사용자 국가").
사용자 특성 이름 맵핑 LDAP 레지스트리 항목 속성 이름에 대한 Jazz 사용자 특성 이름 맵핑. 다음 맵핑을 정의해야 합니다.
  • userId =[LDAP 사용자 ID]
  • name =[LDAP 사용자 이름]
  • emailAddress =[LDAP 사용자 이메일]

userid 특성은 사용자가 시스템에 로그인할 때 사용하는 사용자 ID를 식별합니다. name 특성은 사용자 인터페이스에서 이름을 렌더링하는 데 사용됩니다.

예를 들면, userId=mail,name=cn,emailAddress=mail

기본 그룹 DN 이 검색 기준은 계층 구조에서 그룹 이름 검색을 시작하는 위치를 나타냅니다(예: ou=memberlist,ou=yourgroups,o=example.com).
Jazz 대 LDAP 그룹 맵핑 Jazz 그룹과 LDAP 그룹 간 맵핑. 하나의 Jazz 그룹은 여러 LDAP 그룹에 맵핑될 수 있습니다. LDAP 그룹은 세미콜론으로 구분해야 합니다. 예를 들어 JazzAdmins=LDAPAdmins1;LDAPAdmins2는 JazzAdmins 그룹을 LDAPAdmins1 및 LDAPAdmins2에 맵핑합니다. Jazz Team Server는 다음을 사용하여 맵핑할 그룹 5개를 정의합니다.
  • JazzAdmins =[LDAP Group for Jazz admins]
  • JazzUsers =[LDAP Group for Jazz users]
  • JazzDWAdmins =[LDAP Group for Jazz Data Warehouse Admin]
  • JazzGuests =[LDAP Group for Jazz guest]
  • JazzProjectAdmins =[LDAP Group for Jazz project admins]
예: JazzAdmins= YourGroupA, JazzUsers= YourGroupB, JazzDWAdmins= YourGroupC, JazzGuests= YourGroupD, JazzProjectAdmins= YourGroupE.
그룹 이름 특성 LDAP 레지스트리의 Jazz 그룹 이름을 나타내는 LDAP 특성(예: cn). 이 특성은 조회에서 LDAP 그룹을 검색하는 데 사용됩니다. LDAP 그룹을 검색하기 위해 조회에서는 기본 그룹 DN과 그룹 이름 특성을 조합하여 사용합니다.
그룹 구성원 특성 LDAP 레지스트리의 그룹 구성원을 나타내는 LDAP 특성(예: uniquemember).

LDAP 구성 설정 프로세스

LDAP 연결을 구성하고 사용자를 가져오려면 다음 단계를 수행하십시오.
  1. 서버를 중지하십시오.
  2. 이전에 LDAP 서버를 설치하려고 한 경우 JazzInstallDir/jazz/server/tomcat/conf/server.xml 파일을 백업하십시오.
  3. 편집할 JazzInstallDir/jazz/server/tomcat/conf/server.xml 파일을 열고 다음 범주 태그의 주석을 해제하십시오.
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
  4. 파일을 저장한 후 서버를 다시 시작하십시오.
  5. 웹 브라우저 창을 열고 https://localhost:9443/jazz/setup로 이동하십시오.
  6. ADMIN/ADMIN으로 로그인하십시오(사용자 이름과 비밀번호 모두 대소문자를 구분함).
  7. 사용자 설치 단추를 클릭하십시오.
  8. 5페이지 사용자 레지스트리 설정이 표시될 때까지 다음을 클릭하십시오.
  9. 1단계 섹션의 유형에서 Tomcat 사용자 데이터베이스 단일 선택 단추를 선택하십시오.
  10. 3단계에서 기본 ADMIN 액세스 사용 안함 선택란을 선택하십시오.
  11. 4단계에서 Rational Team Concert - Developer 라이센스 선택란을 선택하십시오.
  12. 다음을 클릭하여 첫 번째 사용자를 작성하십시오.
  13. 이전을 클릭하여 5페이지 사용자 레지스트리 설정으로 되돌아가십시오.
  14. 1단계에서 LDAP 단일 선택 단추를 선택하십시오.
  15. 2 섹션의 필드를 채우십시오. 자세한 정보는 LDAP 구성 매개변수의 이해를 참조하십시오.
  16. 서버를 종료하십시오.
  17. Apache Tomcat에서 LDAP용 웹 컨테이너 구성.
  18. 서버를 다시 시작하십시오.
  19. 웹 브라우저 창을 열고 https://localhost:9443/jazz/admin으로 이동하십시오.
  20. 작성한 사용자 ID로 로그인하여 연결을 테스트하십시오.

Apache Tomcat에서 LDAP용 웹 컨테이너 구성

LDAP에 적합하게 Apache Tomcat을 구성하는 방법에 대한 추가 정보는 아래의 관련 링크를 참조하십시오. Apache Tomcat에서 LDAP용 웹 컨테이너를 구성하려면 다음 단계를 수행하십시오.
  1. 편집할 JazzInstallDir/jazz/server/tomcat/conf/server.xml 파일을 열고 다음 태그를 주석 처리하십시오.
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
  2. OID(Oracle Internet Directory)에 대해 다음 태그를 추가하십시오.
    <Realm className="org.apache.catalina.realm.JNDIRealm" 
     debug="99"
     connectionURL="ldap://ldap.company.com:389"
     roleBase="cn=Groups,dc=company,dc=com"
     roleSearch="(uniquemember={0})" 
     roleName="cn"
     userBase="cn=Users,dc=company,dc=com"
     userSearch="(uid={0})"/>
    Microsoft Active Directory에 대해 다음 태그를 추가하십시오.
    <Realm className="org.apache.catalina.realm.JNDIRealm" 
     debug="99"
     connectionURL="ldap://ldap.company.com:3268"
     authentication="simple"
     referrals="follow"
     connectionName="cn=LDAPUser,ou=Service Accounts,dc=company,dc=com"
     connectionPassword="VerySecretPassword" 
     userSearch="(sAMAccountName={0})"
     userBase="dc=company,dc=com" 
     userSubtree="true"
     roleSearch="(member={0})" 
     roleName="cn" 
     roleSubtree="true"
     roleBase="dc=company,dc=com"/>
  3. 편집할 JazzInstallDir/jazz/server/tomcat/webapps/jazz/WEB-INF/web.xml 파일을 열고 다음과 같이 보안 역할 참조를 보안 역할에 링크하여 맵핑하십시오.
    <web-app id="WebApp">
    <servlet id="bridge">
    <servlet-name>equinoxbridgeservlet</servlet-name>
    <display-name>Equinox Bridge Servlet</display-name>
    <description>Equinox Bridge Servlet</description>
    <servlet-class>org.eclipse.equinox.servletbridge.BridgeServlet</servlet-class>
    <init-param><!-- ... --></init-param>
    <!-- ... -->
    <load-on-startup>1</load-on-startup>
    
    <!-- Addendum
    LDAP 그룹 이름이 기본 Jazz 역할과 동일한 경우에는
    다음 태그를 추가할 필요가 없습니다.
    -->
    <security-role-ref>
    <role-name>JazzAdmins</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzDWAdmins</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzGuests</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzUsers</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzProjectAdmins</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    </servlet>
    <!-- ... -->
    </web-app>
    다음 태그를 사용하여 LDAP 그룹을 보안 역할로 선언하십시오.
    <web-app id="WebApp">
    <servlet id="bridge">
    <!-- ... -->
    <security-role>
    <role-name>JazzAdmins</role-name>
    <role-name>JazzDWAdmins</role-name>
    <role-name>JazzGuests</role-name>
    <role-name>JazzUsers</role-name>
    <role-name>JazzProjectAdmins</role-name>
    
    <!-- Addendum
    LDAP 그룹 이름이 기본 Jazz 역할과 동일한 경우에는
    다음 태그를 추가할 필요가 없습니다.
    -->
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name>
    <role-name>[LDAP Group for Jazz Guests]</role-name>
    <role-name>[LDAP Group for Jazz Users]</role-name>
    <role-name>[LDAP Group for Jazz Project Admins]</role-name>
    <!-- End Addendum -->
    </security-role>
    <!-- ... -->
    </web-app>
    다음 태그를 사용하여 security-constraint 섹션을 업데이트하십시오.
    <web-app id="WebApp">
    <!-- ... -->
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>secure</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    
    <auth-constraint>
    <role-name>JazzUsers</role-name>
    <role-name>JazzAdmins</role-name>
    <role-name>JazzGuests</role-name>
    <role-name>JazzDWAdmins</role-name>
    <role-name>JazzProjectAdmins</role-name>
    
    <!-- Addendum
    LDAP 그룹 이름이 기본 Jazz 역할과 동일한 경우에는
    다음 태그를 추가할 필요가 없습니다.
    -->
    
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name>
    <role-name>[LDAP Group for Jazz Guests]</role-name>
    <role-name>[LDAP Group for Jazz Users]</role-name>
    <role-name>[LDAP Group for Jazz Project Admins]</role-name>
    <!-- End Addendum -->
    
    </auth-constraint>
    
    <user-data-constarint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <!-- ... -->
    </web-app>
    Jazz 그룹을 참조하는 security-constraint마다 동일한 addendum을 반복하십시오.
    <web-app id="WebApp">
    <!-- ... -->
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>adminsecure</web-resource-name>
    <url-pattern>/admin/cmd/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>JazzAdmins</role-name>
    <!-- Addendum -->
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <!-- End addendum -->
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <!-- ... -->
    </web-app>

피드백