사용자 정의 인터셉터를 사용하여 WebSphere Application Server 보안과 통합

이 절에서는 SSO 인터셉터를 작성하여 WebSphere® Application Server 보안과 통합하는 방법에 대해 설명합니다.

시작하기 전에

LDAP 사용자 신임과 함께 WebSphere Application Server에 구성해야 합니다.
참고: WebSphere Application Server 사용자가 포함되어 있는 Build Forge LDAP 도메인을 "기본" LDAP 서버로 설정해야 합니다. 이를 수행하려면, 이 Build Forge LDAP 도메인으로 이동하고 기본값으로 설정을 선택하십시오.

이 태스크 정보

제공된 양식 SSO 인터셉터가 양식 기반 로그인 페이지에서 사용자를 인증합니다. 다음은 사용자 정의 SSO 인터셉터를 작성하는 방법의 예제입니다. 사용자 정의 인터셉터가 사용자 정의 인터셉터 클래스를 사용합니다.

인터셉터 클래스에서 WebSphere Application Server에 액세스하여 인증된 사용자 신임을 얻을 수 있습니다. 이러한 신임 정보를 얻으면 해당 신임 정보가 캐시됩니다. 후속 로그인에서 캐시된 신임을 사용합니다.

권한 서비스(AuthServlet) 보호

일반적으로 Build Forge에서는 해당 서비스를 제공된 Apache Tomcat 애플리케이션 서버의 애플리케이션으로 실행합니다.

이 태스크 정보

다음 지시사항은 Tomcat 대신 WebSphere Application Server를 사용하도록 Build Forge를 구성합니다. Apache Tomcat 대신 WebSphere Application Server 사용 절의 지시사항을 수행하십시오. 단, jas.war 파일에 보안 제한조건을 추가하기 위해 추출하여 수정해야 하는 web.xml이라는 파일이 포함된 경우는 예외입니다. WebSphere Application Server에서 이 애플리케이션을 설치하기 전에, 이 파일의 보호 버전을 사용하도록 수정한 후 war 파일을 재생성해야 합니다.

war 파일을 재생성하려면 다음 단계를 완료하십시오.

