웹 애플리케이션을 구성하기 위해 기본 인증, 양식 기반 인증 및 클라이언트 인증서 기반 인증의 세 가지 유형의 웹 로그인
인증 메커니즘을 사용할 수 있습니다. 이러한 자원에 보안 역할을 지정하여 웹 애플리케이션에서 웹 자원을 보호하십시오.
이 태스크 정보
웹 애플리케이션을 보안하려면 보호가 필요한 웹 자원을 판별하고 이를 보호하는 방법을 판별하십시오.
참고: 이 프로시저는
어셈블리 도구를 사용할 때 필요한 단계와
일치하지 않거나 사용 중인 어셈블리 도구의 버전과 일치합니다. 사용 중인 도구와 버전에 대한 지시사항을 따라야 합니다.
다음 단계를 어셈블리 도구를 사용하여 웹 애플리케이션을 보안하는 방법을 설명합니다.
프로시저
- 어셈블리 도구에서 하나 이상의 웹 모듈을 포함하는 웹 애플리케이션 아카이브(WAR) 파일 또는
애플리케이션 아카이브(EAR) 파일을 가져오십시오.
- 프로젝트 탐색기 폴더에서 웹 애플리케이션을 찾으십시오.
- 배치 디스크립터를 마우스 오른쪽 단추로 클릭하고 연결 프로그램 > 배치 디스크립터 편집기를 클릭하십시오. 배치 디스크립터 창이 열립니다. 편집기에 대한 온라인 정보를 보려면
F1을 누르고 편집기 이름을 클릭하십시오. 웹 애플리케이션 아카이브(WAR) 파일을 선택하면 웹 배치 디스크립터 편집기가 열립니다.
엔터프라이즈 애플리케이션(EAR) 파일을 선택하면 애플리케이션 배치 디스크립터 편집기가 열립니다.
- 애플리케이션 레벨 또는 웹 모듈 레벨에서 보안 역할을 작성하십시오. 보안 역할이 웹 모듈 레벨에서 작성되면 역할은 또한 애플리케이션 레벨에도 표시됩니다.
보안 역할이 애플리케이션 레벨에서 작성되면 역할은 모든 웹 모듈에 표시되지는 않습니다.
애플리케이션 레벨에서 보안 역할을 복사하여 하나 이상의 웹 모듈 보안 역할에 붙여넣을 수 있습니다.
- 웹 모듈 레벨에 역할을 작성하십시오. 웹 배치 디스크립터 편집기에서
보안 탭을 클릭하십시오. 보안 역할 아래에서 추가를 클릭하십시오.
보안 역할 이름을 입력하고, 보안 역할을 설명하고, 완료를 클릭하십시오.
- 애플리케이션 레벨에서 역할을 작성하십시오. 애플리케이션 배치 디스크립터 편집기에서 보안 탭을 클릭하십시오.
보안 역할의 목록 아래에서 추가를 클릭하십시오. 보안 역할 추가 마법사에서 보안 역할의 이름을 지정하고 설명한 다음
완료를 클릭하십시오.
- 보안 제한조건을 작성하십시오. 보안 제한조건은 하나 이상의 웹 자원을 역할 세트에
맵핑하는 것입니다.
- 웹 배치 디스크립터 편집기의 보안 탭에서 보안 제한조건을 클릭하십시오. 보안 제한조건 탭에서
다음 조치를 수행할 수 있습니다.
- 보안 제한조건 아래에서 추가를 클릭하십시오.
- 제한조건 이름 아래에서 보안 제한조건의 표시 이름을 지정하고 다음을 클릭하십시오.
- 웹 자원 콜렉션의 이름과 설명을 입력하십시오.
- 하나 이상의 HTTP 메소드를 선택하십시오. HTTP
메소드 옵션은 GET, PUT, HEAD, TRACE, POST, DELETE 및 OPTIONS입니다.
- 패턴 필드에서 추가를 클릭하십시오.
- URL 패턴을 지정하십시오. 예를 들어, -
/*, *.jsp, /hello를 입력하십시오. URL 패턴을 서블릿으로 맵핑에 대한 지시사항은 서블릿 명세 버전
2.4를 참조하십시오. 보안 런타임은 첫 번째 정확한 일치를 사용하여 URL 패턴이 있는 수신 URL을 맵핑합니다.
정확한 일치가 없는 경우에는 보안 런타임은 가장 긴 일치를 사용합니다. 와일드카드(*.,*.jsp)
URL 패턴 일치가 마지막으로 사용됩니다.
- 완료를 클릭하십시오.
- 여러 보안 제한조건을 작성하려면 이러한 단계를 반복하십시오.
- security-role-ref 및 role-name 요소를 role-link
요소에 맵핑하십시오. 웹 애플리케이션의 개발 동안에 security-role-ref 요소를 작성할 수 있습니다.
security-role-ref 요소에는 role-name 필드만이 포함됩니다. role-name 필드에는
호출자가 지정된 역할에 있는지 여부를 판별하기 위해 서블릿 또는 JSP(JavaServer Pages) 코드에서 참조되는 역할의 이름이 포함됩니다.
보안 역할은 어셈블리 단계 동안에 작성되므로 개발자는 역할-이름 필드에서 논리 역할 이름을
사용하고 어셈블러가 역할을 실제로 맵핑할 수 있도록 설명 필드에 충분한 설명을 제공합니다.
Security-role-ref 요소는 서블릿 레벨에 있습니다.
서블릿 또는 JSP(JavaServer Pages) 파일에는 0개 이상의 security-role-ref
요소가 있을 수 있습니다.
- 웹 배치 디스크립터 편집기의 참조 탭으로 이동하십시오. 참조 탭에서 배치 디스크립터에 엔터프라이즈 Bean 참조의 이름을 추가하거나 제거할 수 있습니다.
이 탭에서 다섯 개의 참조 유형을 정의할 수 있습니다.
- EJB 참조
- 서비스 참조
- 자원 참조
- 메시지 대상 참조
- 보안 역할 참조
- 자원 환경 참조
- EJB(Enterprise JavaBeans) 참조
목록 아래에서 추가를 클릭하십시오.
- 이름 및 참조 유형 필드에 참조의 이름과 유형을 지정하십시오.
- 작업장에서 엔터프라이즈 Bean 또는 작업장이 아닌 곳에서 엔터프라이즈 Bean을 선택하십시오.
- 옵션: 작업장에서 엔터프라이즈 Bean을 선택한 경우에는
유형 필드에서 엔터프라이즈 Bean의 유형을 선택하십시오. 엔티티 Bean 또는 세션 Bean을 지정할 수 있습니다.
- 옵션: 찾아보기를 클릭하여 로컬 홈 및 로컬 필드에서
다음을 클릭하기 전에 로컬 홈과 로컬 인터페이스의 값을 지정하십시오.
- 이전 단계를 사용하여 개발 중에 사용되는 모든 역할-이름을 역할에 맵핑하십시오. 개발 중에 사용되는 모든 역할 이름이 실제 역할로 맵핑됩니다.
- 서블릿 및 JSP 파일에 대해 RunAs ID를 지정하십시오. 서블릿의 RunAs ID는 서블릿 코드 내에서 엔터프라이즈 Bean을 호출하는 데 사용됩니다.
엔터프라이즈 Bean이 호출되면 RunAs ID는 엔터프라이즈 Bean에서 권한 부여 확인을 수행하기 위해 엔터프라이즈 Bean에 전달됩니다.
RunAs ID가 지정되지 않으면 클라이언트 ID가 엔터프라이즈 Bean으로 전파됩니다.
RunAs ID가 서블릿 레벨에 지정됩니다.
- 웹 배치 디스크립터 편집기의 서블릿 탭에서 서블릿 및 JSP 아래에서 추가를 클릭하십시오. 서블릿 또는
JSP 추가 마법사가 열립니다.
- 이름, 초기화 매개변수 및 URL 맵핑을 포함하여 서블릿 또는 JSP(JavaServer Pages) 파일 설정을 지정하고
다음을 클릭하십시오.
- 클래스 파일 대상을 지정하십시오.
- 다음을 클릭하여 추가 설정을 지정하거나 완료를 클릭하십시오.
- 서블릿 탭에서 실행 도구를 클릭하고 보안 역할을 선택하고 역할을 설명하십시오.
- 웹 애플리케이션이 사용하는 각 서블릿 및 JSP 파일에 대해 RunAs ID를 지정하십시오.
- 웹 모듈의 로그인 메커니즘을 구성하십시오. 이 구성된 로그인 메커니즘은 웹 모듈에서 모든 서블릿,
JSP(JavaServer) 파일 및 HTML 자원에 적용됩니다.
- 웹 배치 디스크립터 편집기의 페이지 탭을 클릭하고
로그인을 클릭하십시오. 필수 인증 메소드를 선택하십시오. 사용 가능한 메소드 값은 지정되지 않음, 기본, 다이제스트, 양식 및 클라이언트 인증서가 포함됩니다.
- 영역 이름을 지정하십시오.
- 양식 인증 메소드를 선택하는 경우에는 로그인 페이지 및 오류 페이지 웹 주소를
선택하십시오. 예를 들어, /login.jsp 또는 /error.jsp를 사용할 수도 있습니다. 지정된 로그인 및
오류 페이지는 .war 파일에 있습니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
브라우저 또는 웹 클라이언트에 클라이언트
인증서를 설치하고 클라이언트 인증서를 ClientCert가 선택된 경우 서버 신뢰 키 링 파일에 배치하십시오.
브라우저 웹 클라이언트에 클라이언트
인증서를 설치하고 ClientCert가 선택된 경우 클라이언트 인증서를 서버 신뢰 키 링 파일에 배치하십시오.
클라이언트 인증 기관의 공개 인증서는 서버
RACF® 키 링에 배치해야 합니다.
레지스트리가 로컬 OS 레지스트리인 경우에는 RACDCERT MAP 또는 동등한 SAF(System
Authorization Facility) 명령을 사용하여 클라이언트 인증서를 사용하여 MVS™ ID 작성을 사용 가능으로 설정하십시오.
- 배치 디스크립터 편집기를 닫고, 프롬프트가 표시되면 예를 클릭하여 변경사항을 저장하십시오.
결과
웹 애플리케이션을 보안한 후 결과로 나오는 웹 애플리케이션 아카이브(WAR) 파일에는
해당 배치 디스크립터에 있는 보안 정보가 포함됩니다.
웹 모듈 보안 정보는
web.xml 파일에 저장됩니다.
웹 배치 디스크립터 편집기에서 작업할 때 바인딩 정보 및
ibm-web-bnd.xmi 및
ibm-web-ext.xmi 파일의
IBM® 확장자를 포함하여 웹 프로젝트에서
다른 배치 디스크립터를 편집할 수도 있습니다.
지원된 구성: IBM
확장 및 바인딩 파일의 경우 .xmi 또는 .xml 파일 이름 확장자는
Java EE 5 이전 애플리케이션이나 모듈을 사용하는지 또는
Java EE 5 이상 애플리케이션이나 모듈을 사용하는지 여부에 따라 달라집니다. IBM
확장 또는 바인딩 파일 이름은 ibm-*-ext.xmi 또는 ibm-*-bnd.xmi입니다.
여기서, *는 확장 또는 바인딩 파일의 유형입니다(예:
app, application, ejb-jar 또는 web). 다음 조건이 적용됩니다.
- 버전 5 이전의 Java EE 버전을 사용하는 애플리케이션 또는 모듈의 경우,
파일 확장자는 .xmi여야 합니다.
- Java EE 5 이상을 사용하는 애플리케이션 또는 모듈의 경우, 파일 확장자는
.xml이어야 합니다. .xmi 파일이 애플리케이션 또는 모듈에 포함된 경우 제품에서 .xmi 파일을 무시합니다.
그러나 Java EE 5 이상 모듈은 Java EE 5 이전 파일이 포함되어 있고
.xmi 파일 이름 확장자가 사용된 애플리케이션에 있을 수 있습니다.
ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi,
ibm-portlet-ext.xmi 파일은
.xmi 파일 확장자를 계속 사용합니다.
sptcfg
다음에 수행할 작업
어셈블리 도구를 사용하여 웹 애플리케이션을 보안한 후에는 관리 콘솔을 사용하여 웹 애플리케이션을 설치할 수 있습니다.
웹 애플리케이션 설치 동안에
보안 애플리케이션 배치의 단계를 완료하여 웹 애플리케이션 보안을 완료하십시오.