LDAP를 사용하도록 Apache Tomcat 웹 컨테이너를 수동 구성

Jazz™ Team Server 설정 마법사를 사용하여 Tomcat 구성 파일을 작성한 경우에는 이 프로시저가 자동으로 완료되었고 웹 컨테이너를 구성할 필요가 없습니다.

이 태스크 정보

Apache Tomcat에서 웹 컨테이너에서 LDAP를 수동으로 구성하려면 다음 단계를 수행하십시오.

프로시저

  1. 편집할 JazzInstallDir/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"/>
    Tivoli® Directory Server에 다음 태그를 추가하고 사용자의 구성에 맞게 정보를 변경하십시오.
    <RealmclassName="org.apache.catalina.realm.JNDIRealm"
    debug="9"
    connectionURL="ldap://Machine where TDS is installed>:389"
    userBase="o=company.com"
    userSearch="(mail={0})"
    userSubtree="true"
    roleBase="o=company.com"
    roleSubtree="true"
    roleSearch="(member={0})" 
    roleName="cn"/>
  3. 편집할 JazzInstallDir/server/tomcat/webapps/app name/WEB-INF/web.xml을 여십시오. 여기서 app namejts, ccm, qm 또는 rm 등과 같은 설치된 애플리케이션입니다.
  4. 사용자가 연 파일에서 보안 역할 참조를 보안 역할로 링크하고 맵핑하십시오.
    <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 data warehouse admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzGuests</role-name>
    <role-link>[LDAP Group for Jazz guests]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzUsers</role-name>
    <role-link>[LDAP Group for Jazz users]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzProjectAdmins</role-name>
    <role-link>[LDAP Group for Jazz project 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 그룹을 참조하여 각 보안 제약 조건에 동일한 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>

피드백