프로시저

  1. jas.war 파일이 들어 있는 디렉토리로 이동하십시오(Tomcat 서버 루트에 있는 webapps 디렉토리). 이 파일을 임시 위치(예: C:\jas)에 복사하십시오.
  2. WAR 파일을 펼치십시오. 명령행에서 %IBM_JAVA_HOME%\jar –xvf jas.war 명령을 실행하여 war 파일의 컨텐츠를 펼치십시오.
    참고: Java가 사용 가능하고 IBM_JAVA_HOME 환경 변수가 작성되어 있어야 합니다.
  3. 나중에 검색하려면 jas.war 파일을 저장하십시오.
    1. Windows: copy jas.war jas.war.bak
    2. UNIX 또는 Linux: cp jas.war jas.war.bak
  4. WEB-INF 디렉토리에서 web.xml 파일(war 파일에서 펼쳐진 파일)을 찾으십시오. 이 파일을 편집하여 보안 컨텍스트를 추가하십시오. 예를 들어, </web-app> 태그 바로 앞의 파일 끝 부분에 다음 행을 추가합니다.
    <security-constraint id="SecurityConstraint_1">
             <web-resource-collection id="WebResourceCollection_1">
                <web-resource-name>/*</web-resource-name>
                <url-pattern>/AuthServlet/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
             </web-resource-collection>
             <auth-constraint id="AuthConstraint_1">
                <description>myconstraint:+:</description>
                <role-name>User</role-name>
             </auth-constraint>
             <user-data-constraint id="UserDataConstraint_1">
                <transport-guarantee>NONE</transport-guarantee>
             </user-data-constraint>
          </security-constraint>
          <login-config id="LoginConfig_1">
             <auth-method>BASIC</auth-method>
             <realm-name>full-qualified-domain</realm-name>
          </login-config>
          <security-role id="SecurityRole_1">
             <role-name>User</role-name>
          </security-role>
    참고: <auth-method>는 WebSphere Application Server에서 지원되는 모든 J2EE 인증 메소드일 수 있습니다. 가장 공통적인 인증 메소드는 추가 구성 매개변수가 필요한 FORM입니다. 애플리케이션에서의 FORM 구성에 대한 지시사항은 WebSphere Application Server 문서를 참조하십시오.
  5. 명령행에서 다음 명령을 실행하여 war 파일(파일이 추출된 동일한 디렉토리에서 호출됨)을 재생성하십시오.
    %IBM_JAVA_HOME%\jar –cvf  jas.war

    이제 J2EE 제한조건과 함께 AuthServlet을 보호하도록 수정된 새 버전의 jas를 사용할 수 있습니다. WebSphere Application Server에서의 실행을 위한 설치 지시사항을 완료하고 애플리케이션->새 애플리케이션 설치를 통해 이 버전의 jas.war을 설치하십시오. WebSphere Application Server를 구성하는 동안 Build Forge가 실행되고 있지 않은지 확인하십시오.

    설치 후, 애플리케이션 > 엔터프라이즈 애플리케이션으로 이동하십시오. 애플리케이션 이름을 클릭하여 구성합니다. 세부사항 특성에서 사용자/그룹에 대한 보안 역할 맵핑 링크를 클릭하십시오. 사용자의 경우 모두 인증됨 선택란을 선택하십시오. 내용을 변경한 후, 마스터 구성에 대한 변경사항을 저장하십시오.

    또한 WebSphere Application Server에서 애플리케이션 보안을 사용하도록 설정해야 합니다. 이를 수행하려면 보안 > 보안 관리, 애플리케이션 및 인프라스트럭처로 이동하십시오. 애플리케이션 보안 사용이 선택되어 있는지 확인하십시오.

    이때, WebSphere Application Server를 다시 시작한 후 Build Forge 서버를 다시 시작하십시오.
    참고: jas는 Build Forge 시작 전에 WebSphere Application Server를 시작해야 하므로 WebSphere Application Server 시작 프로세스의 일부로 시작됩니다.

새 SSO 구성 작성

새 SSO 구성을 작성하여 인터셉터를 사용하십시오.

프로시저

  1. Build Forge 콘솔에서 관리 > 보안 > SSO로 이동하십시오.
  2. SSO 구성 추가를 클릭하십시오.
  3. 구성에 대한 특성을 설정하십시오.
    • 이름 - 이 구성의 이름을 입력합니다.
    • Java 클래스 - com.buildforge.services.server.sso.was.WebSphereSSOInterceptor를 입력합니다.
    • 활성 - 를 선택합니다.
  4. 저장을 클릭하십시오.
  5. 목록에서 처음 표시되도록 이 구성을 이동하십시오. 구성 이름의 왼쪽에 있는 메뉴에서 맨 위로 이동을 선택합니다.

LDAP 사용자 또는 LDAP 그룹을 로컬 사용자에 맵핑

LDAP 사용자 또는 LDAP 그룹을 로컬 사용자(예: 로컬 루트 사용자)에 맵핑합니다.

이 태스크 정보

WebSphere Application Server SSO 인터셉터를 작성한 후, 인터셉터를 구성하여 다음과 같은 작업을 수행할 수 있습니다.
  • LDAP 사용자를 로컬 사용자에 맵핑(루트 포함)
  • LDAP 그룹을 루트와 같은 로컬 사용자에 맵핑

맵핑을 설정하려면 환경을 정의한 후 인터셉터에서 해당 환경을 참조하십시오.

환경 정의

프로시저

  1. Build Forge 콘솔에서 환경을 클릭하십시오.
  2. 환경의 이름을 지정하고 환경 저장을 클릭하십시오.
  3. LDAP 사용자를 로컬 사용자에 맵핑하려면 다음 변수를 설정하고 저장하십시오.
    1. ldap_user_list_mappingLDAP_user1|local_user1;LDAP_user2|local_user2;LDAP_user3|local_user3으로 설정
    2. ldap_realm_nameLDAP_domain_name으로 설정
    예를 들어, 다음 환경이 설정된 것으로 가정합니다.
    		ldap_user_list_mapping = user1|root;user2|root;user3|root
    		ldap_realm_name = bluepages.ibm.com:389

    이 경우 LDAP user1, user2 및 user3이 모두 로컬 루트 사용자에 맵핑됩니다.

  4. 특정 LDAP 그룹의 구성원을 로컬 사용자에 맵핑하려면 다음 변수를 설정하고 저장하십시오.
    1. ldap_group_name_mappingLDAP_group|local_user로 설정
    2. ldap_realm_nameLDAP_domain_name으로 설정
    참고: 두 가지 유형의 맵핑을 모두 사용하는 경우 사용자 맵핑이 그룹 맵핑보다 우선적으로 적용됩니다.
    그룹 맵핑의 예로 다음 환경이 설정된 것으로 가정합니다.
    		ldap_group_name_mapping = cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com|root
    		ldap_realm_name = bluepages.ibm.com:389

    이 경우 LDAP 그룹 cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com의 구성원이 로컬 루트 사용자에 맵핑됩니다.

환경 참조

프로시저

  1. Build Forge 콘솔에 관리 > 보안 > SSO를 클릭하십시오.
  2. WebSphere Application Server SSO 인터셉터의 이름을 클릭하십시오.
  3. 구성의 환경 특성을 방금 정의한 환경으로 설정하십시오.
  4. 저장을 클릭하십시오.
  5. 목록에서 처음 표시되도록 이 구성을 이동하십시오. 구성 이름의 왼쪽에 있는 메뉴에서 맨 위로 이동을 선택합니다.

SSO 사용자 정의 인터셉터 실행

이제 새 구성을 사용하여 로그인할 수 있습니다.

이 태스크 정보

이제 이 사용자 정의된 SSO 인터셉터에서 Build Forge에 사용자로 전달되는 AuthServlet 요청을 통해 사용자를 인증하는 WebSphere Application Server 보안 기술을 사용할 수 있습니다.

프로시저

  1. 웹 브라우저를 열고 http://localhost 주소를 입력하십시오. Build Forge 로그인 양식 대신, 인증 페이지가 표시됩니다.
  2. 사용자 신임을 입력하고 Enter를 클릭하십시오.
    참고: 인증 후, 로그인이 자동으로 발생합니다.

    로그아웃하면, 로그인 양식 대신 기본 jsp 페이지가 표시됩니다. 사용자가 여전히 인증된 상태인 경우 후속 로그인은 자동으로 수행됩니다.

양식 기반 SSO로 되돌리기

SSO 로그인 양식을 사용하도록 되돌릴 수 있습니다.

이 태스크 정보

양식 로그인을 사용하도록 시스템을 다시 구성하려면, WebSphere Application Server에서 jas를 설치 제거하고 원래 jas.war 파일을 다시 설치해야 합니다. Build Forge에서 양식 기반 SSO 인터셉터가 사용 가능하고 맨 위 항목으로 나열되는지 확인하십시오. 사용자 정의 WebSphere Application Server 인터셉터를 사용하지 않도록 설정하십시오. 변경사항을 사용하도록 설정하려면, WebSphere Application Server 및 Build Forge를 다시 시작해야 합니다.

프로시저

  1. jas를 설치 제거하고 원래 jas.war 파일을 다시 설치하십시오.
  2. Build Forge에서 양식 SSO 인터셉터가 사용 가능하고 맨 위 항목으로 나열되는지 확인하십시오(위의 "Build Forge SSO 보안 구성" 참조).
  3. 사용자 정의 WebSphere Application Server 인터셉터를 사용하지 않도록 설정하십시오.
  4. WebSphere Application Server를 다시 시작하십시오.
  5. Build Forge를 다시 시작하십시오.

피드백